Форум » Обработка числовых последовательностей » С4 задача 5 » Ответить

С4 задача 5

Алексей28: в решении написаны таки строки for i:=1 to N do begin Info.name := ''; for k:=1 to 2 do repeat read(c); Info.name := Info.name + c; until c = ' '; Info.sum := 0; for k:=1 to 3 do begin read(mark); Info.sum := Info.sum + mark; end; readln; end; у меня вопрос, как программа будет считать оценки, если до второго внутреннего цикла не сказано ни от куда считать ни до куда?

Ответов - 9

oval: Почитайте как работает оператор ввода read и поэкспериментируйте :)

Алексей28: вот я не пойму, если я просто ввожу в строчку Ф.И. и оценки, то ABS pascal вообще ничего не делает, как идёт ввод данных?

oval: repeat read(c); Info.name := Info.name + c; until c = ' '; читает символы до пробела, складывает их в строку Info.name, for k:=1 to 2 do выполняется 2 раза, т.е. в Info.name будет записано: "фамилия", пробел, "имя" read(mark); Info.sum := Info.sum + mark; читает оценку и добавляет ее к сумме балловfor k:=1 to 3 do выполняется 3 раза, итого получим сумму трех оценок


Алексей28: я понимаю что он делает, но вот в случае с именем и фамлией мы идём до пробелов, так сказать делаем отвемтку откуда и до куда читать. А вот с оценками этого нет.

Алексей28: или эти оценки надо как-то по особенному надо писать в чате при запуске программы?

oval: mark типа integer, оператор read(mark); читает из строки все цифры до пробела или символа конец строки и переводит строку изображающую число в число вводить надо, как указано в примере: Иванов Петр 34 45 65

Алексей28: Теперь понятно. Спасибо. Тогда не пойму, почему паскаль ничего не выводит

oval: попробуйте пошаговую прогонку, в АВС значок очки открывает окно для просмотра значений переменных туда можно добавить переменные сделав двойной щелчок по строке и указав имя переменной, и F7 пошаговое исполнение

Алексей28: что-то не получается, а возможно я не совсем понимаю как пользоваться этой функцией



полная версия страницы