Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт з дисципліни.docx
Скачиваний:
2
Добавлен:
15.09.2019
Размер:
3.31 Mб
Скачать

Тема 2. Опрацювання файлових структур, використання рядків

Мета:Навчитися використовувати рядки в файлових структурах данних

Варіант 2.

Завдання: Найти в файлі f входження слова р, замінити їх на слово q, отримавши новий файл q.

Словесний алгоритм:

  1. Вілкриваємо два файли для роботи( P2_2.txt і P2_21.txt).

  2. Знаходимо в файлі слово ‘p’.

  3. Заміняємо слово ‘p’ на слово ‘g’.

  4. Закриваємо обидва файли.

Блок схема:

Код програми:

program P2_2;

uses crt;

var f,ff:text;

s,ss,sss:string;

h:char;

i,n,a:integer;

begin

assign(f,'P2_2.txt');

assign(ff,'P2_21.txt');

rewrite(ff);

reset(f);

read(ss);

read(sss);

while not eof(f) do begin

read(f,s);

write(s);

while Pos(ss,s)<>0 do

begin

n:=Pos(ss,s);

a:=Length(ss);

delete(s,n,a);

insert(sss,s,n);

end;

writeln(ff,s);

end;

writeln(Length(ss));

close(f);

close(ff);

readln;

end.

Тестування програми:

Завдання 2:

Знайти в файлі f всі слова, які містять підслово р і скласти з них новий файл.

Словесний алгоритм:

  1. Відкрити два файли(p2_8.txt, p2_88.txt).

  2. Читати файл p2_8.txt.

  3. Якщо в рядку є під слово П то записати слово в файл p2_88.txt.

  4. Закрити два файла.

Блок схема:

Програмний код:

label 1;

var f,ff,fff:text;

s,ss:string;

a,n,i:integer;

begin

assign(f,'p2_8.txt');

assign(ff,'p2_88.txt');

reset(f);

rewrite(ff);

readln(a);

while not eof(f) do begin

inc(i);if i=a then goto 1 else

readln(f,s);

while pos('sls',s)<>0 do begin

writeln(ff,s); end;

end;

1: close(f);

close(ff);

end.

Тестування програми:

Тема 3

Варіант 2.

Завдання 1. Побудувати таблицю значень функції f(x) на відрізку [а, Ь] з кроком h, знайти найбільше та найменше значення функції на цьому відрізку.

Словесний алгоритм:

  1. Запускаємо процедуру Table_end.

  2. Запускаємо процедуру Table_begin.

  3. Знову запускаємо процедуру Table_end.

  4. Блок схема:

Програмний код:

Program p3_5;

Label 1;

procedure Table_begin;

begin

writeln ('----------------------------------------------- -----------------------------------');

writeln ('| Номер| X | f (x) | Номер члена ряду|');

writeln ('----------------------------------------------- -----------------------------------');

end;

procedure Table_end;

begin

writeln ('----------------------------------------------- -----------------------------------');

end;

var

number: integer;

A, B, H, E, X, y, f,I,k: real;

begin

Writeln;

{------------------------------------------------- -----------------------}

{Введення даних}

writeln ('Введіть кордони інтервалу [A, B] (причому (A <B) ');

writeln ('і крок зміни аргументу H (H> 0)');

writeln;

repeat

begin

writeln ('Початок інтервалу A:'); readln (A);

writeln ('Кінець інтервалу B:'); readln (B);

if not (A <B) then writeln ('A повінно буті меше B!.Повторіть введення .');

end;

until (A <B);

repeat

begin

writeln ('Êðîê H:'); readln (H);

if not (H> 0) then writeln ('H повінно бути більше нуля 0!. Повторіть введення ');

end;

until (H> 0);

{------------------------------------------------- -----------------------}

writeln ('Ви ввели:');

writeln ('A =', A: 1:5, 'B =', B: 1:5, 'H =', H: 1:5, 'E =', E: 1:5);

writeln;

{------------------------------------------------- -----------------------}

X:=A;

number:=0;

Table_begin;

repeat

inc(number);

k:=sqr(sin(x))+cos(x);

if k<0 then goto 1 else

y:=sqrt(sqr(sin(x))+cos(x));

if (number mod 18) = 0 then

begin

Table_end;

Table_begin;

end;

writeln ('|', number: 5 ,'|', X: 20:13, '|', (y): 16:13, '|');

X:=X+H;

until not (X <=B);

Table_end;

end.

Тестування програми: