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

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

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

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет «Львівська політехніка»   РОБОТА З ФАЙЛАМИ. ЛАБОРАТОРНА РОБОТА № 4 З КУРСУ «АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ» для студентів спеціальності 6.0914 «Комп’ютеризовані системи, автоматика і управління» Львів 2008 ПОВНИЙ ТЕКСТ ЗАВДАННЯ Дано текстовий файл в якому міститься програма мовою Турбо Паскаль (Лабораторна робота №3). Словами є слова в коментарях, назви ідентифікаторів, зарезервовані слова, які розділяються між собою згідно із синтаксисом мови Турбо Паскаль. Написати програму мовою Турбо Паскаль обробки текстового файлу з використанням розроблених процедур та функцій для роботи зі стрічками. Сформувати із заданого текстовий файл в якому вилучити символи “(”, “)”. Написати підпрограму, яка здійснює аналіз програми мовою Паскаль, представленої у вигляді заданого текстового файлу на наявність помилок по написанню процедур введення “READ”, “READLN”. Перевірити заданий та одержаний текстові файли на наявність помилок в процедурах введення. БЛОК-СХЕМА АЛГОРИТМУ ПРОГРАМИ ПРОЦЕДУРА ПОШУКУ ПОМИЛКИ ERROR_SEARCH : СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР ТА ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ СПИСОК : CH CHECK SYMBOL X Y I V K C M N ERROR_SEARCH ПОЯСНЕННЯ ІДЕНТИФІКАТОРІВ : CH – змінна для зберігання символів файлу під час читання CHECK – змінна для накопичення символів під час читання у змінній SYMBOL SYMBOL – накопичувач символів для порівняння X – ідентифікатор текстового файлу Lab_3 – з якого читаються дані Y – ідентифікатор текстового файлу Lab_3(Copied) – куди записуються дані I – лічильник для накопичення у SYMBOL V – логічна змінна для перевірки вірності умови K – логічна змінна для перевірки вірності умови C – логічна змінна для перевірки вірності умови M – логічна змінна для перевірки вірності умови N – логічна змінна для перевірки вірності умови ERROR_SEARCH – процедура сортування матриці A Змінні V,K,C,M,N – ВИКОРИСТОВУЮТЬСЯ У ДВОХ ПІДПРОГРАМАХ ДЛЯ ДІАГНОСТИКИ ПОМИЛКИ : ПЕРЕВІРКА НАЯВНОСТІ ДУЖОК СИНТАКСИС ПРОЦЕДУРИ ЯК ЗАРЕЗЕРВОВАНОГО СЛОВА НАЯВНІСТЬ ; ПОСЛІДОВНОСТІ У ДУЖКАХ ТИПУ : ІДЕНТИФІКАТОР , … ОСТАТОЧНО ВІДЛАГОДЖЕНИЙ ТЕКСТ ПРОГРАМИ program Lab_4; uses crt; var ch:char; check,symbol:string; x,y:text; i:integer; v,k,c,m,n:boolean; procedure Error_Search; begin writeln('Program file check :'); assign(y,'d:\lab_3(copied).txt'); writeln; writeln('External Read procedure Analyse'); reset(y); while not(eof(y)) do begin read(y,ch); check:=ch; symbol:=''; if(ch='r') then for i:=1 to 4 do begin symbol:=(Symbol+check);read(y,ch);check:=ch;end; if symbol='read' then begin k:=true;if ch='(' then m:=true; repeat if ch='(' then c:=true;if ch=')' then begin v:=true;read(y,ch); if ch=';' then n:=true;end; read(y,ch); until eoln(y); end; end; if (c=true)and(m=true) then writeln('Left ( present') else if k=true then writeln('Error.No symbol ('); if v=true then writeln('Right ) present') else if k=true then writeln('Error.No symbol )'); if k=false then writeln('Syntax read as word false.Analyse aborted') else writeln('Syntax read as word true'); if v=true then if n=true then writeln('Symbol ; present in order for read procedure') else writeln('No symbol ;.Error.Syntax read procedure false') else if k=true then writeln('Error.Can not finish symbol ; check - there is no )'); reset(y); Writeln; writeln; writeln('Internal Procedure read analyse'); while not(eof(y)) do begin read(y,ch); check:=ch; symbol:=''; if(ch='r') then for i:=1 to 4 do begin symbol:=(Symbol+check);read(y,ch);check:=ch;end; if symbol='read' then if ch='(' then begin read(y,ch); while not(ch=')') do begin if (ch in['a'..'z']) then m:=true else c:=false;read(y,ch); if (m=true)and((ch=',')or(ch='[')or(ch=']')) then n:=true else v:=false;read(y,ch); end end else begin writeln('Error.Internal read procedure check failed - no (');k:=false;end; end; if Not(k=false) then if (m=true)and(c=false) then writeln('Error.No idenefier after symbol ( or after ,,[,]') else if (n=true)and not(v=false) then writeln('Internal Syntax check ok') else writeln('Error.No symbol ,,[,] after idenefier'); close(y); assign(x,'d:\lab_3.pas'); writeln; writeln('Lab_3 file check :'); writeln; writeln('External Read procedure Analyse'); reset(x); while not(eof(x)) do begin read(x,ch); check:=ch; symbol:=''; if(ch='r') then for i:=1 to 4 do begin symbol:=(Symbol+check);read(x,ch);check:=ch;end; if symbol='read' then begin k:=true;if ch='(' then m:=true; repeat if ch='(' then c:=true;if ch=')' then begin v:=true;read(x,ch); if ch=';' then n:=true;end; read(x,ch); until eoln(x); end; end; if (c=true)and(m=true) then writeln('Left ( present') else if k=true then writeln('Error.No symbol ('); if v=true then writeln('Right ) present') else if k=true then writeln('Error.No symbol )'); if k=false then writeln('Syntax read as word false.Analyse aborted') else writeln('Syntax read as word true'); if v=true then if n=true then writeln('Symbol ; present in order for read procedure') else writeln('No symbol ;.Error.Syntax read procedure false') else if k=true then writeln('Error.Can not finish symbol ; check - there is no )'); reset(x); Writeln; writeln; writeln('Internal Procedure read analyse'); while not(eof(x)) do begin read(x,ch); check:=ch; symbol:=''; if(ch='r') then for i:=1 to 4 do begin symbol:=(Symbol+check);read(x,ch);check:=ch;end; if symbol='read' then if ch='(' then begin read(x,ch); while not(ch=')') do begin if (ch in['a'..'z']) then m:=true else c:=false;read(x,ch); if (m=true)and((ch=',')or(ch='[')or(ch=']')) then n:=true else v:=false;read(x,ch); end end else begin writeln('Error.Internal read procedure check failed - no (');k:=false;end; end; if Not(k=false) then if (m=true)and(c=false) then writeln('Error.No idenefier after symbol ( or after ,,[,]') else if (n=true)and not(v=false) then writeln('Internal Syntax check ok') else writeln('Error.No symbol ,,[,] after idenefier'); close(x); writeln; writeln('No procedure Readln available.Check impossible'); end; begin clrscr; assign(x,'d:\lab_3.pas'); assign(y,'D:\Lab_3(copied).txt'); reset (x); rewrite(y); while not(eof(x)) do begin read(x,ch); if (ch=')') or (ch='(') then while (ch=')') or (ch='(') do read(x,ch); write(y,ch); end; close(x); close(y); Error_Search; readln; end. РЕЗУЛЬТАТИ ВИКОНАННЯ ПРОГРАМИ Program file check : External Read procedure Analyse Error.No symbol ( Error.No symbol ) Syntax read as word true Error.Can not finish symbol ; check - there is no ) Internal Procedure read analyse Error.Internal read procedure check failed - no ( Lab_3 file check : External Read procedure Analyse Left ( present Right ) present Syntax read as word true Symbol ; present in order for read procedure Internal Procedure read analyse Internal Syntax check ok No procedure Readln available.Check impossible
Антиботан аватар за замовчуванням

18.05.2012 12:05-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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