|
||||||||||||||||||||||
For i:=1 To 30 Do. Таблица успеваемости 10 классаСтр 1 из 2Следующая ⇒
Задача 1.(внимательно прочесть). На экзаменационном листе содержатся сведения о результатах экзаменов, сданных 30 учениками класса. Ввести эти данные в компьютер и получить список всех отличников. В программе используется описание комбинированного типа results. Исходные данные организуются в массив следующей структуры. Varlist: array [1..30]ofresults; После ввода в этот массив исходных данных следует фрагмент программы: For i:=1 To 30 Do If(list[i].rus=5) and (list[i].alg=5) and(list[i].phiz=5) ThenWriteln (list[i].family); Программа отбирает записи, в которых все поля с оценками равны 5, и выводит соответствующие поля фамилий. А теперь обсудим проблему: как наиболее удобным способом организовать ввод данных в этой программе? Вводить с клавиатуры неудобно из-за большего объема данных. При каждом повторном запуске программы нужно начинать ввод сначала. А при отладке это наверняка придется делать многократно. Гораздо удобнее подготовить файл с исходными данными с помощью текстового редактора. После этого без проблем можно повторять ввод многократно. Так и поступим. Подготовим текстовый файл следующего вида: Таблица успеваемости 10 класса
Таблица содержит данные с фамилиями и оценками 30 учеников класса. Обратите внимание на то, что фамилии записываются в отдельных строках. Необходимость этого связана с реализацией алгоритма: при вводе символьной строки прочитываются полностью очередная строка текстового файла до признака EOLN. При этом фамилии должны содержать не более 15 символов, а первые оценки (по русскому языку) – располагаться не раньше 16-й позиции в своей строке. Сохраним этот файл в корневом каталоге логического диска D под именем 10_а.txt. Составим программу с вводом таблицы успеваемости и выводом списка отличников. Фамилии отличников выведем на экран и сохраним в файле с именем Best.txt.
|
||||||||||||||||||||||
|