
Митрофанович
5 год назад
Объясните, почему программа не выдает результата?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.
ОТВЕТЫ

Ignat
Oct 24, 2020
Программа не работает, по тому, что в цикле после условия "if p=13", в блоке else у вас идет "зацикливание". По goto вы прыгаете опять обратно в начало итерации цикла.
Маленькое лирическое отступление:
Ваш код сложно назвать "спагетти кодом", т.к. у вас все довольно очевидно, с тем лишь отличием, что вы используете дериктиву , от неё откажитесь в вашей практике, сложнее понять как будет функционировать ваша программа, хотя вашем коллегам по старше будет это очевидно, при наличии опыта.
P.S.
Создайте новый вопрос с описанием задачи и скиньте мне сообщением ссылку.
Спасибо за отметкуи нажатую кнопочкутут и в моем профиле.
Маленькое лирическое отступление:
Ваш код сложно назвать "спагетти кодом", т.к. у вас все довольно очевидно, с тем лишь отличием, что вы используете дериктиву , от неё откажитесь в вашей практике, сложнее понять как будет функционировать ваша программа, хотя вашем коллегам по старше будет это очевидно, при наличии опыта.
P.S.
Создайте новый вопрос с описанием задачи и скиньте мне сообщением ссылку.
Спасибо за отметкуи нажатую кнопочкутут и в моем профиле.
91
Смежные вопросы: