Вопрос по информатике:
Объясните, почему программа не выдает результата?
program friday;var n,a,l,i:longint;k,p:integer;label goback;beginwrite('введите месяцы и день');read(n,k);if k<=5 thenp:=1+(5-k);if k=6 thenp:=7;if k=7 thenp:=6;a:=0;l:=0;for i:=1 to n dobegingoback:l:=l+1;p:=p+7;if p>30 thenp:=p-30;if p=13 thenbegina:=a+1;goto gobackendelse goto goback;if l=n thenbreakend;write(a)end.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 18.09.2018 05:57
- Информатика
- remove_red_eye 5398
- thumb_up 35
Ответы и объяснения 1
Очевидно, что успешность выполнения завершения цикла зависит от значения P, так как в любом случаи, если P != 13, вы возращаетесь в начало цикла.
Маленькое лирическое отступление:
Отформатированный код будет приведен в коментариях, если кому-то не ясно.
Ваш код сложно назвать "спагетти кодом", т.к. у вас все довольно очевидно, с тем лишь отличием, что вы используете дериктиву goto, от неё откажитесь в вашей практике, сложнее понять как будет функционировать ваша программа, хотя вашем коллегам по старше будет это очевидно, при наличии опыта.
P.S.
Создайте новый вопрос с описанием задачи и скиньте мне сообщением ссылку.
Спасибо за отметку "Лучший ответ" и нажатую кнопочку "спасибо" тут и в моем профиле.
- 19.09.2018 00:59
- thumb_up 34
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.