- •«Оренбургский государственный университет»
- •Основы программирования
- •Содержание
- •Введение
- •Методические указания к лабораторной работе № 1
- •В таблице 2 представлены операции над множествами.
- •Программирование с использованием множеств
- •Задания базового уровня
- •Задания повышенного уровня
- •1.7 Вопросы к защите лабораторной работы № 1
- •2 Лабораторная работа № 2. Составление и отладка программ с комбинированными типами данных (записи)
- •2.1 Ход работы:
- •2.2 Содержание отчета
- •2.3 Вопросы для допуска к лабораторной работе № 2
- •2.4 Методические указания к лабораторной работе № 2
- •2.5 Задания базового уровня
- •2.6 Задания повышенного уровня
- •2.7 Пример программы
- •Вопросы к защите лабораторной работы № 2
- •3.3.2 Задачи на «множества»
- •4.4 Методические указания к лабораторной работе № 3
- •1. По типу (логической структуре)
- •2. По методу доступа к элементам файла
- •4.5 Постановка задачи
- •4.6 Вопросы к защите лабораторной работы № 3
- •5 Лабораторная работа № 4. Процедуры и функции модуля System
- •5.1 Ход работы:
- •5.2 Содержание отчёта
- •5.3 Методические указания к лабораторной работе № 4 Процедуры работы с каталогами
- •6.4 Вопросы к защите домашней работы № 2
- •7 Лабораторная работа № 5. Работа с временными файлами
- •7.1 Ход работы:
- •7.2 Содержание отчёта
- •7.3 Постановка задачи
- •7.4 Вопросы к защите лабораторной работы № 5
- •8 Лабораторная работа № 6. Работа с внешними файлами
- •8.1 Ход работы:
- •8.2 Содержание отчёта
- •8.3 Задания базового уровня
- •9.4 Вопросы к защите домашней работы № 3
- •10 Лабораторная работа № 7. «Линейные списки»
- •Ход работы:
- •10.2 Содержание отчета
- •10.3 Методические указания к лабораторной работе № 7
- •10.4 Задания базового уровня
- •10.5 Вопросы к защите лабораторной работы № 7
- •11.4 Задания базового уровня
- •11.5 Вопросы к защите лабораторной работы № 8
- •12 Домашняя работа № 4. Формирование списка с одновременным упорядочением его элементов
- •12.1 Ход работы
- •12.2 Содержание отчета
- •12.3 Методические указания к домашней работе № 4
- •12.4 Варианты заданий
- •Список использованных источников
4.5 Постановка задачи
Набрать предложенные программы и разобраться в их работе.
Составить полную цепочку команд для создания простого текстового файла.
Вычислить факториал чисел 1, 2, 3 … 10 и вывести от введённого значения (PRN или CON).
Используя строковую процедуру Val(s,t,code) для преобразования текстовой информации, составить программу получения звуковых сигналов.
Вычислить сумму элементов файла myfile.dat.
Составить программу проверки существования файла на диске.
4.6 Вопросы к защите лабораторной работы № 3
1. Что такое файл?
2. Для каких целей применяются файлы?
3. Характерные особенности файлов?
4. Какие устройства компьютера Т.Р. использует наряду с файлами? Каковы логические имена этих устройств?
5. Зачем используется специальная файловая переменная?
6. Какие процедуры служат для открытия файлов? Их общие черты и отличие?
7. Зачем применяется процедура Close?
8. Для каких целей используется специальная функция IOResult?
9. Назначение процедуры Append. Назначение и отличительные особенности процедур Read и Write от Readln и Writeln.
5 Лабораторная работа № 4. Процедуры и функции модуля System
Цель работы: Познакомиться с процедурами работы с каталогами. Научиться создавать, переименовывать и удалять каталоги, помещать файл в нужный каталог, переносить файл из одного каталога в другой.
5.1 Ход работы:
Изучить теоретический материал по теме лабораторной работы (лекции, учебник).
Запустить интегрированную среду программирования Т.Р. и набрать текст составленной программы.
Составить и откомпилировать программу, согласно постановке задачи.
Запустить программу на выполнение.
Отредактировать программу и сохранить ее на диске А под именем lab4.pas.
Распечатать результаты работы программы.
Составить отчет по работе.
Защитить работу.
5.2 Содержание отчёта
Отчет по лабораторной работе должен содержать:
тему работы;
цель работы;
ход работы;
постановку задачи;
распечатку программ;
результаты работы программ.
5.3 Методические указания к лабораторной работе № 4 Процедуры работы с каталогами
Процедура ChDir (St:Strung); изменяет текущий каталог на каталог который указывается в данной процедуре.
St – выражение типа String, содержащее путь к новому каталогу.
Процедура MkDir (St:String); создаёт новый подкаталог. Имя должно быть индивидуальное т.е. не совпадать с именем других существующих каталогов. St – содержит путь и имя нового каталога.
Процедура RmDir (St:String); удаляет пустой каталог.
St – содержит путь и имя удаляемого каталога. Каталог должен быть пустым, должен существовать и не быть текущим.
Процедура GetDir (d:Byte; var S:String); выясняет, какой каталог на указанном диске текущий. D – выражение типа Word, определяющее диск. Если D=0 => подразумевается устройство по умолчанию, если D=1 – диск А, D=2 – диск B, D=3 – диск C и т.д.
Пример 1. Процедуры работы с каталогами
Uses CRT;
Var S: String;
Begin
ClrScr;
ChDir (‘B:\’); { установка корневого каталога}
GetDir (0,S); WriteLn (‘Текущий диск и каталог: ’, s);
MkDir (‘Grup1p’); { создаём подкаталог Grup1p}
ReadLn;
Writeln (‘Перейти в подкаталог Grup1p’);
ChDir (‘\’); { установим текущий каталог диска в}
WriteLn (‘Удалить подкаталог Grup1p’);
RmDir (‘Grup1p’);
GetDir (0, S); WriteLn (‘Текущий диск и каталог: ’,S);
End.
5.4 Постановка задачи
1. Составить программу работы с каталогами в модуле System, используя процедуры ChDir , MkDir , RmDir , GetDir .
2. В созданный каталог занести простой текстовый файл.
3. Переименовать созданный в каталоге файл.
4. Переименовать сам каталог содержащий данный файл.
5. Удалить созданный файл и каталог.
Вопросы к защите лабораторной работы № 4
1. Какие процедуры применяются для работы с каталогом?
2. Какое действие выполняет каждая из процедур (ChDir, MkDir, RmDir, GetDir)?
6 Домашняя работа № 2. Выполнение индивидуального задания по теме «Файловый тип данных»
Цель работы: Обобщить знания студентов по теме: «Файловый тип данных». Научиться составлять программы с использованием стандартных процедур и функций для работы с файлами.
6.1 Ход работы
1) Изучить теоретический материал по темам лабораторных работ «Файловый тип данных».
2) Составить и откомпилировать программы своего варианта.
3) Запустить программу на выполнение.
4) Отредактировать программу и сохранить ее на диске А под именем dom2.pas.
5) Распечатать программу и результат работы программы.
6) Составить отчет по работе.
7) Защитить работу.
6.2 Содержание отчета
Отчет по лабораторной работе должен содержать:
1) тему работы;
2) цель работы;
3) ход работы;
4) постановку задачи;
5) распечатку программ;
6) результат работы программы.
Варианты заданий
Работа с типизированными файлами
Создайте файл целых чисел, занося в него числа Фибоначчи, не превосходящие заданного числа N.
Пусть даны два файла целых чисел. Определите, в каком из них больше положительных, отрицательных и нулевых значений.
Пусть дан файл целых чисел. Определите, являются ли числа в файле упорядоченными (по возрастанию или по убыванию).
Пусть дан файл целых чисел. Создайте новый файл, значения в который записываются по следующему правилу: суммируются подряд идущие значения одного знака; вместо группы нулей записывается один нуль. Например:
исходный файл: 20 10 4 -1 -2 0 0 0 -10 41 62;
файл-результат: 34 -3 0 -10 103;
Пусть дан файл целых чисел. Определите, сколько раз в нем повторяется максимальное значение.
Пусть дан файл целых чисел. Определите, где больше нулей – на четных или на нечетных позициях.
Пусть дан файл целых чисел. Создайте файл вещественных чисел, значениями которого будут среднее арифметические значения каждой пятерки подряд идущих чисел. Последняя группа может содержать меньше пяти значений.
Пусть даны два файла целых чисел. Определите, одинаковы ли они.
Пусть даны два файла целых чисел. Определите, больше ли минимальное значение первого файла, чем максимальное значение второго.
Пусть дан файл целых чисел с диапазоном значений от а до b. Определите, сколько раз встречается каждое значение в файле.
Пусть матрица А целых чисел размером 100 х 100 записана по строкам в файле. Определите, есть ли в ней нулевые строки.
Пусть матрица А целых чисел размером 100 х 100 записана по строкам в файле. Определите, является ли она единичной.
Пусть матрица А целых чисел размером 100 х 100 записана по строкам в файле. Найдите значение первого максимального элемента, а также номер строки и номер столбца, соответствующие этому значению.
Студентам 5-го курса была предложена анкета о том, знания каких из прочитанных курсов могут потребоваться в будущей работе. Результаты анкетирования были занесены в файл. Напишите программу создания файла анкетирования. Список прочитанных курсов:
математический анализ;
алгебра;
информатика;
численные методы;
дифференциальные уравнения;
теория вероятности;
функциональный анализ;
Создайте файл информации по итогам сессии result.dat. для каждой группы каждого курса в файл заносится следующая информация (количество курсов и групп на курсе фиксировано, сами номера курсов и групп в записи не хранятся):
количество студентов в группе;
количество допущенных к сессии;
количество сдавших на «отлично»;
количество на «отлично» и «хорошо»;
количество получивших «неудовлетворительно»;
Работа с текстовыми файлами
Пусть дан текстовый файл. Подсчитайте количество пустых строк.
Пусть дан текстовый файл. Перепишите его содержимое в другой файл, сохраняя строчную структуру и удаляя пустые строки.
Пусть дан текстовый файл. Слова не переносятся с одной строки на другую. Напечатайте строку с наибольшим количеством слов. Если таких строк несколько, напечатайте первые десять.
Пусть дан текстовый файл. Перенесите в новый файл все строки, содержащие заданное слово.
Пусть дан текстовый файл. Перенесите в новый файл все строки, не содержащие заданного слова.
Пусть дан текстовый файл. В новый файл перенесите каждое слово как отдельную строку. Переход к новой стоке в исходном файле соответствует пустой стоке в новом файле. Пустых строк в заданном файле нет.
По файлу, содержащему строки-слова (см. условие предыдущего задания), получите первоначальный файл, в котором слова разделены одним пробелом.
Пусть дан текстовый файл. Распечатайте первую строку, содержащую наибольшее число различных слов.
Пусть дан текстовый файл. Для каждой строки распечатайте слово наибольшей длины. Если их несколько, то распечатайте все.
Пусть дан текстовый файл. Распечатайте строку с заданным номером.
Пусть дан текстовый файл. Удалите строку с заданным номером. Если строки с указанным номером нет, сообщите об этом.
Пусть дан текстовый файл. Распечатайте все строки, начинающиеся с заданного слова.
Пусть дан текстовый файл. Распечатайте все строки оканчивающиеся заданным словом.
Пусть дан текстовый файл. Найдите строку максимальной длины.
Пусть дан текстовый файл. Определите, сколько строк файла имеют длину, большую, равную и меньшую, чем заданное значение k.
Пусть дан текстовый файл. Для каждой строки распечатайте первое из слов, содержащее наибольшее число различных букв.
Пусть дан текстовый файл. Создайте файл целых чисел, в котором каждой строке исходного файла соответствует выходном файле число, равное количеству слов в строке. Пустой строке или строке, состоящий из одних пробелов, соответствует число 0.
Пусть дан текстовый файл. Максимальная длина слова в этом файле равна пяти символам. Создайте пять файлов. Каждой строке входного фала соответствует одна строка в каждом из пяти файлов, в которые переписаны через пробел слова соответствующей длины: в первом файле – слова длинны 1, во втором – слова длины 2 и т.д. Если слов длины k нет, то соответствующая строка k – то должна быть пустой.
Пусть даны два текстовых файла. Определите, равны ли они. Равенство понимается в смысле совпадения соответствующих символов и одинакового деления на строки.
Пусть дан текстовый файл. Заменить последовательность Р1 подряд идущих символов последовательностью Р2 . Последовательности Р1 и Р2 задаются пользователем.
