Моя седьмая лабораторная работа по программированию на языке Pascal.
Цель работы: Практическое освоение приемов ввода и вывода данных с использованием внешней памяти ЭВМ и устройства построчной печати в операционной системе ОС РВ.
Текст программы PRNT:
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 |
program Prnt; { Вывод текстовых файлов на пpинтеp } const LPg = 10; { размер страницы } LStr = 80; { максимальная длина строки } NLen = 20; { максимальная длина имени файла } var Prov:boolean; Prg, List: text; { входной и выходной файлы } Name: string [NLen]; { имя файла } Ch: char; { рабочий символ } I: integer; { рабочие переменные } lin:string; Number:word; Result : Boolean; begin Assign (List, 'PRN1.PAS');Prov:=true; Rewrite (List); { открытие выходного файла } repeat { начало цикла входных файлов } Write ('Введите имя файла '); Readln (Name); Number:=0; Assign (Prg, Name); {$I-} Reset (Prg); {$I+} { открытие входного файла } Result := IOResult = 0; if Result then begin { обработка, если файл есть } while not Eof (Prg) do begin { цикл страниц } for I:=1 to LPg do begin { начало цикла страницы } if Eof (Prg) then begin Close (Prg); Writeln ('Последняя стpаница - неполная'); prov:=False; end else While not eoln(Prg) do begin {цикл строки } Read (Prg, Ch); Write (List, Ch); { чтение и запись символа } end; if prov=false then exit; Readln (Prg); Writeln (List); { конец строки } end; If prov=false then Exit; Number:=number+1; STR(NUMber,LiN); Writeln(list, Lin); Writeln(LIST) { конец страницы } end; Writeln ('Завеpшение выдачи одного файла'); prov:=true;Number:=0; end until not Result ; { конец цикла входных файлов } close (List); end. |
Индивидуальное задание.
Вариант 9.
Составить ГСА обработки текстовых данных, хранящихся в произвольном файле на магнитном диске, с выдачей результатов обработки на магнитный диск и печать. Вид обработки данных взять из табл. 13 или (по указанию преподавателя) использовать одну из программ обработки, составленных на предыдущих занятиях. В качестве текстового файла для обpаботки использовать собственный текст пpогpаммы.
В алгоритме должны вводиться из командной стpоки имена входного и выходного файлов, а также, при необходимости, значения параметров обработки. Длина любой строки текста не должна превышать 80 символов.
Написать по ГСА п.3 текст программы.
По этой графической схеме алгоритма была составлена следующая программа:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Program LAb7; var File1,file2:text; ch,ch1:char; name1,name2:string[20]; n:boolean; begin Writeln; Write('Input name of input file...');readln(name1); Write('Input name of output file...'); readln(name2); Write('Input symbol...'); readln(ch1); n:=false; Assign(file1,name1);Assign(file2,name2);reset(file1); rewrite(file2); While not eof(file1) do begin while not eoln(file1) do begin read(file1,ch); if ch=ch1 then n:=true; if n=true then write(file2,ch); end; Readln(file1); Writeln(file2); n:=false; end; Close(file1); close(file2); end. |
Таблица входных и выходных данных:
Входные данные | Выходные данные (анализ) | Выходные данные (реально) | |
Текст | Символ | ||
Qwertyuiop[]
Asdfghjkl;’\ Zxcvbnm,./ |
f |
fghjkl;’\
|
fghjkl;’\
|
Qwerty
Asus Turbo House |
u
|
us urbo use |
us urbo use |
Samsung | a | amsung | amsung |