Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
1

Перевести блок-схему в алгоритмический язык

16.05.2017, 21:36. Просмотров 952. Ответов 24
Метки нет (Все метки)

Вот сама задача (если она вам нужна):
Написать программу вычисления стоимости покупки с учетом скидки. Скидка 3% предоставляется, если сумма покупки больше 500 рублей; 5% – если сумма больше 1000 рублей; 7% – 5000 рублей.
0
Миниатюры
Перевести блок-схему в алгоритмический язык  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2017, 21:36
Ответы с готовыми решениями:

алгоритмический язык
Помогите пожалуйста! нужно записать алгоритм в виде блок-схемы и на алгоритмическом языке В...

алгоритмический язык и С++
Извиняюсь если не туда пишу, сижу на зачёте по информатике срочно нужна помощь!! необходимо...

Алгоритмический язык
Недавно наткнулся на тему "Способ записи алгоритма" и меня заинтересовал алгоритмический язык. Но...

Алгоритмический Язык/АЯ/
Здравствуйте, решил самостоятельно изучить языки программирования, решил для начала изучить АЯ и...

задача на русский алгоритмический язык
ЗАДАНИЕ: "Многочлен степени N задан массивом своих коэффициентов. Напечатать массив коэффициентов...

24
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
16.05.2017, 21:37  [ТС] 2
Вот мой вариант:
алг вычисление стоимости покупки с учетом скидки (арг вещ s рез вещ N)
нач
| ввод s
| если s>500
| | то i=3%
| | N=s-(s/100*i)
| вывод N
| все
| | иначе если s>1000
| | | то i=5%
| | | N=s-(s/100*i)
| | вывод N
| | все
| | | иначе если s>5000
| | | | то i=7%
| | | | N=s-(s/100*i)
| | | вывод N
| | | все
| | | | иначе если s<=500
| | | | | то i=0%
| | | | | N=s-(s/100*i)
| | | | вывод N
| | | | все
кон
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
17.05.2017, 11:07 3
Блок-схема некорректна. Начнем с того, что из блока "прямоугольник" может выходить только одна стрелка.
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
17.05.2017, 18:25  [ТС] 4
Исправил, где ещё ошибки?
0
17.05.2017, 18:25
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
17.05.2017, 18:55 5
Цитата Сообщение от Rogue2106 Посмотреть сообщение
Исправил
не вижу

Добавлено через 12 минут
Цитата Сообщение от Rogue2106 Посмотреть сообщение
где ещё ошибки?
вот еще два момента:

На вашей блок-схеме есть стрелка вверх, заводящая повторно на первое сравнение. Допустим алгоритм пошел по этому пути и управление перешло с последнего сравнения снова на первое. Но ведь при выполнении сравнений ничего не меняется, значит сравнения пойдут по тому же пути и снова дойдут до стрелки вверх и т.д. бесконечно. В корректной блок-схеме заведомо бесконечных повторений быть не должно.

На вашей блок-схеме и в алгоритме есть команды вида "i=5%". Что по вашему мнению делает эта команда?
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
18.05.2017, 18:47  [ТС] 6
Вот переделал блок-схему.
0
Миниатюры
Перевести блок-схему в алгоритмический язык  
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
18.05.2017, 18:53  [ТС] 7
Вот псевдокод:
алг вычисление стоимости покупки с учетом скидки (арг вещ s рез вещ N)
нач
| ввод s
| если s>5000
| | то i=7%
| | N=s-(s/100*i)
| вывод N
| все
| | иначе если s<5000 и s>1000
| | | то i=5%
| | | N=s-(s/100*i)
| | вывод N
| | все
| | | иначе если s>500и s<1000
| | | | то i=3%
| | | | N=s-(s/100*i)
| | | вывод N
| | | все
| | | | иначе i=3%
| | | | N=s-(s/100*i)
| | | вывод N
| | | все
кон

Всё правильно?
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
18.05.2017, 19:03 8
Цитата Сообщение от Sindbad_M Посмотреть сообщение
На вашей блок-схеме и в алгоритме есть команды вида "i=5%". Что по вашему мнению делает эта команда?
не вижу ответа

Ок. Блок-схема выглядит существенно лучше. Обратите внимание, псевдокод и блок-схема должны описывать один и тот же алгоритм. Именно, не дающий такой же результат, сам алгоритм должен совпадать! Посмотрите на блок схему, сколько на ней прямоугольников вида "N=..."? А сколько команд такого вида в псевдокоде? А должно быть одинаково, каждому блоку в блок-схеме соответствует ровно одна команда псевдокода. У вас псевдокод не соответствует блок-схеме.
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
18.05.2017, 19:09  [ТС] 9
Скидка 3% предоставляется, если сумма покупки больше 500 рублей; 5% – если сумма больше 1000 рублей; 7% – 5000 рублей. Мы приравниваем i к определенным процентам
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
18.05.2017, 19:15 10
Цитата Сообщение от Rogue2106 Посмотреть сообщение
Мы приравниваем i к определенным процентам
Вот это поподробнее.
Разбираем просто команду, без анализа нужна она в этом месте или нет. Что означает запись вида "i=2%"? Можно цитировать учебник или конспект.

