pascal Урок 13.1 задание 10 Вопрос по решению
Primary tabs
При решении задания 10 из урока 13.1:
Модифицируйте предыдущую задачу так, чтобы в каждой чётной (той, у которой номер чётный) строке выводилось N символов, а в каждой нечетной N/2 символов (сделайте проверку того, что N/2 больше нуля)
возникла проблема, а именно -- Не могу вывести правильно нечетную строку.
var a, i,j,m,n:integer; begin writeln('vvedite chislo m:'); readln(m); writeln('vvedite chislo n:'); readln(n); a := n mod 2; for i:=1 to m do begin // начало тела внешнего цикл for j:=1 to n do // (вложенный цикл) выводим все числа до n if ((i mod 2) = 1) then write(j, ' '); if ((i mod 2) = 0) then write(a, ' '); if (n/2 < 0) then write(' oshibka'); writeln(); // перенос строки end; readln(); end.
- Log in to post comments
- 12843 reads
vedro-compota
Mon, 02/10/2020 - 15:01
Permalink
оформление
_____________
матфак вгу и остальная классика =)
vedro-compota
Mon, 02/10/2020 - 16:56
Permalink
форматирование
Начнем того, что неправильно отформатирован блок:
- begin должен быть под end,
также неправильно отформатирован блок:
-- почему if-ы идут один по одним? Вы считаете, что они относятся к внутреннему циклу?
Если вы хотите чтобы они относились к внутреннему циклу, ставьте
. В данный момент не все из них относятся к внутреннему,
а значит форматирование должно быть другим.
_____________
матфак вгу и остальная классика =)
pakot
Thu, 02/13/2020 - 09:27
Permalink
Переделал скрипт, не
Переделал скрипт, не получается нечетную строку уменьшить в 2-а раза.
vedro-compota
Wed, 02/12/2020 - 20:11
Permalink
что за что
напишите за что отвечает внутренний цикл, за что внешний?
Зачем почему вообще вы пытаетесь решить вложенными циклами?
_____________
матфак вгу и остальная классика =)
pakot
Wed, 02/12/2020 - 20:52
Permalink
Внешний цикл отвечает за m
Внешний цикл отвечает за m повторений в столбик, внутренний отвечает за n повторений в строку. Используя первое действие if я определяю нечетные строки во внутреннем цикле и вывожу их. Используя второе действие if я определяю четные строки во внутреннем цикле и вывожу их.
Пытаюсь вывести в четной строке n/2. Но что-то не работает.
vedro-compota
Wed, 02/12/2020 - 22:42
Permalink
Внешний цикл отвечает за m
предположим, хотя и не очень точно сформулировано.
это не точно, вы можете вывести после проверки лишь очередной элемент строки, а не всю строку
аналогично, строку так не выведешь, только очередной символ
_____________
матфак вгу и остальная классика =)
vedro-compota
Wed, 02/12/2020 - 22:46
Permalink
замечания
Посмотрим на код:
Что тут не так, как минум:
-- это итак понятно, скорее надо написать ДЛЯ ЧЕГО эта переменная
-- комментарий не корректен, это не цикл
-- что за сообщения об ошибках? Как они вообще связаны с условием?
Если n надо проверить почему это не сделано заранее, до начала цикла, там где значение уже известно?
_____________
матфак вгу и остальная классика =)
pakot
Fri, 02/14/2020 - 22:20
Permalink
Исправил проверку n/2
Исправил проверку
vedro-compota
Thu, 02/13/2020 - 12:19
Permalink
Объясните назначение проверки
Объясните назначение проверки:
когда этот код вообще выполнится?
-- это неверный комментарий, этот цикл вообще ничего сам не выводит, что он делает?
_____________
матфак вгу и остальная классика =)
pakot
Fri, 02/14/2020 - 22:19
Permalink
Проверка должна проверить что
Проверка должна проверить число которое получилось при делении, и что оно больше "0", выполниться код когда j/2 меньше "0"
pakot
Fri, 02/14/2020 - 23:00
Permalink
Переделал
vedro-compota
Sat, 02/15/2020 - 00:06
Permalink
еще раз уточню
ответьте на вопросы:
_____________
матфак вгу и остальная классика =)
pakot
Mon, 02/17/2020 - 17:55
Permalink
При отрицательном значении.
При отрицательном значении. Нет не может.