РОБОТА З ТЕКСТОВИМИ ФАЙЛАМИ. СИМВОЛЬНІ ТА РЯДКОВІ ЗМІННІ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Звіт про виконання лабораторної роботи №4 РОБОТА З ТЕКСТОВИМИ ФАЙЛАМИ. СИМВОЛЬНІ ТА РЯДКОВІ ЗМІННІ Мета роботи - вивчити види файлів, стандартні процедури і функції мови Турбо-Паскаль для роботи з файлами, навчитися складати та відлагоджувати програми для роботи з тестовими файлами. Навчитись використовувати символьні і рядкові змінні для роботи з текстовими файлами. ЗАВДАННЯ Домашня підготовка до роботи 1. Ознайомитися з основними типами файлів і їх описом. 2. Вивчити основні процедури і функції для роботи з текстовими файлами. 3. Ознайомитись зі символьними і рядковими змінними. 4. Вивчити основні процедури та функції для роботи із символьними і рядковими змінними. 5. Дано текстовий файл, в якому міститься програма мовою Турбо Паскаль (Лабораторна робота №3). Скласти блок-схеми алгоритмів та програми мовою Турбо-Паскаль для обробки текстового файлу з використанням розроблених процедур та функцій для роботи зі стрічками. Оформити виконання одного із завдань у вигляді підпрограми. Словами є слова в коментарях, назви ідентифікаторів, зарезервовані слова, які розділяються між собою згідно із синтаксисом мови Турбо Паскаль. Дані для роботи беруться з табл.1 за вказівкою викладача. Таблиця 1 № п/п Завдання  17 Сформувати і вивести на екран текстовий файл в якому символи “+” замінюються словом “SUMA”, символи “-” замінюються символом “MULT”, символи “/” – замінюються символом “DIV”. Підрахувати і вивести на екран кількість символів “:=” у кожному рядку.   Робота в лабораторії 1. Ввести в комп'ютер програми, написані мовою Турбо-Паскаль згідно з отриманим завданням. 2. Відлагодити програми. При необхідності скоригувати блок-схеми алгоритмів та програми у відповідності з виявленими логічними та синтаксичними помилками. 3. Остаточні версії блок-схем, програм та отримані результати занести у звіт з лабораторної роботи. 4. Здати звіт з лабораторної роботи. СПИСОК ІДЕНТИФІКАТОРІВ ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ: str, s – рядкова змінна; p1, p2, p3 – змінні позицій символів “+, - , / ” у рядках; i, k – проміжні змінні; f – даний текстовий файл; temp – перероблений текстовий файл; druk – процедура виведення на екран файлу; kilzn – функція, що обчислює кількість знаків присвоєння; БЛОК-СХЕМА ПРОГРАМА program lab4; uses crt; var f,temp:text; str:string; i,p1,p2,p3:integer; procedure druk(var f:text); var str:string; begin repeat readln(f,str); writeln(str); until eof(f); close(f); reset(f); end; function kilzn(s:string):integer; var i,k:integer; begin k:=0; for i:=1 to length(s) do if (s[i]=':')and(s[i+1]='=') then k:=k+1; kilzn:=k; end; BEGIN clrscr; assign(f, assign(temp,'change.pas'); reset(f); rewrite(temp); while not eof(f) do begin readln(f,str); repeat p1:=pos('+',str); if p1<>0 then begin delete(str,p1,1); insert(' SUMA ',str,p1); end; p2:=pos('-',str); if p2<>0 then begin delete(str,p2,1); insert(' MULT ',str,p2); end; p3:=pos('/',str); if p3<>0 then begin delete(str,p3,1); insert(' DIV ',str,p3); end; until (p1=0) and (p2=0) and (p3=0); writeln(temp,str); end; close(f); close(temp); reset(temp); writeln('PEREROBLENYJ FAJL:'); druk(temp); writeln('KILKIST ZNAKIV PRYSVOJENNA:'); i:=1; while not eof(temp) do begin readln(temp,str); writeln('v riadku ',i:3,' znakiv := - ',kilzn(str):3,' '); i:=i+1; end; END. РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ: PEREROBLENYJ FAJL: PROGRAM LAB3; USES CRT; CONST N=5; TYPE MATRIX=ARRAY[1..N,1..N] OF INTEGER; VAR A:MATRIX; I,J:INTEGER; PROCEDURE SORT_ARRAY; VAR X,Z:INTEGER; BEGIN FOR Z:=1 TO N MULT 1 DO BEGIN FOR J:=1 TO N DO FOR I:=N DOWNTO 2 DO BEGIN IF A[I,J]<A[I MULT 1,J] THEN BEGIN X:=A[I MULT 1,J]; A[I MULT 1,J]:=A[I,J]; A[I,J]:=X; END END END END; FUNCTION SER_HEOM(I:INTEGER):REAL; VAR B:REAL; BEGIN B:=1; FOR J:=1 TO N DO B:=B*A[I,J]; IF B>0 THEN B:=EXP(1 DIV N*LN(B)); IF B<0 THEN B:= MULT EXP(1 DIV N*LN( MULT B)); SER_HEOM:=B END; FUNCTION SER_AR:REAL; VAR S:REAL; BEGIN S:=0; FOR I:=1 TO N DO S:=S SUMA SER_HEOM(I); SER_AR:=S DIV N END; BEGIN CLRSCR; WRITELN('VVEDIT6 ELEMENTY MATRYTSI:'); FOR I:=1 TO N DO FOR J:=1 TO N DO BEGIN WRITE('A[',I,J,']='); READ(A[I,J]); IF J=N THEN WRITELN; END; SORT_ARRAY; WRITELN('VIDSORTOVANA MATRYTSYA:'); FOR I:=1 TO N DO FOR J:=1 TO N DO BEGIN WRITE(A[I,J]:4); IF J=N THEN WRITELN; END; FOR I:=1 TO N DO WRITELN('SEREDNYE HEOMETRYCHNE=',SER_HEOM(I):3:3); WRITELN; WRITE('SEREDNYE ARYFMETYCHNE=',SER_AR:3:3); END. KILKIST ZNAKIV PRYSVOJENNA: v ryadku 1 kilkistb znakiv := - 0 v ryadku 2 kilkistb znakiv := - 0 v ryadku 3 kilkistb znakiv := - 0 v ryadku 4 kilkistb znakiv := - 0 v ryadku 5 kilkistb znakiv := - 0 v ryadku 6 kilkistb znakiv := - 0 v ryadku 7 kilkistb znakiv := - 0 v ryadku 8 kilkistb znakiv := - 0 v ryadku 9 kilkistb znakiv := - 0 v ryadku 10 kilkistb znakiv := - 1 v ryadku 11 kilkistb znakiv := - 0 v ryadku 12 kilkistb znakiv := - 1 v ryadku 13 kilkistb znakiv := - 1 v ryadku 14 kilkistb znakiv := - 0 v ryadku 15 kilkistb znakiv := - 0 v ryadku 16 kilkistb znakiv := - 0 v ryadku 17 kilkistb znakiv := - 1 v ryadku 18 kilkistb znakiv := - 1 v ryadku 19 kilkistb znakiv := - 1 v ryadku 20 kilkistb znakiv := - 0 v ryadku 21 kilkistb znakiv := - 0 v ryadku 22 kilkistb znakiv := - 0 v ryadku 23 kilkistb znakiv := - 0 v ryadku 24 kilkistb znakiv := - 1 v ryadku 25 kilkistb znakiv := - 1 v ryadku 26 kilkistb znakiv := - 1 v ryadku 27 kilkistb znakiv := - 1 v ryadku 28 kilkistb znakiv := - 1 v ryadku 29 kilkistb znakiv := - 1 v ryadku 30 kilkistb znakiv := - 0 v ryadku 31 kilkistb znakiv := - 0 v ryadku 32 kilkistb znakiv := - 0 v ryadku 33 kilkistb znakiv := - 0 v ryadku 34 kilkistb znakiv := - 1 v ryadku 35 kilkistb znakiv := - 1 v ryadku 36 kilkistb znakiv := - 1 v ryadku 37 kilkistb znakiv := - 1 v ryadku 38 kilkistb znakiv := - 0 v ryadku 39 kilkistb znakiv := - 0 v ryadku 40 kilkistb znakiv := - 0 v ryadku 41 kilkistb znakiv := - 0 v ryadku 42 kilkistb znakiv := - 1 v ryadku 43 kilkistb znakiv := - 1 v ryadku 44 kilkistb znakiv := - 0 v ryadku 45 kilkistb znakiv := - 0 v ryadku 46 kilkistb znakiv := - 0 v ryadku 47 kilkistb znakiv := - 0 v ryadku 48 kilkistb znakiv := - 0 v ryadku 49 kilkistb znakiv := - 0 v ryadku 50 kilkistb znakiv := - 0 v ryadku 51 kilkistb znakiv := - 1 v ryadku 52 kilkistb znakiv := - 1 v ryadku 53 kilkistb znakiv := - 0 v ryadku 54 kilkistb znakiv := - 0 v ryadku 55 kilkistb znakiv := - 0 v ryadku 56 kilkistb znakiv := - 0 v ryadku 57 kilkistb znakiv := - 1 v ryadku 58 kilkistb znakiv := - 0 v ryadku 59 kilkistb znakiv := - 0 v ryadku 60 kilkistb znakiv := - 0 v ryadku 61 kilkistb znakiv := - 0 Висновок:на цій лабораторній роботі я вивчив види файлів, стандартні процедури і функції мови Турбо-Паскаль для роботи з файлами, навчився складати та відлагоджувати програми для роботи з тестовими файлами і використовувати символьні і рядкові змінні для роботи з текстовими файлами.
Антиботан аватар за замовчуванням

04.02.2012 18:59

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!