Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Читати файл p2_8.txt.
3. Якщо в рядку є під слово П то записати слово в файл p2_88.txt. Закрити два файла. Блок схема: Програмний код: 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.
Тестування програми:
Теми 4. ФАЙЛИ ЗАПИСІВ
МЕТА |ціль|: вивчення файлових типів даних, придбання|надбання| практичних навиків|навичок| створення|створіння| і обробки файлів, використання елементів записів, основних структур файлових даних. Варіант 2. Завдання: Запис має вигляд|вид|: назва вузу, число студентів, кількість факультетів. Додати|добавляти| в кінець файлу інформацію про три нові вузи.
Словесний алгоритм: 1. Відкриваємо файл p4_2.txt 2. Записуємо данні до файлу. 3. Дописуємо данні про три нові вузи. 4. Закриваємо файл.
Блок схема: Програмний код: program p4_2; uses crt; label 1, 2, 3, 4; type wed=record name_univer: string[20]; number_stud: integer; value_fak: integer; end; var f: text; a, i, n, g: integer; s, ss: string; comp2: wed; comp: array[1..100] of wed; begin assign(f, 'p4_2.txt'); rewrite(f); 1: writeln('Enter number record '); read(g); for i: =1 to g do begin writeln('Enter name atlet '); read(comp[i].name_univer); writeln('Enter number atlet '); read(comp[i].number_stud); writeln('Enter point atlet '); read(comp[i].value_fak); writeln(f, comp[i].name_univer, comp[i].number_stud, comp[i].value_fak); end; 4: writeln('Enter Enter the desired action '); read(a); if a=1 then goto 1 else if a=2 then goto 2 else if a=3 then goto 3 else goto 4; 3: append(f); for i: =1 to 3 do begin writeln('Enter name atlet '); read(comp[i].name_univer); writeln('Enter number atlet '); read(comp[i].number_stud); writeln('Enter point atlet '); read(comp[i].value_fak); writeln(f, comp[i].name_univer, comp[i].number_stud, comp[i].value_fak); end; close(f); 2: end. Тестування програми: Тема 5. Множини Варіант 2 Завдання 1: Дана непустая последовательность символов. Требуется построить и напе- чатать множество, элементами которого являются встречающиеся в после- довательности буквы от 'A' до 'F' и от 'X' до 'Z'.
Словесний алгоритм: 1. Вводимо рядок символів. 2. Застосовуємо множини. 3. Відсіюємо непідходящі символи. 4. Виводимо результат на екран.
Блок схема: Програмний код: Uses Crt;
Type nabor = set of char;
Var str: string [128]; M, Mzp: nabor; d, x, y, i: integer; Begin ClrScr;
Write (Введите текст: '); ReadLn (str);
d: = length (str); Mzp: = ['A'..'F', 'X'..'Z']; M: = []; for i: = 1 to d do if str [i] in Mzp then M: = M + [str[i]];
Write ('Множество: ['); for i: = 1 to 255 do if chr(i) in M then Write ('''', chr(i), ''', ');
x: = WhereX; y: = WhereY; GotoXY (x-2, y); WriteLn (']');
ReadLn; End.
Тестування програми:
Завдання 2: Операції над масивами. При виконанні завдання слід врахувати пріе-мипрограмування, використані у наведеній нижче програмі:
Program Eratosphen; Const n = 256; Var Sieve, Primes: Set of 2..n; Next: byte; j: word; Begin Sieve: = [2..n]; Primes: = [ ]; Next: = 2; repeat while not (Next in Sieve) do Next: = Next + 1; Primes: = Primes + [Next]; j: = Next; while j < = n do begin Sieve: = Sieve-[j]; j: = j + Next end; until Sieve = [ ]; for j: = 2 to n do if j In Primes then Write(j: 5)
end;
Из множества целых чисел [1..1000] получить множество чисел, являющихся квадратами четных чисел и вывести их на экран.
Словесний алгоритм: 1. Застосовуємо решето Ератосфена. 2. Вводимо відбір простих чисел. 3. Виводимо результат на екран.
|