
- •Лабораторная работа №4 Виды файлов. Файловая переменная
- •Последовательность действий
- •Общие процедуры и функции
- •Текстовые файлы
- •Процедуры и функции для текстовых файлов
- •Стандартные текстовые файлы input и output
- •Структура модуля
- •Пример: Решим следующую несложную задачу. Пусть имеется два участка треугольной формы, обнесенных забором. Каким-то образом известны координаты вершин этих треугольников. Требуется определить:
- •Практическое задание Задания 1
Пример: Решим следующую несложную задачу. Пусть имеется два участка треугольной формы, обнесенных забором. Каким-то образом известны координаты вершин этих треугольников. Требуется определить:
у которого из участков длиннее забор (забор — строго по периметру);
на каком из участков можно разместить больше растений (считаем, что их количество прямо пропорционально площади);
на котором из них можно разместить идеально круглую клумбу наибольшего размера (оценим по радиусам вписанных окружностей).
uses triangle;
var xa,ya,xb,yb,xc,yc,
xd,yd,xe,ye,xf,yf,a,b,c,d,e,f: real;
begin
writeln('Введите координаты вершин первого участка');
readln(xa,ya,xb,yb,xc,yc);
getabc(xa,ya,xb,yb,xc,yc,a,b,c);
if not exist(a,b,c) then
writeln('Такого участка не существует')
{ все вершины лежат на одной прямой }
else { первый участок существует }
begin
writeln('Введите координаты вершин второго участка');
readln(xd,yd,xe,ye,xf,yf);
getabc(xd,yd,xe,ye,xf,yf,d,e,f);
if not exist(d,e,f) then
writeln('Такого участка не существует')
else { оба участка существуют }
begin
if perimetr(a,b,c)>perimetr(d,e,f) then write('У первого')
else write('У второго');
writeln(' участка забор длиннее');
if square(a,b,c)>square(d,e,f) then write('На первом')
else write('На втором');
writeln(' участке поместится больше растений');
if rv(a,b,c)>rv(d,e,f) then write('На первом')
else write('На втором');
writeln(' участке поместится самая большая круглая клумба');
end;
end; readln
end.
Практическое задание Задания 1
Заданы два текстовых файла x.txt и y.txt. Создайте третий файл z.txt, в который поместите сначала все строки файла x.txt, затем все строки файла y.txt. Подсчитайте число строк в полученном файле. Выведите на экран все самые длинные и самые короткие строки.
Задан текстовый файл с произвольным именем. Подсчитайте, сколько слов содержит этот файл. Все слова разделены пробелами, не обязательно одиночными. Найдите все слова максимальной длины (или с максимальным количеством гласных букв).
Заданы два текстовых файла, состоящие из целых чисел, упорядоченных по возрастанию. Необходимо объединить их вместе таким образом, чтобы в полученном файле числа оказались также упорядоченными по возрастанию.
Задан текстовый файл, состоящий из строк с числами. Найдите в файле строку, числа в которой упорядочены по возрастанию, и выведите ее на экран. Если таких строк несколько, то выведите все.
Задан текстовый файл с произвольным именем. Создайте программу для выравнивания его строк. Программа должна найти в файле строку максимальной длины и удлинить все строки с меньшей длиной путём вставки дополнительных пробелов между словами. Полученный текст запишите в новый файл.
Задан символьный файл. Считая, что количество символов в одном слове не больше 15, определите: сколько в файле имеется слов, состоящих из одного, двух, трёх и т. д. символов; изобразите гистограмму (столбчатую диаграмму) длин всех слов.
Задан символьный файл. Считая что, каждое его предложение состоит не более чем из 20 слов, определите: сколько в файле имеется предложений, состоящих из одного, двух, трех и т. д. слов.
Задан символьный файл. Определите, сколько раз в заданном файле встречается каждая буква алфавита
Задан текстовый файл, каждая строка которого может рассматриваться как запись целого числа в двоичной системе счисления. Преобразуйте двоичную запись числа в десятичную.
Задан типизированный файл целых чисел. На его основе создайте текстовый файл, в каждой строке которого необходимо записать число в десятичной системе счисления из исходного файла и соответствующее ему число в двоичной системе счисления.
Создайте типизированный файл вещественных чисел, упорядочите компоненты файла по возрастанию. Введите число с клавиатуры и поместите его в файл так, чтобы не нарушить упорядоченности (без создания дополнительного файла).
Создайте два типизированных файла вещественных чисел, упорядочите компоненты файлов по возрастанию. Получите новый файл слиянием двух исходных файлов, так чтобы не нарушить упорядоченности.
Создайте типизированный файл вещественных чисел. Задайте с клавиатуры номер компоненты N, с которой необходимо удалить K элементов файла. Выведите компоненты исходного и усеченного файлов. Дополнительный файл для решения задачи не использовать.
Создайте типизированный файл вещественных чисел. Задайте с клавиатуры номер компоненты N, после которой необходимо вставить K элементов файла. Выведите компоненты исходного и дополненного файлов.
Сведения о студенте включают фамилию, имя и перечень отметок, полученных им в сессию. Создайте отдельные типизированные файлы, собрав в них сведения об отличниках, успевающих и кандидатах на отчисление.
Задание 2
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. подсчитать количество слов в заданной строке
Б. для заданной строки возвратить слово с заданным номером (если такого слова нет, возвратить пустую строку)
С. удалить слово с заданным номером (если такого слова нет, возвратить строку без изменения).
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А.Три функции для удаления концевых пробелов в заданной строке (удалить пробелы в начале строки, в конце строки и с двух концов)
Б. Удаление лишних пробелов (между словами оставить по одному пробелу)
В. Удаление всех пробелов в строке
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать в заданной строке количество слов.
Б. Подсчитать в заданной строке количество слов, заканчивающихся на заданную букву (слова разделены пробелами).
В. Заменить все цифры знаками подчеркивания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать в заданной строке количество повторений заданного символа
Б. Удалить из заданной строки заданный символ везде, где он встречается.
В. В заданной строке заменить один заданный символ на другой заданный символ.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Удалить из заданной строки все знаки препинания.
Б. Заменить в заданной строке все цифры на пробелы.
В. Выделить первое слово заданной строки.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать в заданной строке размер самого первого слова.
Б. Подсчитать в заданной строке размер самого длинного слова.
В. Удалить из заданной строки слово с заданным номером.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Заменить в заданной строке все строчные буквы на заглавные.
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все знаки препинания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. удалить пробелы в начале строки и в конце строки
Б. Удалить лишние пробелы (между словами оставить по одному пробелу)
В. Удвоить все пробелы в строке
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Заменить в заданной строке все строчные буквы на заглавные.
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все цифры.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать количество букв в последнем слове заданной строки
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все знаки препинания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Заменить в заданной строке все строчные буквы на заглавные.
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все знаки препинания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. удалить пробелы в начале строки и в конце строки
Б. Удалить лишние пробелы (между словами оставить по одному пробелу)
В. Удвоить все пробелы в строке
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. подсчитать количество слов в заданной строке
Б. для заданной строки возвратить слово с заданным номером (если такого слова нет, возвратить пустую строку)
С. удалить слово с заданным номером (если такого слова нет, возвратить строку без изменения).
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Заменить в заданной строке все строчные буквы на заглавные.
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все знаки препинания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать в заданной строке количество слов.
Б. Подсчитать в заданной строке количество слов, заканчивающихся на заданную букву (слова разделены пробелами).
В. Заменить все цифры знаками подчеркивания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.