- •Методические указания
- •Воронеж 2012
- •Условные операторы. Вычисление выражений.
- •1. Цель работы
- •2. Задачи работы
- •3. Состав используемых аппаратно-технических средств
- •4. Указания по технике безопасности
- •5. Подготовительное задание
- •6. Лабораторные задания и методические указания по их выполнению
- •6.1. Изучение и использование в программе условного оператора if
- •6.2. Изучение и использование в программе оператора выбора case
- •8. Контрольные вопросы
- •Организация циклов в программе
- •6. Лабораторные задания и методические указания по их выполнению
- •6.1. Постановка задачи
- •6.2. Лабораторные задания
- •Использование процедур и функций. Стандартные модули turbo pascal 7.0
- •6. Лабораторные задания и методические указания по их выполнению
- •6.1. Постановка задачи
- •6.2. Лабораторные задания
- •8. Контрольные вопросы
- •Работа с массивами чисел
- •6. Лабораторные задания и методические указания по их выполнению
- •6. Лабораторные задания и методические указания по их выполнению
- •8. Контрольные вопросы
- •Методические указания
- •В авторской редакции
- •394026 Воронеж, Московский просп., 14
6. Лабораторные задания и методические указания по их выполнению
Написать программу обработки текста и чтения/записи в файл.
Варианты заданий приведены в таблице 6.1.
В программе использовать:
- текстовые файлы input.txt и output.txt для чтения и записи текста, соответственно;
- подпрограммы-процедуры (Procedure) для оформления решения отдельных подзадач;
- дополнительные процедуры и функции модуля Crt для управления режимом отображения текста программы при ее выполнении.
Варианты основных заданий
№ |
Основное задание |
1 |
Считать предложение из файла. Слова разделены одним пробелом. Подсчитать количество слов и гласных в нем. В файл записать предложение по словам. |
2 |
Считать предложение из файла. Слова разделены одним или несколькими пробелами. Подсчитать количество слов и количество букв в самом длинном слове. В файл записать предложение по словам. |
3 |
Считать предложение из файла. Слова разделены одним пробелом. Подсчитать количество слов и цифр в нем. В файл записать предложение по словам. |
4 |
Считать предложение из файла. Слова разделены запятыми. Подсчитать количество слов в предложении и упорядочить их по длине. В файл записать предложение по словам. |
5 |
Считать предложение из файла. Слова разделены одним или несколькими пробелами. Подсчитать количество слов в предложении и упорядочить слова по алфавиту. В файл записать предложение по словам. |
6 |
Считать предложение из файла. Слова разделены запятыми. В каждом слове удалить первую и последнюю буквы. В файл записать предложение по словам. |
7 |
Считать предложение из файла. Слова разделены пробелом. Удалить из предложения все слова, стоящие на четных местах. В файл записать предложение по словам. |
8 |
Считать предложение из файла. Слова разделены запятыми. В каждом слове первую букву перенести в конец слова. В файл записать предложение по словам. |
9 |
Считать предложение из файла. Слова разделены одним или несколькими пробелами. Удалить из предложения все слова, стоящие на нечетных местах. В файл записать предложение по словам. |
10 |
Считать предложение из файла. Слова разделены запятыми. Подсчитать количество слов в предложении и упорядочить слова по алфавиту. В файл записать предложение по словам. |
Общий алгоритм выполнения программы:
1. Связать и открыть файлы input.txt и output.txt для чтения и перезаписи, соответственно.
2. Считать фразу из файла input.txt и вывести ее на экран.
3. Фразу разбить на слова.
4. Вывести фразу на экран по словам.
5. Решить основное задание, согласно варианту из таблицы 6.1.
6. Вывести результаты решения основного задания на экран.
Пример:
Считать предложение из файла. Слова разделены пробелом. Упорядочить слова по длине. В каждом слове последнюю букву перенести в начало слова. В файл записать предложение по словам.
Текст программы, реализующей задание, приведен ниже:
program text_file;
uses crt;
var
f,ff:text;
predl,sl,bukva:string;
slovo:array[1..10]of string;
i,j,k:integer;
begin
assign(f,'d:\input.txt');
reset(f);
assign(ff,'d:\output.txt');
rewrite(ff);
while not eof (f) do
read(f,predl);
clrscr;
writeln('Исходное предложение: ');
writeln(predl);
readkey;
writeln(' Предложение по словам, упорядоченным по длине:');
k:=1;
slovo[k]:=' ';
for i:=1 to length(predl) do
if predl[i]<>' ' then
slovo[k]:=slovo[k]+predl[i]
else
begin
k:=k+1;
slovo[k]:=' ';
end;
for j:=1 to k-1 do
for i:=1 to k-j do
if length(slovo[i])<length(slovo[i+1]) then
begin
sl:=slovo[i];
slovo[i]:=slovo[i+1];
slovo[i+1]:=sl;
end;
for j:=1 to k do
writeln(slovo[j]);
readkey;
writeln(' Последняя буква перенесена в начало слова:');
for j:=1 to k do
begin
bukva:=copy(slovo[j],length(slovo[j]),1);
insert(bukva, slovo[j],1);
delete(slovo[j],length(slovo[j]),1);
end;
for j:=1 to k do
begin
writeln(slovo[j]);
writeln(ff,slovo[j]);
end;
readkey;
close(f);
close(ff);
end.
7. СОДЕРЖАНИЕ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ
7.1. Результаты выполнения подготовительного задания: титульный лист, цель и задачи работы, краткие теоретические сведения.
7.2. Результаты выполнения лабораторных заданий, оформленные в виде листинга программы с указанием результата ее выполнения.
7.3. Выводы по результатам выполнения заданий и заключение по работе в целом.