Нет такой команды "приравниваем" ни в блок-схемах, ни в псевдокоде.
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
18.05.2017, 23:01  [ТС] 11
Тогда присваиваем i1=3%, i2=5%, i3=7%.
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
19.05.2017, 09:15 12
Цитата Сообщение от Rogue2106 Посмотреть сообщение
Тогда присваиваем i1=3%, i2=5%, i3=7%.
Не, не, не. Так вообще никуда не годится. Не надо ничего менять, никаких i1, i2, i3 у вас не было, не надо их на ходу придумывать.

Вот еще вопрос/намек - почему присваивая значение i вы ставите значок процента, а присваивая значение N не ставите значок рубля?
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
23.05.2017, 11:56  [ТС] 13
Может так?
0
Миниатюры
Перевести блок-схему в алгоритмический язык  
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
23.05.2017, 11:59  [ТС] 14
алг вычисление стоимости покупки с учетом скидки (арг вещ s рез вещ N)
нач
| ввод s
| если s>5000
| | то N=s-(s/100*7%)
| вывод N
| все
| | иначе если s<5000 и s>1000
| | | то | | | N=s-(s/100*5%)
| | вывод N
| | все
| | | иначе если s>500и s<1000
| | | | то N=s-(s/100*3%)
| | | вывод N
| | | все
| | | | иначе N=s-(s/100*0%)
| | | вывод N
| | | все
кон
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
23.05.2017, 12:33 15
1. Сколько у вас в блок-схеме блоков "вывод N"? Вот столько же должно их быть и в программе.

2. По какой ветке пройдут вычисления (и какой получится результат) в случае S равного 5000 ?
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
23.05.2017, 17:56  [ТС] 16
Теперь так?
0
Миниатюры
Перевести блок-схему в алгоритмический язык  
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
23.05.2017, 17:56  [ТС] 17
алг вычисление стоимости покупки с учетом скидки (арг вещ s рез вещ N)
нач
| ввод s
| если s>5000
| | то N=s-(s/100*7%)
| все
| | иначе если s<5000 и s>1000
| | | то | | | N=s-(s/100*5%)
| | все
| | | иначе если s>500и s<1000
| | | | то N=s-(s/100*3%)
| | | все
| | | | иначе N=s-(s/100*0%)
| | | все
| | | вывод N
кон
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
23.05.2017, 19:23 18
Теперь вы близки к окончательному решению. Но не достигли его.

1. Если поменяли условие в первом ветвлении, то надо вносить аналогичное изменение и в псевдокод.

2. Но сначала подумать, ведь поменяли-то вы условие неправильно. В условии сказано:
Цитата Сообщение от Rogue2106 Посмотреть сообщение
предоставляется, если сумма покупки больше
т.е. условие строгое, 5000 руб. - скидка 5%, 5001 руб. - скидка 7%. А у вас как?
0
Rogue2106
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
23.05.2017, 19:47  [ТС] 19
Тогда зачем это?
Цитата Сообщение от Sindbad_M Посмотреть сообщение
2. По какой ветке пройдут вычисления (и какой получится результат) в случае S равного 5000 ?
если в предыдущем алгоритме стоял строгий знак?
0
Sindbad_M
125 / 124 / 37
Регистрация: 23.05.2016
Сообщений: 497
23.05.2017, 19:56 20
Цитата Сообщение от Rogue2106 Посмотреть сообщение
если в предыдущем алгоритме стоял строгий знак?
Вопрос "зачем" странный. Вы хотите сказать что алгоритм из сообщения № 13 работает корректно для любых S?
Ок, подскажу: С чего вы решили что ошибка в условии первого ветвления? Первое ветвление как раз идеально.
0
23.05.2017, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2017, 19:56

Алгоритмический язык без циклов
Столкнулся с разновидностью алгоритмического языка которому учат на информатике студ 1 курса МИИТ....

Дракон - визуальный алгоритмический язык программирования и моделирования
Приветствую Дракон - https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D ...

Постройте блок-схему к задаче. Задача: Перевести часы и минуты в минуты и секунды
Постройте блок-схему к задаче. Задача: Перевести часы и минуты в минуты и секунды


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru