III Выберите с учителем одну из предложенных ниже задач (тип string)
1. По введенной дате рождения (день и месяц, форма ввода в файл произвольная) дополнить файл строками соответствующего знака Зодиака:
20.01-18.02 – Водолей 23.07-22.08 – Лев
19.02-20.03 - Рыбы 23.08-22.09 – Дева
21.03-19.04 – Овен 23.09-22.10 – Весы
20.04-20.05 – Телец 23.10-22.11 – Скорпион
21.05-21.06 – Близнецы 23.11-21.12 – Стрелец
22.06-22.07 – Рак 22.12-19.01 – Козерог
2. Создать файл, содержащий произвольные строки. Обработать строки таким образом, чтобы между словами не было больше одного пробела и выполнить правое выравнивание строк файла. Обработанный текст записать в новый файл. Вывести на экран его содержимое.
3. Создать файл, содержащий произвольные строки. Запросите произвольное слово, посчитайте количество таких слов в файле и замените их на другое введенное пользователем слово. Вывести на экран содержимое первоначального и измененного файлов.
4. Создать файл, содержащий произвольные строки. Поменяйте строки файла так, чтобы их порядок был следующим:
1,к,2,к-1,3,к-2,4,к-3,5,к-4,...к/2.
Вывести на экран содержимое первоначального и измененного файлов.
5. Создать файл, содержащий произвольные строки. Поменяйте строки файла так, чтобы их порядок был следующим:
2,1,4,3,6,5,...
Вывести на экран содержимое первоначального и измененного файлов.
6. Создать файл, содержащий произвольные строки. Поменяйте строки файла так, чтобы их порядок был следующим:
к-1,к, к-3,к-2,к-5,к-4,...
7. Создать файл, содержащий строки, представляющие собой арифметические выражения, состоящие из чисел, знаков арифметических действий{+,-,*,/} и открывающихся и закрывающихся круглых скобок. Проверьте его корректность.
8. Создать файл, содержащий произвольные строки. Отсортируйте файл по возрастанию длин строк. Вывести на экран содержимое первоначального и измененного файлов.
9. Создать файл, содержащий произвольные строки. Отсортируйте файл по возрастанию длин строк и каждую строку по возрастанию длин слов. Вывести на экран содержимое первоначального и измененного файлов.
10. Создать файл, содержащий произвольные строки. Проверить правописание сочетаний жи-ши, ча-ща, чу-щу. Если найдены ошибки, исправить их и подчеркнуть исправленный слог. Вывести на экран содержимое первоначального и измененного файлов.
IV Выберите с учителем одну из предложенных ниже задач (тип record)
1. Составьте список группы спортсменов, участвовавших в гонках на спортивных машинах, включающей N человек. Для каждого гонщика укажите фамилию, имя, название страны, номер автомашины, наличие наград на предыдущих состязаниях, результаты гонки. Информацию о каждом спортсмене оформите в программе в виде записи. Совокупность записей объединить в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные спортсменов,
а) показавших лучший результат;
б) показавших три лучших результата,
в) не получивших ни одного призового места.
2. Составьте прайс-лист магазина "Техника", включающий в себя наименования товара, марку предприятия-производителя, страну-производитель, его цену, количество единиц товара на складе. Информацию о каждом виде товара оформите в программе в виде записи. Совокупность записей объедините в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы. Выведите на экран меню, а затем информацию о товаре в зависимости от запроса покупателя.
3. Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в файл. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать список студентов, фамилии которых начинаются на буквы Б и В, и их оценки за последнюю сессию.
4. Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать по выбору пользователя анкетные данные студентов нужного курса.
5. Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные студентов нужного факультета.
6. Составьте список учебной группы школы юного программиста, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, название общеобразовательной школы, класс, год поступления в школу, количество сданных зачетов. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объединить в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные учащихся, сдавших нужное количество зачетов.
7. Составьте список учебной группы школы юного программиста, включающей N человек. Для каждого учащегося укажите фамилию, имя, название общеобразовательной школы, класс, количество сданных зачетов, оценку за итоговый экзамен. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объединить в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные учащихся, успешно сдавших экзамен.
8. Составьте список группы спортсменов, занимающихся легкой атлетикой, включающей N человек. Для каждого спортсмена укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам:
- бег 100м,
- бег 3000м,
- прыжки в высоту,
- прыжки в длину,
- прыжки с шестом,
- метание ядра,
- метание копья,
- метание диска.
Информацию о каждом спортсмене оформить в программе в виде записи. Совокупность записей объединить в файл. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные спортсменов, занявших 1 место по каждой дисциплине.
9. Составьте список группы спортсменов, участвовавших в соревнованиях по плаванию, включающей N человек. Для каждого пловца укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам:
- кроль на груди,
- кроль на спине,
- баттерфляй,
- комплексное плавание.
Информацию о каждом спортсмене оформите в программе в виде записи. Совокупность записей объедините в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте анкетные данные спортсменов,
а) занявших 1 место по каждому стилю плавания;
б) показавших лучшее время по всем видам плавания,
в) не получивших ни одного призового места.
10. Составьте список группы спортсменов, участвовавших в соревнованиях по спортивной гимнастике, включающей N человек. Для каждого гимнаста указажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим видам:
- кольца,
- брусья,
- перекладина,
- вольные упражнения,
- прыжки на дорожке,
- прыжки через коня.
Информацию о каждом спортсмене оформить в программе в виде записи. Совокупность записей объединить в файл. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные спортсменов,
а) показавших лучший результат по каждому виду;
б) показавших лучший результат по всем видам многоборья,
в) не получивших ни одного призового места.
Задание. (на усмотрение учителя) Познакомившись с содержанием предыдущих задач придумайте свою интересную задачу и решите ее.
Занятие 4. Процедуры и функции работы с файлами. Решение задач
Изменение имени файла производится процедурой
rename(МуFilе, FileName);
первый аргумент которой – переменная файлового типа, а второй аргумент – строкового типа – новое имя файла, которое может быть сокращенным или полным (с указанием пути). Действие этой процедуры эквивалентно действию аналогичной процедуры DOS.
Уничтожение части файла от текущего положения до конца производится процедурой
truncate(МуFilе).
Уничтожение всего файла производится процедурой
erase(МуFilе),
действие которой эквивалентно удалению файла в операционной системе DOS.
Примечание. Физические файлы на магнитных дисках и переменные файлового типа в программе на Паскале – объекты различные. Переменные файлового типа в Паскале соответствуют не только физическим файлам, но и логическим устройствам, связанным с вводом и выводом информации. Клавиатуре и экрану дисплея соответствуют файлы со стандартными именами Input и Output.
Задание. Рассмотрите предложенный ниже текст программы. Сформулируйте решенную задачу. Создайте расширенный вариант подобной задачи. результат покажите учителю для оценки.
Program Files;
Uses
Crt;
Var
F, Fnew : file of string;
Name, NewName : string[12];
Text : string;
Ch : char;
Procedure ReadText;
Begin
repeat
write('Введите имя файла>');
readln(Name);
assign(F, Name);
reset(F);
if IOresult<>0
then
begin
writeln('Ошибка чтения');
close(F);
end;
until IOresult=0;
writeln('Содержание файла ',Name,':');
while not Eof(F) do
begin
readln(F, Tеxt);
writeln(Tеxt);
end;
close(F);
End;
Procedure EraseFile;
Begin
erase(F);
writeln('Файл удален');
End;
Procedure ReNameFile;
Begin
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |


