Редагування та налагодження програм за допомогою Pascal

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

АКТЮБІНСЬК ПОЛІТЕХНІЧНИЙ КОЛЕДЖ

ЗВІТ

З НАВЧАЛЬНОЇ ПРАКТИЦІ

Виконав: Журмухамедов Марат

Перевірила: Гайсагалеева Б.М.

МАНГИШЛАК 2010

ЩОДЕННИК

ДАТА

ТЕМА

Виконані роботи

ПЕРЕВІРКА


14.06.10

Види завантаження. Основні прийоми роботи в середовищі ТР. Редагування тексту програми, процес налагодження.

Вивчили основні види завантаження і прийоми роботи в ТР і процес налагодження.



14.06.10

Вивчення команд редагування налагодження програм за допомогою командного меню Pascal.

Вивчили команди редагування налагодження програм за допомогою командного меню Pascal.



14.06.10

Оформлення програми. Розділи. Опис розділів. Призначення кожної частини програми.

Вивчили, як оформляти програми, а також призначення кожної частини програми.



15.06.10

Розробка постановки завдання. Розробка найпростіших програм з використанням команд привласнення, введення, виведення.

Навчилися складати програми з використанням найпростіших операторів введення, виведення, присвоєння.



15.06.10

Формати вводу, виводу. Команди Read, Readln, Write, Writeln.

Вивчили формати введення і виведення і команди Read, Readln, Write, Writeln.



15.06.10

Визначення типів даних. Оголошення даних. Константи. Мітки. Коментарі. Роздільники. Ознаки кінців рядків на Pascale

Вивчили різні типи даних і ознаки решт рядка на Pascal



16.06.10

Команди розгалуження. Повні і не повні команди розгалуження.

Вивчили повну і не повну форми команд розгалуження.



16.06.10

Складові оператори. Службові дужки. Використання власних операторів команди розгалуження.

Вивчили різні види складових операторів.



16.06.10

Види вираження. Порівняння з текстових і числових умов.

Вивчили види висловів та порівняння з текстовими і числовими умовами.



17.06.10

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

Вивчили складові умови їх оформлення та застосування.



17.06.10

Рішення завдань з вибору функції за значенням аргументу. Команда вибору. Визначення належності точки до фігури, до функції. Словесні умови.

Вирішували завдання вибору функції за значенням аргументу, визначали приналежність точки до фігури, до функції.



17.06.10

Рішення задач. Застосування. Обмеження налагодження.

Вирішували завдання щодо обмеження налагодження



18.06.10

Організація циклу з умовою продовження. Складові оператори в циклі WHILE DO. Застосування. Рішення задач. Блок-схема. Налагодження.

Вивчали складові оператори в циклі WHILE DO. Вирішували завдання.



18.06.10

Оператор циклу з умовою закінчення UNTIL, REPEAT. Правила застосування.

Вивчили оператор циклу з умовою закінчення UNTIL, REPEAT. Вирішували завдання.



18.06.10

Рішення задач. Блок-схема. Налагодження. Результати.

Рішення задач.



19.06.10

Оператор циклу з параметром FOR TO DO. Правила застосування. Складові оператори в циклі. Рішення задач з використанням оператора циклу з параметром.

Вивчили оператор циклу з параметром FOR TO DO. Рішення задач.



19.06.10

Знаходження суми, твори елементів ряду. Параметр циклу.

Навчилися знаходити суму та добуток елементів ряду.



19.06.10

Цикл з параметром, з вибіркою кінця. Застосування.

Вивчили оператор циклу з параметром



21.06.10

Похідні типи. Одновимірні масиви. Типи індексу. Використання значень регулярного типу.

Розглянули одновимірні масиви, похідні типи. Виконали практичну роботу.



21.06.10

Багатовимірні масиви.

Розглянули багатовимірні масиви. Виконали практичну роботу.




21.06.10

Синтаксис завдання регулярного типу.

Вивчили синтаксис регулярного типу



22.06.10

Двовимірний масиви. Матриця матриць. Створення формування і робота з двовимірними масивами. Пошук елементів в матрицях.

Вивчили двовимірний масив і роботу з двовимірним масивом.



22.06.10

Упорядкування та сортування елементів. Рішення задач на матриці.

Навчилися сортувати елементи масиву. Вирішували завдань на матриці.



22.06.10

Складання програм з використанням матриць.

Складали програми з використанням матриць.



23.06.10

Процедури без параметрів. Процедури з параметрами. Параметри - значення. Параметри-змінні

Вивчили різні види процедур: з параметрами, без параметрів, параметри-значення, параметр-змінні.



23.06.10

Параметри довільних типів. Синтаксис процедур.

Розглянули параметри довільних типів. І синтаксис процедур.



23.06.10

Визначення оператора процедури. Приклади використання процедур

Вивчили оператора процедури та його застосування.



24.06.10

Опис процедури-функції. Виклик функції. Побічні ефекти. Рекурсивні функції.

Вивчили опис процедури-функції, її виклик. Побічні ефекти.



24.06.10

Параметри-функції і параметри-процедури.

Вивчили параметри-функції і параметри-процедури.



24.06.10

Процедури і крокова деталізація.

Розглянули крокову деталізацію.



25.06.10

Строкові величини. Робота з рядковими величинами. Формування рядків з урахуванням кінця рядка. Підрахунок, заміна елементів. Видалення символів, ведучих, відомих прогалин. Пошук потрібного символу.

Навчилися працювати із строковими величинами.



25.06.10

Робота зі стандартними функціями рядків-Concat, Copy, Insert, Delete, POS, Length.

Навчилися працювати зі стандартними строковими функціями: Concat, Copy, Insert, Delete, POS, Length.


25.06.10

Функції STR, Val, UpCase.

Вивчили функції: STR, Val, UpCase.



26.06.10

Найпростіші комбіновані типи. Опис комбінованих типів. Робота з елементами комбінованого типу. Вибірка елементів.

Вивчили найпростіші комбіновані типи, їх опис, принцип роботи.



26.06.10

Багаторівневі запису.

Вивчили багаторівневі записи


26.06.10

Оператор приєднання.

Вивчили оператор приєднання.



28.06.10

Позначення множин в Паскалі. Завдання множинного типу та множинна змінна. Операції над множинами.

Вивчили множини в Паскалі.



28.06.10

Процедури роботи з множинами.

Вивчили процедури роботи з множинами.



28.06.10

Приклади використання множинного типу

Розглянули приклади множинного типу



29.06.10

Файли і робота з ними. Доступ до файлів. Імена файлів. Файли логічних пристроїв. Ініціація файлу.

Вивчили файли, доступ до них, їх імена.



29.06.10

Процедури і функції для роботи з файлами Reset, Rewrite, Append, Assign

Вивчили процедури і функції для роботи з файлами: Reset, Rewrite, Append, Assign



29.06.10

Процедури і функції для роботи з файлами Reset, Rewrite, Append, Assign

Вивчили процедури і функції для роботи з файлами: Reset, Rewrite, Append, Assign



30.06.10

Текстові файли. Їх оголошення. Робота з ними.

Вивчили текстові файли, і роботу з ними.



30.06.10

Буферна змінна і її використання.

Вивчили буферну змінну.



30.06.10

Буферна змінна і її використання.

Вивчили буферну змінну.



01.07.10

Робота з графікою в Паскалі. Графічний режим. Установка драйверів графіки. Ініціалізація драйверів графіки. Опис драйверів.

Виконували роботи в графічному режимі Паскаль.



01.07.10

Команди викреслювання точок, линів, кіл, дуг, секторів і простих геометричних фігур.

Вивчили команди викреслювання простих геометричних фігур.


01.07.10

Команди викреслювання точок, линів, кіл, дуг, секторів і простих геометричних фігур.

Вивчили команди викреслювання простих геометричних фігур.



02.07.10

Модуль Граф. Модулі установки кольорів. Модулі вибору стилів заливок-SetLineStile, SetFileStile, FlodFileStile.

Вивчили модуль Граф. І різні модулі заливки і стилів.



02.07.10

Викреслювання геометричних фігур з анімацією та організація руху та переміщення фігур по екрану.

Вивчили викреслювання геометричних фігур з анімацією і організацією руху та переміщення фігур по екрану.



03.07.10

Розробка програми графіки з використанням всіх модулів Граф.

Вивчили розробку програм з використанням модуля Граф.



03.07.10

Розробка програми графіки з використанням всіх модулів Граф.

Вивчили розробку програм з використанням модуля Граф.



03.07.10

Модулі роботи з текстом у графічному режимі. Модуль CRT. Системний модуль System.

Вивчили принцип роботи в графічному режимі.


Зміст

Лінійна програма на Паскаль

Програма з розгалуження

Циклічна програма

Масиви

Процедури і функції

Файлові дані в Паскалі

Записи в Паскалі

Рядки

Графіка в Турбо-Паскалі

Лінійна програма на Паскаль

Завдання 1. Скласти алгоритм обчислення y = 55 * (a + b)

program as; Блок-схема

uses crt;

var a, b, c, y: integer;

begin clrscr;

writeln ('Введи значення a, b);

readln (a, b);

c: = a + b;

y: = 55 * c;

writeln ('y =', y);

readln;

end.


(Вводимо значення 5,3)

Відповідь: 440

Завдання 2. Скласти алгоритм обміну значень 2х змінних A і B

program as; Блок-схема

uses crt;

var a, b, c: integer;

begin clrscr;

writeln ('Введи значення a, b');

readln (a, b);

c: = a;

a: = b;

b: = c;

writeln ('obmen', a ,'-', b);

readln;

end.

(Вводимо значення 5,6)

Відповідь: 6,5

Завдання 3. Обчислити площу городу, що має форму прямокутника, якщо відомі сторони А і В

program as; Блок-схема

uses crt;

var a, b, c: integer;

begin clrscr;

writeln ('Введи сторони А і В');

readln (a, b);

c: = (a + b) * 2;

writeln ('Площа городу =', c);

readln;

end.


(Вводимо значення 5,6)

Відповідь: 22

Завдання 4. Знайти середнє арифметичне чисел x, y, z

program as; Блок-схема

uses crt;

var x, y, z: integer; d: real;

begin clrscr;

writeln ('Bведі x, y, z');

readln (x, y, z);

d: = (x + y + z) / 3;

writeln (d: 5:2);

readln;

end.

(Вводимо значення 5,6,7)

Відповідь: 6.00

Завдання 5.Найті масу х літрів молока, якщо відомо, що щільність молока р кг / м 3

program as; Блок-схема

uses crt;

var x, p, m: real;

begin clrscr;

writeln ('Bведі х (у літрах), р (щільність) молока');

readln (x, p);

m: = x/100 * p;

writeln (m);

readln;

end.

(Вводимо значення 7л, 1030кг / м 3)

Відповідь: 7,21 кг

Завдання 6.Об'ем циліндра дорівнює V, а площа основи - S. Яка висота циліндра H?

program as; Блок-схема

uses crt;

var v, s, h: real;

begin clrscr;

writeln ('Введи об'єм циліндра і площ. його осн.');

readln (v, s);

H: = v / s;

writeln ('Висота циліндра =', H);

readln;

end.

(Вводимо значення 10,5)

Відповідь: 2м

Завдання 7.Дана довжина куба а. Знайти об'єм куба v і площа його бічній поверхні s.

program as;

uses crt;

var v, s, a: real;

begin clrscr;

writeln ('Bведі довжину ребра куба');

readln (a);

v: = a * a * a;

s: = 4 * a * a;

writeln ('об'єм =', v, 'площ.бок.пов .=', s);

readln;

end.

(Вводимо значення 5)

Відповідь: v = 125, s = 100

Завдання 8. Скласти алгоритм обчислення y = 2 2 * ((a + b) / 2)

program as; Блок-схема

uses crt;

var a, b, c: integer; d, y: real;

begin clrscr;

writeln ('Введи значення а, b');

readln (a, b);

c: = a + b;

d: = c / 2;

y: = sqr (2) * d;

writeln (y: 5:2);

readln;

end.

(Вводимо значення 5,5)

Відповідь: 20

Завдання 9.Ізвестна довжина окружності.Найті площа кола, огранич. цим колом

program as; Блок-схема

uses crt;

var a, b: real;

begin clrscr;

writeln ('Введи довжину окужності');

readln (a);

b: = (a * a) * pi;

writeln ('Знайти S кола =', b: 5:2);

end.

(Вводимо значення 5)

Відповідь: 78,5

Заданіе10. Дано натуральне число n (n> 9). Знайти число одиниць у ньому

program as; Блок-схема

uses crt;

var a, d: integer;

begin clrscr;

writeln ('Введи натуральне чісно');

readln (a);

d: = a mod 10;

writeln ('Кількість одиниць в ньому =', d);

readln;

end.

(Вводимо значення 6)

Відповідь: одиниць = 6

Заданіе11.Дано відстань у сантиметрах. Знайти число повних метрів у ньому.

program as; Блок-схема

uses crt;

var a, m: integer;

begin clrscr;

writeln ('Введи відстань у сантиметрах');

readln (a);

m: = a div 100;

writeln ('Отримай відстань в метрах', m);

readln;

end.

(Вводимо значення 200)

Відповідь: 2м

Заданіе12. Скласти алгоритм обчислення y = 7x 2-3x +6

program as; Блок-схема

uses crt;

var x, y: integer;

begin clrscr;

writeln ('Bведі значення х');

readln (x);

y: = 7 * (sqr (x)) -3 * x +6;

writeln ('Y =', y);

readln;

end.

(Вводимо значення 6)

Відповідь: 240

Заданіе13.Каков об'єм кисню, що міститься в кімнаті розміром a * b * c, якщо кисень складає 21% об'єму повітря?

program as; Блок-схема

uses crt;

var a, b, c, v: real;

begin clrscr;

writeln ('Bвeді a, b, c');

readln (a, b, c);

v: = 0.21 * a * b * c;

writeln ('об'єм кисню =', v);

readln;

end.

(Вводимо значення 5,6,7)

Відповідь: 4.41

Заданіе14. Скласти алгоритм обчислення A = x 2 + bx / 2

program as; Блок-схема

uses crt;

var a, b, x, z, s, v: real;

begin clrscr;

writeln ('Введи значення x, b');

readln (x, b);

z: = x * x * x * x * x;

s: = b * x;

v: = z + s;

A: = v / 2;

writeln ('A =', a);

readln;

end.

(Вводимо значення 2,3)

Відповідь: 1.9

Заданіе15.Определіть час падіння каменя на поверхню землі з висоти h.

program as; Блок-схема

uses crt;

var g, t, h: real;

begin clrscr;

writeln ('Введи значення h');

readln (h);

t: = sqrt (2 * h / g);

writeln ('час падіння =', t);

readln;

end.

(Вводимо значення 10 м)

Відповідь: 1,4278 з

Програма з розгалуження

Завдання 1.Дани 2 цілих числа, визначити яке з них більше

Program as; Блок-схема

Uses crt;

Var a, b: integer;

Max: integer;

Begin clrscr;

Writeln ('Введи 2 числа');

Readln (a, b);

If a> b then max: = a else max: = b;

Writeln ('Максимально =', max);

Readln;

End.

(Вводимо значення 5,6)

Відповідь: 6

Завдання 2.Ізвестни сторони трикутника, визначити чи рівні його боку (равноб) або різнобічно.

program as; Блок-схема

uses crt;

var a, b, c: integer;

begin clrscr;

writeln ('Введи боку');

readln (a, b, c);

if (a = b) or (a = c) or (c = b) Так Ні

then writeln ('равноб.') else writeln

('Різниці. ");

readln;

end.

(Вводимо значення 5,5,6)

Відповідь: Равноб.

Завдання 3.Проверіть, чи належить число, введене з клавіатури, інтервалу (-5; 3).

Program as; Блок-схема

Uses crt;

Var a, b, x: integer;

Begin clrscr;

Readln (x);

If (x> =- 5) and (x <= 3) then

Writeln ("так") else writeln ('немає');

End.

(Вводимо значення 2)

Відповідь: Належить



Завдання 4.Дано 2х зн. число. Визначити чи входить в нього цифра 3

Program as; Блок-схема

Uses crt;

Var a: integer;

Begin clrscr;

Writeln ('Введи 2х зн. Число');

Readln (a);

If (a div 10 = 3) or (a mod 10 = 3)

Then writeln ('Входить');

Else writeln ('Не входить');

Readln;

End.

(Вводимо значення 53)

Відповідь: Входить


Завдання 5. Дано 2х зн. число. Визначити яка з його цифр більше

Program as; Блок-схема

Uses crt;

Var a, d, e, max: integer;

Begin clrscr;

Writeln ('Дано 2х зн. Число');

Readln (a);

D: = a div 10;

E: = a mod 10;

If d> e then max: = d else max: = e;

Writeln ('Макс =', max);

Readln;

End.


(Вводимо значення 96)

Відповідь: 9


Завдання 6.Дани 2 цілих числа А і В, з'ясувати яв. Чи 2 числа, парними

Program as; Блок-схема

Var a, b: integer;

Begin clrscr;

Writeln ('Введи 2 цілих числа А і В');

Readln (a, b);

If a mod 2 = 0 then writeln ('парне')

else writeln ('не парне');

If b mod 2 = 0 then writeln ('парне');

else writeln ('не парне');

Readln;

End.

(Вводимо значення 5,6)

Відповідь: не парне, парне


Завдання 7.Решіть приклад-4x 2 +8, x <0

Y =

x 2 +3 x +4, x> 0 Блок-схема

Program as;

Uses crt;

Var x, y: integer;

Begin clrscr;

Writeln ('Введи аргумент x');

Readln (x);

If x> 0 then Y: =- 4 * sqr (x) +8

else Y: = sqr (x) +3 * x +4;

writeln ('Y =', y);

readln;

end.

Завдання 8. Дани три дійсних числа a, b, c. Перевірити чи виконується нерівність a <b <c.

program as; Блок-схема

uses crt;

var a, b, c: integer;

begin clrscr;

writeln ('Введи три числа');

readln (a, b, c);

if (a <b) and (b <c) then writeln ('вірно')

else writeln ('не вірно');

readln;

end.

(Вводимо значення 5,6,7)

Відповідь: виконується

Завдання 9.Дани три дійсних числа. Визначити, чи є серед них хоча б пара рівних між собою чисел

Program as; Блок-схема

Uses crt;

Var a, b, c: integer;

Begin clrscr;

Writeln ('Введи 3 числа');

Readln (a, b, c);

If (a = b) or (a = c) or (b = c) then writeln ('є')

else writeln ('не є');

end.

(Вводимо значення 5,6,7)

Відповідь: не є


Заданіе10.Дано дійсне число. Вивести на екран його абсолютну величину

Program as; Блок-схема

Uses crt;

Var a: real;

Begin clrscr;

Readln (a);

if (a> 0) or (a <0) then writeln (abs (a): 5:2);

readln;

end.


(Вводимо значення 56)

Відповідь: отримуємо абсол. величину.

Заданіе11. Дано 2 цілих числа, визначити яке з них менше

Program as; Блок-схема

Uses crt;

Var a, b: integer;

Min: integer;

Begin clrscr;

Writeln ('Введи 2 числа');

Readln (a, b);

If a <b then min: = a else min: = b;

Writeln ('Мінімальна =', min);

Readln;

End.

(Вводимо значення 5,6) Відповідь: 5

Заданіе12. Дано 2 числа. Якщо кв.корень з другого числа менше першого числа, то збільшити друге число в 5 разів

program as; Блок-схема

uses crt;

var a, b, d, c: real;

begin clrscr;

writeln ('Введи 2 числа');

readln (a, b);

d: = sqrt (a);

c: = sqrt (b);

if (d <c) then

writeln ('збільшити 2 число в 5 разів', c * c * c * c * c: 5:2)

else writeln ('немає рішення');

readln;

end.


Відповідь: ні рішення

Заданіе13. Дано число. Якщо це число парне, то / 2 якщо немає, то * 2

Program as; Блок-схема

Var a: integer;

Begin clrscr;

Writeln ('Введи число');

Readln (a);

If a mod 2 = 0 then writeln (a / 2)

else writeln (a * 2);

Readln;

End.


(Вводимо значення 5)

Відповідь: 10

Заданіе14.Дани 4 дійсних числа. Знайти суму тих чисел, які більше 5

Program as; Блок-схема

Uses crt;

Var a, b, c, d, k, z, x, v: integer;

Begin clrscr;

Writeln ('Введи 4 числа');

Readln (a, b, c, d);

If a> 5 then k: = a;

If b> 5 then z: = b;

If c> 5 then x: = c;

If d> 5 then v: = d;

Writeln ('Загальна сума =', k + z + x + v);

End.


(Вводимо значення 6,6,6,6)

Відповідь: 24

Заданіе15.Дани 3 числа a, b, c. Знайти максимальне

Program as; Блок-схема

Uses crt;

Var a, b, c: integer;

Max, max1: integer;

Begin clrscr;

Writeln ('Введи 3 числа');

Readln (a, b, c);

If a> b then max: = a else max: = b;

If max> c then max1: = max else max1: = c;

Writeln ('Максимально =', max1);

Readln;

End.

(Вводимо значення 5,6,7)

Відповідь: 7


Циклічна програма

Завдання 1.Надрукуйте "стовпчиком": всі цілі числа від 20 до 35

Program as; Блок-схема

Uses crt;

Var a: integer;

Begin clrscr;

For a: = 20 to 35 do writeln (a);

Readln;

end.



Завдання 2.Напечатать "стовпчиком": квадрати всіх цілих чисел від 10 до b (значення b вводиться з клавіатури, причому b> 10)

Program as; Блок-схема

Uses crt;

Var a, j: integer;

Begin clrscr;

Writeln ('Введи число');

Readln (j);

For a: = 10 to j do writeln (sqrt (a): 5:2);

Readln;

end.



Завдання 3.найти суму квадратів всіх цілих чисел від 10 до 50

Program as;

Uses crt;

Var a, s: real;

Begin clrscr;

For a: = 10 to 50 do s: = sqr (a) + s;

Writeln (s);

end.



Завдання 4.Одна штука деякого товару коштує 20 тенге. Надрукувати таблицю вартості 2,3 ... 20 штук цього товару

Блок-схема

Program as;

Uses crt;

Var a, b: integer;

Begin clrscr;

B: = 20;

For a: = 2 to 20 do writeln (a * b);

Readln;

end.


Завдання 5. Знайти добуток усіх цілих чисел від 1 до А (значення А вводиться з клавіатури; 1 <= A <= 20.

program as; Блок-схема.

uses crt;

var a, b, p: integer;

begin clrscr;

p: = 1;

readln (a);

for b: = 1 to a do if (1 <= a) and (a <= 20) then

p: = p * a;

writeln (p);

readln;

end.


(Вводимо значення 4)

Відповідь: 256



Завдання 6.Напечатать програму, друкувальну таблицю значень функції y = cos2x на відрізку [0; 1] з кроком h = 0,1

Program as; Блок-схема

Uses crt;

Var y, x: real;

Begin clrscr;

X: = 0;

While x <= 1 do begin y: = cos (2 * x);

Writeln (y: 5:2);

X: = x +0,1;

End;

End.

Завдання 7.Напечатать програму, обчислення факторіала

Program as; Блок-схема

Uses crt;

Var i, n: integer;

f: real;

Begin clrscr;

Readln (n);

F: = 1; i: = 1;

While i <= n do begin f: = f * i;

i: = succ (i);

end;

Writeln ('факторіал від', n, 'дорівнює', f);

End.

Завдання 8.Программа підрахунку суми S перших 1000 членів гармонійного ряду 1 +1 / 2 +1 / 3 + ​​... 1 / N

Program as; Блок-схема

Uses crt;

Var s: real;

N: integer;

Begin clrscr;

S: = 0; N: = 0;

While n <1000 do begin N: = n +1;

S: = s +1 / N;

End;

Writeln (s);

Readln;

End.


Завдання 9.Вичісліть найбільший спільний дільник двох натуральних чисел А і В.

Program as; Блок-схема

Uses crt;

Var a, b: integer;

Begin clrscr;

writeln ('Введи 2 натур. Числа');

readln (a, b);

While a <> b do if a> b then a: = ab

Else b: = ba;

Writeln ('НОД =', a);

Readln;

End.


Заданіе10. Дано цілі числа А і В (а> b). Визначити: Результат цілочисельного ділення А на В, не використовуючи стандартну операцію цілочисельного ділення

Program as; Блок-схема

Uses crt;

Var a, b, n: integer;

Begin clrscr;

writeln ('Введи 2 числа, a> b');

readln (a, b);

n: = 0;

While a <= b do begin

N: = n +1;

A: = ab;

\ End;

Writeln ('результат =', n);

Readln;

End.

Заданіе11.Напішіте програму, яка вводить цілі числа з клавіатури і складає їх, поки не буде введено число 0

Program as; Блок-схема

Uses crt;

Var N, s: integer;

Begin clrscr;

S: = 0;

Repeat write ('Введи число');

Readln (n);

S: = s + n;

Until n = 0;

Writeln ('S =', s);

Readln;

End.

Заданіе12. Надрукуйте 20 перших ступенів числа 2

Program as; Блок-схема

Uses crt;

Var N, s: longint;

Begin clrscr;

S: = 1; n: = 1;

Repeat s: = s * 2;

Write (s, '');

N: = n +1;

Until n> 20;

Readln;

End.

Заданіе13. Відомі оцінки з інформатики 20 учнів класу. На початку списку перераховані всі п'ятірки, потім всі інші оцінки. Скільки учнів мають по інфор-ке оцінку «5»?

Program as; Блок-схема

Uses crt;

Var x, n: integer;

Begin clrscr;

Write ('Введи оцінку');

Readln (x);

N: = 0;

While x = 5 do begin

N: = n +1;

Write ('Введи оцінку');

Readln (x);

End;

Writeln ('мають відмінно ", n,' учнів");

End.

Заданіе14.Вивесті на екран таблицю множення.

Program as; Блок-схема

Uses crt;

Var I, j: integer;

Begin clrscr;

For i: = 1 to 9 do

For j: = 1 to 9 do writeln (I, *, j, '', i * j);

Readln;

End.

Заданіе15.Составіть програму, друкувальну на екрані всі парні числа в діапазоні від 100 до 999.

Program as; Блок-схема

Uses crt;

Var a: integer;

Begin clrscr;

For a: = 100 to 999 do

If a mod 2 = 0 then writeln (a);

End.




Масиви

Завдання 1.Создать одновимірний масив і знайти суму парних елементів і твір непарних елементів

program as;

uses crt;

var a: array [1 .. 5] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 5 do a [i]: = random (8);

for i: = 1 to 5 do begin

writeln;

for i: = 1 to 5 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 5 do

if a [i] mod 2 = 0 then

s: = s + a [i]; writeln;

p: = 1;

for i: = 1 to 5 do

if a [i] mod 2 <> 0 then p: = p * a [i];

writeln;

writeln (s);

writeln (p);

end.

Завдання 2.Составіть програму формування одновимірного масиву і обчислення добутку всіх елементів масиву

program as;

uses crt;

var a: array [1 .. 5] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 5 do a [i]: = random (8);

for i: = 1 to 5 do begin

writeln;

for i: = 1 to 5 do write (a [i]: 5);

end;

writeln;

p: = 1;

for i: = 1 to 5 do p: = p * a [i];

writeln (p); end.

Завдання 3.Дан одновимірний масив обчислити добуток всіх парних елементів масиву

program as;

uses crt;

var a: array [1 .. 5] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 5 do a [i]: = random (8);

for i: = 1 to 5 do begin

writeln;

for i: = 1 to 5 do write (a [i]: 5);

end;

writeln;

p: = 1;

for i: = 1 to 5 do if a [i] mod 2 = 0 then p: = p * a [i];

writeln (p);

end.

Завдання 4.Дан масив обчислити суму всіх елементів більше 5

program as;

uses crt;

var a: array [1 .. 5] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 5 do a [i]: = random (88);

for i: = 1 to 5 do begin

writeln;

for i: = 1 to 5 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 5 do if a [i]> 5 then p: = p + a [i];

writeln (p);

readln;

end.

Завдання 5.Подщітать кількість елементів рівних 7

program as;

uses crt;

var a: array [1 .. 7] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 7 do a [i]: = random (88);

for i: = 1 to 7 do begin

writeln;

for i: = 1 to 7 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 7 do if a [i] = 7 then p: = p +1;

writeln (p);

readln;

end.

Завдання 6. Дано масив помножити всі елементи на 20

program as;

uses crt;

var a: array [1 .. 7] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 7 do a [i]: = random (88);

for i: = 1 to 7 do begin

writeln;

for i: = 1 to 7 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 7 do

write (a [i] * 20:3);

readln;

end.

Завдання 7. Дано масив всі парні елементи замінити на 2, а не парні подвоїти

program as;

uses crt;

var a: array [1 .. 7] of integer;

i, s, p: integer;

begin clrscr;

for i: = 1 to 7 do a [i]: = random (88);

for i: = 1 to 7 do begin

writeln;

for i: = 1 to 7 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 7 do if a [i] mod 2 = 0 then writeln (sqr (a [i]));

for i: = 1 to 7 do if a [i] mod 2 <> 0 then writeln (2 * a [i]);

readln;

end.

Завдання 8. Дан одновимірний масив знайти максимальний елемент

program as;

uses crt;

var a: array [1 .. 15] of integer;

i, max: integer;

begin clrscr;

for i: = 1 to 15 do a [i]: = random (88);

for i: = 1 to 15 do begin

writeln;

for i: = 1 to 15 do write (a [i]: 5);

end;

writeln;

max: = 1;

for i: = 1 to 15 do if a [i]> a [max] then max: = i;

writeln (a [max]);

readln;

end.

Завдання 9. Дан одновимірний масив знайти min елемент

program as;

uses crt;

var a: array [1 .. 15] of integer;

i, min: integer;

begin clrscr;

for i: = 1 to 15 do a [i]: = random (88);

for i: = 1 to 15 do begin

writeln;

for i: = 1 to 15 do write (a [i]: 5);

end;

writeln;

min: = 1;

for i: = 1 to 15 do if a [i] <a [min] then min: = i;

writeln (a [min]);

readln;

end.

Заданіе10. Дано масив скопіювати всі його елементи в інший масив такого ж елемента

program as;

uses crt;

var a: array [1 .. 15] of integer;

I, b: integer;

begin clrscr;

for i: = 1 to 15 do a [i]: = random (88);

for i: = 1 to 15 do begin

writeln;

for i: = 1 to 15 do write (a [i]: 5);

end;

writeln;

for i: = 1 to 15 do a [i]: = b [i];

for i: = 1 to 15 do write (a [i]);

writeln ('Копіюв');

for i: = 1 to 15 do write (b [i]: 4);

readln;

end.

Заданіе11. Скласти програму обміну першого і третього елем. рядки матриці

program as;

uses crt;

var a: array [1 .. 15] of integer;

I, b, c: integer;

begin clrscr;

for i: = 1 to 15 do a [i]: = random (88);

for i: = 1 to 15 do begin

writeln;

for i: = 1 to 15 do write (a [i]: 5);

end;

writeln;

c: = a [1];

a [1]: = a [3];

a [3]: = c;

for i: = 1 to 15 do write (a [i]: 5);

end.

Заданіе12. Дан 2 мірний масив. Вивести на екран всі елементи другого рядка

program as;

uses crt;

var a: array [1 .. 4,1 .. 4] of integer;

i, j: integer;

begin clrscr;

for i: = 1 to 4 do

for j: = 1 to 4 do a [i, j]: = random (99);

for i: = 1 to 4 do begin

writeln;

for j: = 1 to 4 do write (a [i, j]: 5);

end;

writeln;

writeln;

for j: = 1 to 4 do write (a [2, j]: 3);

end.

Заданіе13. Дан одновимірний масив. Поміняти вміст двох довільних осередків

program as;

uses crt;

var a: array [1 .. 10] of integer;

i, k, m: integer;

begin clrscr;

writeln;

for i: = 1 to 10 do a [i]: = random (99);

for i: = 1 to 10 do write (a [i]: 5);

writeln;

writeln;

k: = a [2];

a [2]: = a [4];

a [4]: = k;

for i: = 1 to 10 do write (a [i]: 5);

end.

Заданіе14. Дан 2 мірний масив. Замінити всі елементи кратні 5, нулями

program as;

uses crt;

var a: array [1 .. 5,1 .. 5] of integer;

i, j, s: integer;

begin clrscr;

for i: = 1 to 5 do

for j: = 1 to 5 do a [i, j]: = random (6);

for i: = 1 to 5 do begin

writeln;

for j: = 1 to 5 do write (a [i, j]: 5);

end;

writeln;

for i: = 1 to 5 do

for j: = 1 to 5 do begin

if a [i, j] mod 5 = 0 then a [i, j]: = 0;

end;

for i: = 1 to 5 do begin writeln;

for j: = 1 to 5 do write (a [i, j]: 5);

end;

end.

Заданіе15. Дано масив обчислити суму всіх елементів більше 20

program as; end;

uses crt; writeln;

var a: array [1 .. 10] of integer; for i: = 1 to 10 do if a [i]> 20 then p: = p + a [i];

i, s, p: integer; writeln (p);

begin clrscr; readln;

for i: = 1 to 10 do a [i]: = random (88); end.

for i: = 1 to 10 do begin

writeln;

for i: = 1 to 10 do write (a [i]: 5);

Процедури і функції

Завдання 1. Скласти програму обчислення числа поєднання C = n! (nm)!

program as;

uses crt;

var m, n, p1, p2, p3: integer;

c: real;

procedure factor (x: integer; var p: integer);

var i: integer;

begin p: = 1;

for i: = 1 to x do p: = p * i;

end;

begin clrscr;

writeln ('Vvedi m, n');

readln (m, n);

factor (m, p1);

factor (n, p2);

factor (nm, p3);

c: = p1 / (p2 * p3);

writeln (c: 5:2);

end.

Завдання 2. Скласти програму знаходження меншого з 5 заданих чисел, використовуючи процедуру знаходження меншого з 2 заданих чисел

Program as;

Uses crt;

Var a, b, c, d, e, z1, z2, z3, z4, z5: integer;

Procedure min (x, y: integer; var z: integer);

Begin;

If x <y then z: = x else z: = y;

Writeln (z);

End;

Begin clrscr;

Readln (a, b, c, d, e);

Min (a, b, z1);

Min (z1, c, z3);

Min (z3, d, z4);

Min (z4, e, z5);

End.

Завдання 3. Написати програму знаходження суми більшого і меншого з 3 заданих чисел

Program as;

Uses crt;

Var a, b, c, d, v, v1, max, max1, min, min1: integer;

Procedure ma (x, y, z: integer; var v: integer);

Begin clrscr;

If x <y then max: = x else max: = y;

If max <z then max1: = max else max1: = z;

If x> y then min: = x else min: = y;

If min> z then min1: = min else min1: = z;

V: = min1 + max1;

End;

Begin clrscr;

Readln (a, b, c);

Ma (a, b, c, v1);

Writeln (v1);

End.

Завдання 4. Скласти програму обчислення сумою фактор. всіх парних чисел від m до n

program as;

uses crt;

var a, b, c, n, m, s, k, p1, p: integer;

procedure factor (x: integer; var p: integer);

var i: integer;

begin p: = 1;

for i: = 1 to x do begin p: = p * I; end;

writeln (p);

end;

begin clrscr;

writeln ('Vvedi n, m');

readln (n, m);

for k: = n to m do if k mod 2 = 0 then begin

factor (k, p1);

s: = s + p1;

end;

writeln (s);

end.

Завдання 5. Дано 5 чисел, знайти їх найбільший спільний дільник, використовуючи процедуру. Для алгоритму їх виду

program as;

uses crt;

var a, b, c, d, e, z1, z2, z3, z: integer;

procedure E (x, y: integer; var z: integer);

begin

while x <> y do if x> y then x: = xy

else y: = y-1;

z: = x;

end;

begin clrscr;

writeln ('Vvedi a, b, c, d, e');

readln (a, b, c, d, e);

E (a, b, z);

E (c, d, z1);

E (z, z1, z2);

E (z2, e, z3);

writeln (z3);

end.

M!

Завдання 6. Скласти програму обчислення числа поєднання C = n! (nm)! за допомогою функції

program as;

uses crt;

var f1, f2, f3, m, m1, n: integer;

c: real;

Function factor (n: integer): integer;

var p, i: integer;

begin p: = 1;

for i: = 1 to n do p: = p * i;

factor: = p;

end;

begin

read (m, n);

f1: = factor (m);

f2: = factor (n);

m1: = nm;

f3: = factor (m1);

c: = f1 / (f2 * m1);

writeln (c: 5:2);

end.

Завдання 7. Знайти НОК двох чисел за формулою НОК (a, b) = НОД

Program as;

Uses crt;

Var m, n, z, nod, a, nok: integer;

Procedure F (a, b: integer; var nod: integer);

Begin

While a <> b do if a> b then a: = ab else b: = ba;

Nod: = a;

End;

Begin clrscr;

Readln (m, n);

F (m, n, z);

Nok: = trunk (z / (m * n));

Writeln (nok);

End.

Завдання 8. Трехугольнік заданий з координ. своїх вершин. Скласти програму обчислення його периметра

Program as;

Uses crt;

Var a1, a2, c1, c2, b1, b2: integer;

d1, d2, d3, d: real;

c, p: real;

procedure F (x1, x2, y1, y2: integer; var d: read);

begin

d: = sqrt (sqr (x2-x1) + sqr (y2-y1));

writeln (d: 5:2);

end;

begin clrscr;

readln (a1, a2, b1, b2, d1, d2);

F (a1, a2, c1, c2, d1);

F (c1, c2, b1, b2, d2);

F (d1, d2, a1, a2, d3);

P: = d1 + d2 + d3;

Writeln (p: 8:5);

End.

Завдання 9. Збільшити вдвічі всі елементи масиву

program as;

const n = 10; m = 20;

type T1 = array [1 .. n] of integer;

T2 = array [-m .. m] of integer;

var A: T1; B: T2; k: integer;

Procedure Double (var X: array of integer);

var i: byte;

begin

for i: = 0 to High (X) -1 do X [i]: = X [i] * 2;

end;

begin

for k: = 1 to n do read (A [k]);

for k: =- m to m do read (B [k]);

Double (A);

Double (B);

Double (k);

writeln ('k =', k);

for k: = 1 to n do write (A [k], '');

writeln;

for k: =- m to m do write (B [k], '');

end.

Завдання 10. Використання типізованих констант

program typed_const;

var N: integer;

procedure Test;

const k: integer = 1;

begin

if k <N then

begin

writeln (k, '-й виклик процедури');

k: = k +1;

Test;

end

else writeln ('останній виклик процедури');

end;

begin

read (N);

if N> 0 then Test;

end.

Завдання 11. Обчислити N-е число Фіббоначчі

program Fib;

var n: byte;

function F (k: byte): word;

begin

if k <2 then F: = 1 else F: = F (k-1) + F (k-2);

end;

begin

write ('введіть номер числа Фіббоначчі');

readln (N);

writeln (N, '-е число Фіббоначчі =', F (N));

readln

end.

Заданіе12. Дано 5 чисел, знайти їх найбільший спільний дільник, використовуючи процедуру. Для алгоритму їх виду

program as;

uses crt;

var a, b, c, d, e, z1, z2, z3, z: integer;

procedure E (x, y: integer; var z: integer);

begin

while x <> y do if x> y then x: = xy

else y: = y-1;

z: = x;

end;

begin clrscr;

writeln ('Vvedi a, b, c, d, e');

readln (a, b, c, d, e);

E (a, b, z);

E (c, d, z1);

E (z, z1, z2);

E (z2, e, z3);

writeln (z3);

end.

Заданіе13. Трехугольнік заданий з координ. своїх вершин. Скласти програму обчислення його периметра

Program as;

Uses crt;

Var a1, a2, c1, c2, b1, b2: integer;

d1, d2, d3, d: real;

c, p: real;

procedure F (x1, x2, y1, y2: integer; var d: read);

begin

d: = sqrt (sqr (x2-x1) + sqr (y2-y1));

writeln (d: 5:2);

end;

begin clrscr;

readln (a1, a2, b1, b2, d1, d2);

F (a1, a2, c1, c2, d1);

F (c1, c2, b1, b2, d2);

F (d1, d2, a1, a2, d3);

P: = d1 + d2 + d3;

Writeln (p: 8:5);

End.

Заданіе14. Скласти програму для обчислення визначеного інтеграла

tk

2t

I = S --------------- dt

sqrt (1-sin2t)

tn

обчислюється за формулою:

ISimps = 2 * h / 3 * (0.5 * F (A) +2 * F (A + h) + F (A +2 * h) +2 * F (A +3 * h )+...

+2 * F (Bh) +0.5 * F (B))

Program INTEGRAL;

type

Func = function (x: Real): Real;

var

I, TN, TK: Real;

N: Integer;

{$ F +}

Function Q (t: Real): Real;

begin

Q: = 2 * t / Sqrt (1-Sin (2 * t));

end;

{$ F-}

Procedure Simps (F: Func; a, b: Real; N: Integer; var INT: Real);

var

sum, h: Real;

j: Integer;

begin

if Odd (N) then N: = N +1;

h: = (ba) / N;

sum: = 0.5 * (F (a) + F (b));

for j: = 1 to N-1 do

sum: = sum + (j mod 2 +1) * F (a + j * h);

INT: = 2 * h * sum / 3

end; begin WriteLn ('Введіть TN, TK, N');

Read (TN, TK, N);

Simps (Q, TN, TK, N, I);

WriteLn ('I =', I: 8:3)

end.

Заданіе15. Записати відрізок-X (-1, -10), за допомогою функції

program as;

function A (x: integer): integer;

begin

a: =- x;

end;

var i: integer;

begin

for i: = 1 to 10 do writeln (a (i));

end.

Файлові дані в Паскалі

Завдання 1. Дан текстовий файл, порахувати кількість рядків у ньому

Program as;

Uses crt;

Var F: text; a: string; s: integer;

Begin clrscr;

Assign (f, 'a1.txt');

Reset (f);

While not (eof (f)) do begin

Readln (f, a);

S: = s +1; end;

Close (f);

Writeln (s);

End.

Завдання 2. Створити текстовий файл і записати в нього фразу: «Здрастуй Мир!»

Program as;

Uses crt;

Var F: text; a: string;

Begin clrscr;

Assign (f, 'a.txt');

Rewrite (f);

Readln (a);

Writeln (f, a);

Close (f);

End.

Завдання 3. Створити текстовий файл і записати в нього слово «Привіт»

Program as;

Uses crt;

Var F: text; a: string;

Begin clrscr;

Assign (f, 'A.txt');

Rewrite (f);

Readln (a);

Writeln (f, a);

Close (f);

End.

Завдання 4. Створити текстовий файл і записати в нього 5 однакових чисел

Program as;

Uses crt;

Var F: text; a: string; i: integer;

Begin clrscr;

Assign (f, 'text.txt');

Rewrite (f);

For i: = 1 to 5 do

Writeln (f, 5);

Close (f);

End.

Завдання 5. Створити текстовий файл і записати в нього всі числа від 10 до 16

Program as;

Uses crt;

Var F: text; a: string; i: integer;

Begin clrscr;

Assign (f, 'text.txt');

Rewrite (f);

For i: = 10 to 16 do

Writeln (f, i);

Close (f);

End.

Завдання 6. Створити текстовий файл і записати в нього 5 однакових слів

Program as;

Uses crt;

Var F: text; a: string;

Begin clrscr;

Assign (f, 'A.txt');

Rewrite (f);

Readln (a);

Writeln (f, a);

Close (f);

End.

Завдання 7. Дан текстовий файл перенести його рядки в інший файл

Program as;

Uses crt;

Var f, t: text; a: string;

Begin clrscr;

Assign (f, '202as. Txt '); assign (t, '201as. Txt');

Reset (f); rewrite (t);

While not (eof (f)) do begin

Readln (f, a);

Writeln (t, a);

End;

Close (f);

Close (t);

Readln;

End.

Завдання 8. Є текстовий файл, надрукувати всі його рядки починаючи з літери Т

Program as;

Uses crt;

Var f: text; a: string;

Begin clrscr;

Assign (f, '202as. Txt ');

Reset (f);

While not (eof (f)) do begin

Readln (f, a);

If copy (a, 1,1) = 'T' then

Writeln (a);

End;

Close (f);

Readln;

End.

Завдання 9. Є текстовий файл порахувати кількість рядків починаються на букву А

Program as; readln (f, a);

Uses crt; if copy (a, 1,1) = 'A' then k: = k +1;

Var F: text; a: string; k: integer; end;

Begin clrscr; close (f);

Assign (f, 'abc.txt'); writeln (k);

Reset (f); end.

While not (Eof (f)) do begin

Заданіе10. Всі парні рядки цього файлу записати у 2 файл, а не парні в 3 файл

Program as;

Uses crt;

Var F, t, g: text; a: string; k: integer;

Begin clrscr;

Assign (f, 'abc.txt'); assign (t, 'cop.txt'); Assign (g, 'cap.txt');

Reset (f); rewrite (t); rewrite (g);

While not (Eof (f)) do begin

Readln (f, a);

K: = k +1;

If k mod 2 = 0 then writeln (t, a) else writeln (g, a);

End;

Close (f); close (t); close (g);

End.

Заданіе11. Знайти суму елементів одновимірного масиву рез-т записати в текстовий файл

Program as;

Uses crt;

Var f: text; a: array [1 .. 10] of integer; i, s: integer;

Begin clrscr;

Writeln ('Введення масиву');

Assign (f, 'abc.txt'); rewrite (f);

For i: = 1 to 10 do begin write ('Введи', I, 'елемент масиву');

Readln (a [i]);

End;

Writeln;

For i: = 1 to 10 do s: = s + a [i];

Writeln (f, s);

Close (f);

End.

Заданіе12. Створити текстовий файл і записати в нього всі числа від 5 до 25

Program as;

Uses crt;

Var F: text; a: string; i: integer;

Begin clrscr;

Assign (f, 'text.txt'); Rewrite (f);

For i: = 5 to 25 do

Writeln (f, i);

Close (f);

End.

Заданіе13. Дано слово подвоїти його кожну букву і записати його в текст. файл

Program as;

Uses crt;

Var f: text; a: string; I, s: integer;

Readln (a);

For i: = 1 to length (a) * 2 do begin insert

Copy (a, I, 1), a, i);

I: = i +1;

End;

Writeln (f, a);

Close (f);

End.

Заданіе14. Є текстовий файл порахувати кількість рядків починаються на букву М

Program as;

Uses crt;

Var F: text; a: string; k: integer;

Begin clrscr;

Assign (f, 'abc.txt');

Reset (f);

While not (Eof (f)) do begin

readln (f, a);

if copy (a, 1,1) = 'М' then k: = k +1;

end; close (f);

writeln (k);

end.

Завдання 15. Створити текстовий файл і записати в нього 6 однакових чисел

Program as;

Uses crt;

Var F: text; a: string; i: integer;

Begin clrscr;

Assign (f, 'text.txt');

Rewrite (f);

For i: = 1 to 6 do

Writeln (f, 6);

Close (f);

End.

Записи в Паскалі

Завдання 1. Скласти список навчальної групи, що включає 25 осіб. Для кожного учня вказати дату народження, рік вступу в технікум, курс, групу, оцінки кожного року навчання. Інформацію про кожного учня оформити в програмі у вигляді запису. Сукупність записів об'єднати в масив.

Скласти програму, яка забезпечує введення отриманої інформації, роздруківку її у вигляді таблиці, а також роздруківку інформації про відмінників

Program Pascal;

Uses crt;

type student = record

fio: string;

d_r: 1 .. 31; {день народження}

m_r: 1 .. 12; {місяць народження}

god_r: 1965 .. 1975; {рік народження}

god_p: 2004 .. 2008; {рік надходження}

group: string; {назва групи}

ocenki: array [1 .. 3,1 .. 5] of integer; {оцінки з трьох предметів}

end;

var

s1: array [1 .. 25] of student;

i, j, x: integer;

ch: char;

f: boolean;

begin

clrscr;

for i: = 1 to 25 do begin

writeln ('Відомості про', i, 'студента');

with s1 [i] do begin

write ('ПІБ:'); readln (fio);

write ('Дата народження: .. р.');

x: = wherex;

gotoxy (x-13, wherey); read (d_r);

gotoxy (x-10, wherey-1); read (m_r);

gotoxy (x-7, wherey-1); read (god_r);

if keypressed then begin

ch: = readkey;

if ch = # 0 then ch: = readkey;

end;

write ('Рік вступу:'); readln (god_p);

write ('Група:'); readln (group);

j: = 0;

for i: = god_p to 2008 do begin

j: = j +1;

writeln ('Оцінки за', i, 'рік:');

write ('Математика:'); readln (ocenki [1, j]);

write ('Інформатика:'); readln (ocenki [2, j]);

write ('Історія:'); readln (ocenki [3, j]);

end;

end;

writeln;

end;

writeln ('список відмінників');

for i: = 1 to 25 do begin

with s1 [i] do begin

j: = 0;

f: = true;

for i: = god_p to 2008 do begin

j: = j +1;

if not ((ocenki [1, j] = 5) and (ocenki [1, j] = 5) and (ocenki [1, j] = 5)) then f: = false;

end;

if f = true then writeln (fio, ', група', group, ', рік надходження', god_p);

end;

end;

writeln ('Для виходу натисніть Enter');

readln;

end.

Завдання 2. Розробити програму формування файла, що містить відомості про студентів. Кожен елемент цього файлу повинен містити наступні дані: номер групи; номер у групі за списком; прізвище, ім'я, по батькові, рік народження; оцінки за останню сесію

Program Pascal;

Uses crt;

Const fname = 'students.dat';

n = 5; {кількість предметів за останню сесію}

Type st = record

n_group: integer; {номер групи}

n_sp: integer; {номер у групі за списком}

fam: string; {прізвище}

im: string; {ім'я}

ot: string; {батькові}

god_r: integer; {рік народження}

oc: array [1 .. n] of integer; {оцінки за останні сесії}

end;

Var t: array [1 .. 30] of st;

i, ch, j: integer;

h: file of st;

begin

write ('Введіть кількість студентів у групі:'); readln (ch);

for i: = 1 to ch do begin

writeln ('Відомості про', i, 'студента');

write ('Номер групи:'); readln (t [i]. n_group);

write ('Номер в групі за списком:'); readln (t [i]. n_sp);

write ('Прізвище:'); readln (t [i]. fam);

write ('Ім'я:'); readln (t [i]. im);

write ('По батькові:'); readln (t [i]. ot);

write ('Рік народження:'); readln (t [i]. god_r);

writeln ('Оцінки за останню сесію:');

for j: = 1 to n do begin

case j of

1: write ('Математика:');

2: write ('Фізика:');

3: write ('Хімія:');

4: write ('Культурологія:');

5: write ('Історія:');

end;

readln (t [i]. oc [j]);

if not ((t [i]. oc [j]> 0) and (t [i]. oc [j] <= 5)) then begin

writeln ('Невірно введена оцінка! Повторіть ввід.');

j: = j-1;

end;

end;

writeln;

end;

Assign (h, fname);

{$ I-}

reset (h);

If Ioresult <> 0 then rewrite (h);

{$ I +}

for i: = 1 to ch do write (h, t [i]);

close (h);

writeln ('Дані занесені в файл', fname);

readln;

end.

Завдання 3. У ГИБДД є наступна інформація про автомобілі та їх власників:

а) марка машини;

б) номер машини;

в) Прізвище власника.

Необхідно організувати пошук кількості автомобілів певної марки. Інформацію про автомобілі та їх власників оформити у вигляді записів, що зберігаються у файлі. Введення даних до запису і збереження запису у файлі

Program N10_1;

Uses Crt;

Const fname = 'spisok.dat';

{Назва файлу, в який проводитиметься запис}

Type Person = record

marka: string;

number: string;

familia: string;

end;

Var auto: array [1 .. 5] of person;

i: integer;

h: file of person;

begin

Clrscr;

auto [1]. marka: = 'Мерседес';

auto [1]. number: = '235 ';

auto [1]. familia: = 'Іванов';

auto [2]. marka: = 'Мерседес';

auto [2]. number: = '289 ';

auto [2]. familia: = 'Петров';

auto [3]. marka: = 'Волга';

auto [3]. number: = '365 ';

auto [3]. familia: = 'Сидоров';

auto [4]. marka: = 'Жигулі';

auto [4]. number: = '896 ';

auto [4]. familia: = "Кузнєцов ';

auto [5]. marka: = 'Вольво';

auto [5]. number: = '957 ';

auto [5]. familia: = 'Тимофєєв';

Assign (h, fname);

{$ I-}

reset (h);

If Ioresult <> 0 then rewrite (h);

{$ I +}

for i: = 1 to 5 do begin

write (h, auto [i]);

end;

writeln ('Дані занесені в файл', fname);

write ('Натисніть Enter');

readln;

end.

Виконання завдання

Program N10_2;

Uses Crt;

Const fname = 'spisok.dat';

Type Person = record

marka: string;

number: string;

familia: string;

end;

Var auto: array [1 .. 5] of person;

i, j, l, q: integer;

h: file of person;

s: string;

f: boolean;

begin

Clrscr;

Assign (h, fname);

Reset (h);

i: = 0;

While Eof (h) = false do begin

i: = i +1;

Read (h, auto [i]);

end;

Close (h);

writeln ('Інформація, лічена з файлу', fname);

writeln;

q: = i;

for j: = 1 to q do begin

with auto [j] do begin

gotoxy (1, wherey);

write (marka);

gotoxy (15, wherey);

write (number);

gotoxy (20, wherey);

writeln (familia);

end;

end;

writeln;

write ('Введіть цікавить Вам марку автомобіля:');

readln (s);

writeln;

l: = 0;

for j: = 1 to q do begin

with auto [j] do begin

if marka = s then begin

l: = l +1;

gotoxy (1, wherey);

write (number);

gotoxy (10, wherey);

writeln (familia);

end;

end;

end;

writeln ('Кількість автомобілів даної марки -', l);

write ('Натисніть Enter');

readln;

end.

Завдання 4. На телефонному вузлі в кінці кожного кварталу складається на кожного абонента відомість оплати міжміських телефонних розмов (з 7-ма містами) протягом кварталу (3 місяці)

Написати програму, яка вводить вихідні дані, виконує розрахунки і виводить на екран:

  • Вихідні дані у вигляді таблиці, де вказані коди міст, з якими велися розмови, загальний час розмови з кожним містом за один місяць, вартість однієї хвилини розмови (змінюється кожен місяць);

  • Загальна тривалість розмов з кожним містом за квартал;

  • Плата за кожний місяць;

  • Загальна плата за 3 місяці;

  • Місто з найбільшою платою.

program kursovik;

uses crt;

type

telef = record

kod: integer;

tpm1, tpm2, tpm3, price1, price2, price3: integer;

end;

telef1 = record

kod, tpm, ob: integer;

pr1, pr2, pr3: integer;

end;

var

a: file of telef;

res: array [1 .. 7] of telef1;

i, j, s, aa, max: integer;

begin;

textbackground (10);

clrscr;

textcolor (0);

gotoxy (15,2);

writeln ('Курсова робота студента групи 01М22 Білоусової Є.В.');

gotoxy (27,3);

writeln ('Завдання на курсову роботу:');

textcolor (4);

writeln;

writeln ('На телефонному вузлі в кінці кожного кварталу складається на кожного абонента');

writeln ('відомість оплати міжміських телефонних розмов (з 7-ма містами) протягом');

writeln ('кварталу (3 місяці ).');

writeln ('Написати програму, яка вводить вихідні дані, виконує розрахунки і');

writeln ('виводить на екран:');

writeln ('- вихідні дані у вигляді таблиці, де вказані коди міст, з якими велися');

writeln ('розмови, загальний час розмови з кожним містом за один місяць, вартість ");

writeln ('однієї хвилини розмови (змінюється кожен місяць );');

writeln ('- загальна тривалість розмов з кожним містом за квартал;');

writeln ('плата за кожний місяць;');

writeln ('загальна плата за 3 місяці;');

writeln ('місто з наібльшей платою.');

gotoxy (27,18);

textcolor (0);

writeln ('Вимога до введення інформації');

textcolor (4);

writeln ('- вихідні дані вводяться з клавіатури.');

textcolor (0);

writeln;

writeln ('Вимога до висновку результатів');

textcolor (4);

writeln ('- результат виводяться на екран.');

textcolor (14);

writeln;

writeln ('Для продовження роботи програми натисніть ENTER');

readln;

clrscr;

textcolor (0);

writeln ('Вимоги до структури програми');

textcolor (4);

writeln ('Програма повинна складатися з наступних частин:');

writeln ('- висновок заставки з інформацією про студента та завданні;');

writeln ('- введення даних (виконується в діалоговому режимі );');

writeln ('- висновок вихідних даних і результатів (на один екран ).');

textcolor (0);

writeln ('Вимоги до розміщення вихідних даних усередині програми');

textcolor (4);

writeln ('Вихідні дані розташовуються у файлі, компонентами якого є записи.');

writeln ('Структура кожного запису і типи її полів вибираються в залежності від завдання.');

textcolor (0);

writeln ('Використовувані кольори');

textcolor (4);

writeln ('- чорний (0), червоний (4), світло-зелений (10), жовтий (14)');

textcolor (14);

gotoxy (18,24);

writeln ('Для продовження роботи програми натисніть ENTER');

readln;

clrscr;

assign (a, 'kurs.dat');

rewrite (a);

textcolor (0);

for i: = 1 to 7 do

begin

write ('Введіть код', i, '-го міста:');

readln (tel.kod);

write ('Введіть загальний час розмови з містом', tel.kod, 'за 1-й місяць:');

readln (tel.tpm1);

write ('Введіть вартість однієї хвилини розмови з містом', tel.kod, 'в 1-му місяці:');

readln (tel.price1);

write ('Введіть загальний час розмови з містом', tel.kod, 'за 2-й місяць:');

readln (tel.tpm2);

write ('Введіть вартість однієї хвилини розмови з містом', tel.kod, 'в 2-му місяці:');

readln (tel.price2);

write ('Введіть загальний час розмови з містом', tel.kod, 'за 3-й місяць:');

readln (tel.tpm3);

write ('Введіть вартість однієї хвилини розмови з містом', tel.kod, 'в 3-му місяці:');

readln (tel.price3);

write (a, tel);

end;

close (a); reset (a);

s: = 1;

while not eof (a) do begin

read (a, tel);

res [s]. kod: = tel.kod;

res [s]. tpm: = tel.tpm1 + tel.tpm2 + tel.tpm3;

res [s]. pr1: = tel.tpm1 * tel.price1;

res [s]. pr2: = tel.tpm2 * tel.price2;

res [s]. pr3: = tel.tpm3 * tel.price3;

res [s]. ob: = res [s]. pr1 + res [s]. pr2 + res [s]. pr3;

s: = s +1;

end; close (a);

clrscr;

writeln ('Код міста Загальний час розмови за кожен місяць Вартість хвилини розмови');

reset (a);

while not eof (a) do

begin

read (a, tel);

writeln ('', tel.tpm1, '', tel.price1);

writeln ('', tel.kod, '', tel.tpm2, '', tel.price2);

writeln ('', tel.tpm3, '', tel.price3);

end;

textcolor (14);

gotoxy (18,24);

writeln ('Для продовження роботи програми натисніть ENTER');

readln;

clrscr;

textcolor (0);

writeln ('Код міста Загальний час розмови за квартал Плата за місяць Загальна плата');

for i: = 1 to 7 do

begin

aa: = res [i]. kod;

writeln ('', res [i]. pr1);

writeln ('', aa, '', res [i]. tpm, '', res [i]. pr2, '', res [i]. ob);

writeln ('', res [i]. pr3);

end;

max: = res [1]. ob;

for i: = 1 to 6 do begin

if res [i +1]. ob> max then

begin

max: = res [i +1]. ob;

j: = i +1;

end;

end;

writeln ('Місто з найбільшою платою:', res [j]. kod);

textcolor (14);

gotoxy (18,24);

writeln ('Для завершення роботи програми натисніть ENTER');

readln;

end.

Завдання 5 Упорядкувати список студентів за середнім балу і роздрукувати його

Program spisok_grupp;

Uses Crt;

Const kurs = 3;

Const kol = 5;

Type

sved = record

famil: string [25];

datar: string [8];

god: integer;

gruppa: integer;

ocenki: array [1 .. 3,1 .. 5] of integer;

srball: array [1 .. 25] of real;

End;

Var

spisok: array [1 .. 25] of sved;

i, i1, j, s, mesto, n, g: integer;

max, t: real;

q: string [25];

Begin

ClrScr;

writeln ('Введіть кількість учнів ");

readln (n);

for i: = 1 to n do

With spisok [i] do

Begin

Writeln ('Прізвище', i, 'студента');

Readln (famil);

Writeln ('Дата народження');

Readln (datar);

Writeln ('Рік вступу');

Readln (god);

Writeln ('Група');

Readln (gruppa);

s: = 0;

for i1: = 1 to kurs do

begin

writeln ('Оцінки', i1, 'року');

for j: = 1 to kol do

Begin

Writeln (j, 'Предмет');

Readln (ocenki [i1, j]);

s: = s + ocenki [i1, j];

End;

end;

srball [i]: = s / (kol * kurs);

ClrScr;

End;

writeln ('Прізвище': 8, 'Дата народження': 16, 'Рік вступу': 18, 'Курс': 7, 'Група': 8);

for i: = 1 to n do

begin

with spisok [i] do write (famil: 8, datar: 16, god: 18, kurs: 7, gruppa: 8);

writeln;

writeln;

for g: = 1 to kurs do

begin

write (g, 'рік:');

for j: = 1 to kol do

with spisok [i] do write (ocenki [g, j]: 4);

writeln;

end;

with spisok [i] do writeln ('Середній бал =', srball [i]: 6:2);

writeln;

end;

writeln;

writeln ('По порядку');

for j: = 1 to n do

Begin

max: = spisok [j]. srball [j];

mesto: = j;

for i: = j to n do

if spisok [i]. srball [i] <= max then

Begin

max: = spisok [i]. srball [i];

mesto: = i;

End;

t: = spisok [j]. srball [j];

spisok [j]. srball [j]: = spisok [mesto]. srball [mesto];

spisok [mesto]. srball [mesto]: = t;

q: = spisok [j]. famil;

spisok [j]. famil: = spisok [mesto]. famil;

spisok [mesto]. famil: = q;

with spisok [j] do writeln (famil: 8, srball [j]: 6:2);

End;

End.

Завдання 6. Запис з варіантами

var R = Record

rem: string;

Case byte of

3: (n: integer);

5: (x, y, z: char);

'A': (i, j: byte);

end;

begin

R.rem: = 'запис з ваpиантах';

Rn: = 25000;

write (Ri, Rx, Rj, Ry); {168і97a}

{Ord ('і') = 168, ord ('a') = 97, 168 +97 * 256 = 25000}

end.

Завдання 7. Приклад оголошення типу запис

type Men = Record

FIO, Adress: string;

Year: byte;

End;

var A, B: Men;

begin

A. FIO: = 'Іванов І.І.';

A. Adress: = 'пp. Леніна, буд 40, кв. 10 ';

A. Year: = 1981;

end.

Завдання 8. Скласти програму в якій відомі Прізвище, адресу і номери Телефонів 15 осіб, організувати пошук номера телефону на прізвище абонента

Program as;

Type

person = record

surname: string [40]

adres: string [20]

nomer: integer

var

mas: array [1 .. 15] of person;

i: integer; poisk: string;

procedure Input.date;

var

begin

writeln ('Введи дані', I, 'абонента');

writeln ('Прізвище');

readln (mas [i]. surname);

writeln ('адреса');

readln (mas [i]. adres);

writeln ('Номер телефону');

readln (mas [i]. nomer);

end;

Procedure write date;

Begin

With mas [i] do

Begin

Writeln ('прізвище', surname);

Writeln ('адреса', adres);

Writeln ('номер', nomer);

End;

End;

Begin

For i: = 1 to 15 do Input.date;

Writeln ('Введи прізвище абонента');

Readln (poisk);

For i: = 1 to 15 do

If mas [i] nomer = poisk then write date;

End.

Завдання 9. Створити список учнів класу і вивести на екран Прізвища та Імена у вигляді таблиці

Program as;

Uses crt;

Type

Klass = record

Surname: string [15];

Name: string [10];

End;

Var A: array [1 .. 10] of klass;

I: integer;

Begin clrscr;

For i: = 1 to 10 do begin

Writeln ('введи прізвище');

Readln (a [i]. Surname);

Writeln ('введи ім'я');

Readln (a [i]. Name);

End;

Writeln;

Clrscr;

For i: = 1 to 10 do writeln (a [i]. Surname, '', a [i]. Name);

End.

Заданіе10. Відомі дані про 6 співробітників фірми Прізвище, вік, і ставлення до воен.службе. Вивести на екран прізвища всіх військовозобов'язаних співробітників

Program as;

Uses crt;

Type

S = record

N: string [10]; voz: integer;

V: string [8];

End;

Var a: array [1 .. 6] of s;

I: integer;

Begin clrscr;

For i: = 1 to 6 do begin

Writeln ('яке в нього прізвище');

Readln (a [i]. S);

Writeln ('скільки тобі років');

Readln (a [i]. Voz);

Writeln ('ти относешся до військової частини');

Readln (a [i]. V);

End; Writeln; Clrscr;

For i: = 1 to 6 do if a [i]. V = 'DA' then writeln (a [i]. S);

End.

Заданіе11. Дано назви 6 міст і країн, серед них є місто знаходиться в Італії надрукувати їх назва

Program as;

Uses crt;

Type

S = record

strana: string [10];

gorod: string [8];

End;

Var a: array [1 .. 6] of s;

I: integer;

Begin clrscr;

For i: = 1 to 6 do begin

Writeln ('країна?');

Readln (a [i]. Strana);

Writeln ('місто');

Readln (a [i]. Gorod);

End; Writeln; Clrscr;

For i: = 1 to 6 do if a [i]. strana = 'italia' then writeln (a [i]. gorod);

End.

Заданіе12. Дано назви 10 країн і частин світу. Надрукувати на екрані всі країни знаходяться в Азії

Program as;

Uses crt;

Type

S = record

strana: string [10];

ch: string [8];

End;

Var a: array [1 .. 10] of s;

I: integer;

Begin clrscr;

For i: = 1 to 10 do begin

Writeln ('країна');

Readln (a [i]. Strana);

Writeln ('частина світла');

Readln (a [i]. Ch);

End; Writeln; Clrscr;

For i: = 1 to 10 do if a [i]. ch = 'Azia' then writeln (a [i]. strana);

End.

Заданіе13. З відомості 3-х студентів з їх оцінками (порядковий номер, П.І.Б. та три оцінки) визначити кількість відмінників і середній бал кожного студента

Program Spic;

Type wed = record {Тип wed включає 3 поля: n, fio, bal}

n: integer;

fio: string [40];

bal: array [1 .. 3] of integer {Поле bal - масив з 3 оцінок}

end;

Var spisok: wed; {Запис spicok типу wed}

i, j, kol, s: integer; sr: real;

Begin

kol: = 0; {kol-кількість відмінників}

With spisok do {with приєднує ім'я запису spisok до всіх}

For i: = 1 to 3 do {полях всередині циклу For по i}

begin

n: = i;

Write ('Vvedite FIO #', i, '');

Readln (fio);

s: = 0;

For j: = 1 to 3 do

begin

write ('Vvedite ocenky:');

readln (bal [j]);

s: = s + bal [j];

end;

if s = 15 then kol: = kol +1; {підрахунок кількості відмінників}

sr: = s / 3; writeln (fio, ', Sredniy bal =', sr: 4:1); end;

writeln ('Kolichestvo otlichnikov =', kol);

readln;

end.

Заданіе14. Нехай нам необхідно заповнити відомості про студента (П.І.Б., дата народження, адреса, курс і група), а потім вивести ці відомості на екран

program primer1;

type anketa = record

fio: string [45];

dat_r: string [8];

adres: string [50];

curs: 1 .. 5;

grupp: string [3]

end;

var student: anketa;

begin

writeln ('введіть відомості про студента');

{Зверніть увагу, введення кожного поля здійснюється окремо}

writeln ('введіть прізвище, ім'я та по батькові');

readln (student.fio);

writeln ('введіть дату народження');

readln (student.dat_r);

writeln ('введіть адресу');

readln (student.adres);

writeln ('введіть курс');

readln (student.curs);

writeln ('введіть групу');

readln (student.grupp);

writeln ('введення закінчений');

writeln;

{Зверніть увагу, що висновок запису здійснюється по полях}

writeln ('прізвище студента:', student. fio);

writeln ('дата народження:', student.dat_r);

writeln ('адресу:', student.adres);

writeln ('курс:', student.curs);

writeln ('група:', student.grupp);

end.

Заданіе15. Нехай нам необхідно мати відомості про багатьох студентів, наприклад, нашого факультету. Отже, необхідно організувати масив записів Паскаля. А потім із загального списку вивести прізвища студентів 2-го курсу

program primer 2;

type anketa = record

fio: string [45];

dat_r: string [8];

adres: string [50];

curs: 1 .. 5;

grupp: string [3]

end;

var student: array [1 .. 100] of anketa;

I: integer;

begin

{Послідовно вводимо кожен запис}

for I: = 1 to 100 do

begin

writeln ('введіть відомості про', I, '-м студента');

writeln ('введіть прізвище, ім'я та по батькові');

readln (student [I]. fio);

writeln ('введіть дату народження');

readln (student [I]. dat_r);

writeln ('введіть адресу');

readln (student [I]. adres);

writeln ('введіть курс');

readln (student [I]. curs);

writeln ('введіть групу');

readln (student [I]. grupp);

end;

writeln ('введення закінчений');

writeln;

{Переглядаємо масив записів і вибираємо тільки студентів 2-го курсу}

for I: = 1 to 100 do

if student [I]. curs = 2 then

writeln ('прізвище студента:', student [I]. fio);

end.

Рядки

Завдання 1. Дана послідовність слів. Надрукувати ті слова послідовності, які відмінні від останнього слова і задовольняють властивості: слово симетрично

Program Stroki;

Uses Crt;

Var s, k: string;

a: array [1 .. 100] of string;

i, n, j, l: Integer;

f: boolean;

begin

ClrScr;

{Вводить послідовність слів}

Writeln ('Введіть послідовність слів:');

Readln (s);

{Запис слів в масив a}

for i: = 1 to length (s) do begin

if (s [i-1] <> '') and (s [i] = '') and (length (k) <> 0) then begin

inc (n);

a [n]: = k;

k :='';

end;

if s [i] <> '' then k: = k + s [i];

if (i = length (s)) and (length (k) <> 0) then begin

inc (n);

a [n]: = k;

k :='';

end;

end;

{Перевірка на симетричність слів, що містяться в масиві а}

l: = 0;

for i: = 1 to n-1 do begin

f: = false;

if a [i] <> a [n] then

if length (a [i]) mod 2 = 0 then begin

for j: = 1 to length (a [i]) div 2 do

if a [i] [j] <> a [i] [length (a [i]) +1- j] then f: = true;

if f = False then begin

l: = l +1;

if l = 1 then Write ('Симетричні слова:');

Write (a [i], '');

end;

end;

end;

Writeln;

if l = 0 then Writeln ('Симетричні слова відсутні');

Write ('Натисніть Enter');

Readln;

end.

Завдання 2. Дана рядок символів. Перетворити цей рядок видаливши з неї кожні ">>" і повторивши (вставивши ще раз) кожну пару символів "<<". Після перетворення отриманий рядок вивести на друк

Program Stroki;

Uses Crt;

Var s: string;

i: integer;

begin

ClrScr;

Write ('Введіть рядок символів:');

Readln (s);

for i: = 1 to length (s) do begin

if (s [i-1 ]='>') and (s [i ]='>') then delete (s, i-1, 2);

if (s [i-1 ]='<') and (s [i ]='<') then begin

insert ('<<', s, i-1);

i: = i +2;

end;

end;

Writeln ('Змінена рядок:', s);

Write ('Натисніть Enter');

Readln;

end.

Завдання 3. Скласти програму, яка запитує ім'я людини і повторює його на екрані з Вітанням

Program as;

Uses crt;

Var K: string;

Begin clrscr;

Writeln ('Як вас звуть');

Readln (k);

Writeln ('Привіт,' ', k'!');

End.

Завдання 4. Скласти програму, яка затребувана назва футбольної команди і повторити його на екрані зі словом «Це чемпіон!»

Program as;

Uses crt;

Var k: string;

Begin clrscr;

Writeln ('Введіть назву фут. Команди');

Readln (k);

Writeln (k, '', 'Чемпіон');

End.

Завдання 5. Дана рядок символів s1, s2, ... sn, в якій зустрічаються цифри, пробіли, літера Е і знаки + і -. Відомо, що перший символ рядка є цифрою. З цього рядка виділити підрядок попередню першого пробілу. Потрібно: визначити чи є це підрядок числом, якщо так, то з'ясувати цілим або речовим, позитивним чи отрецательним

Program Stroki;

Uses Crt;

Var s1, s2: string;

i: Integer;

k: Real;

f: boolean;

begin

ClrScr;

Writeln ('Введіть рядок символів:');

Readln (s1);

s2 :='';

f: = true;

for i: = 1 to length (s1) do begin

if s1 [i] = '' then f: = false;

if (s1 [i] <> '') and (f = true) then s2: = s2 + s1 [i];

end;

Writeln ('Виділена підрядок:', s2);

Val (s2, k, i);

if i <> 0 then Writeln ('Виділена підрядок не містить числове значення')

else begin

f: = false;

for i: = 1 to length (s2) do

if s2 [i] = 'E' then begin

Write ('Кількість в подстроке дійсного типу,');

f: = true;

end;

if f = false then Write ('Кількість в подстроке цілочисельного типу,');

if k <0 then Writeln ('негативне')

else Writeln ('позитивне')

end;

Write ('Для виходу натисніть Enter');

Readln;

end.

Завдання 6. Дано назва футбольного клубу, визначити кількість символів у ньому

Program as;

Uses crt;

Var k: string; M: integer;

Begin clrscr;

Writeln ('Введіть назву Ф.К');

Readln (k);

M: = length (k);

Writeln (M);

End.

Завдання 7. Дано назва міста, визначити парне чи ні, к-ть символів в ньому

Program as;

Uses crt;

Var k: string; b: integer;

Begin clrscr;

A: = 'Aktobe';

B: = length (a);

If b mod 2 = 0 then write ('четно') else write ('непарній');

Readln;

End.

Завдання 8. Дана рядок, що містить текст. Записати її в зворотному порядку

program З8;

var s1, s2: String;

i: Integer;

begin

Write ('Введіть рядок =');

ReadLn (s1); s2 :='';

for i: = Length (s1) downto 1 do s2: = s2 + s1 [i]; WriteLn ('Зворотній рядок =', s2);

ReadLn; end.

Завдання 9. Дано слово. Замінити «о» на «е»

Program as;

Uses crt;

Var a: string; e, I, b: integer;

Begin clrscr;

Writeln ('Dano clovo');

Readln (a);

B: = length (a);

For i: = 1 to b do if copy (a, I, 1) = 'o' then begin

Delete (a, I, 1);

Insert ('e', a, i);

End;

Writeln (a);

End.

Заданіе10. Дано 2 прізвища опред яка з них довші

Program as;

Uses crt;

Var a, b: string; c, d: integer;

Begin clrscr;

A: = 'kolin';

B: = 'imanalin';

C: = length (a);

D: =: = length (b);

If c> d then write (a) else write (b);

End.

Графіка в Турбо-Паскалі

Завдання 1. При натисканні на Enter плавно переміщує трикутник c вершинами (10,10); (10,100); (100,100) на 10 пунктів по X, і по Y

uses crt, graph;

const n = 4;

type

Point = record

x, y: integer;

end;

mas = array [1 .. n] of Point;

procedure Z (x, y: integer; var m: mas; c: byte);

var i: byte;

begin

Setcolor (c);

m [1]. x: = x; m [1]. y: = y;

m [2]. x: = x; m [2]. y: = y +90;

m [3]. x: = x +90; m [3]. y: = y +90;

m [4]. x: = x; m [4]. y: = y;

moveto (m [1]. x, m [1]. y);

for i: = 1 to n do

lineto (m [i]. x, m [i]. y);

Setfillstyle (1, c);

end;

var gd, gm: integer;

x, y, x1, y1, i: integer;

p: mas;

c1, c2: byte;

k: char;

move: boolean;

begin

gd: = VGA;

gm: = VGAHi;

Initgraph (gd, gm, '.. \ bgi');

Setbkcolor (8);

x: = 10; y: = 10;

c1: = 7; c2: = 8;

move: = true;

repeat

if keypressed then

begin

k: = readkey;

if k = # 13 then {if enter}

for i: = 1 to 10 do

begin

y1: = y;

x1: = x;

y: = y +1;

x: = x +1;

delay (6000);

Z (x1, y1, p, c2);

Z (x, y, p, c1);

move: = true;

end;

end;

if move then

begin

Z (x1, y1, p, c2);

Z (x, y, p, c1);

move: = false;

end;

OutTextXY (320,240, 'Press Enter to continue');

until k = # 27; {until escape}

closegraph;

end.

Завдання 2. Зобразити на екрані скаче м'яч. Використовувати графічний режим

uses crt, graph;

const r = 20; h = 5;

var gd, gm, i, n, t, x, y, p: integer;

begin

clrscr;

gd: = Detect;

initgraph (gd, gm, 'c: \ bp \ bgi');

setcolor (4);

setlinestyle (0,1,1);

line (0,479,639,479);

x: = r; y: = r;

t: = 479-2 * r;

n: = t div h;

p: = h;

while n <> 0 do begin

for i: = 1 to n do begin

setcolor (2);

circle (x, y, r);

setfillstyle (1,2);

floodfill (x, y, 2);

delay (10);

setcolor (0);

circle (x, y, r);

setfillstyle (1,0);

floodfill (x, y, 0);

y: = y + p;

x: = x +1;

end;

if p> 0 then begin t: = round (3 * t / 4); n: = t div h end;

p: =- p end;

setcolor (12);

circle (x, y, r);

setfillstyle (1,2); repeat until keypressed; closegraph

floodfill (x, y, 12); end.

Завдання 3. Анімаційна картинка - кораблик здійснює шлях по заданій траєкторії ... все відбувається досить швидко

program corablik;

uses Graph, Crt;

var

grDriver: integer;

grMode: integer;

ErrCode: integer;

x, y, y0, a, b: integer; {a, b-змінні для лінії моря, щоб вони не залежали від х, у}

procedure more (a, b: integer);

begin

moveto (0, y0);

setcolor (blue);

for a: = 0 to 680 do {зліва направо малюємо синусоїду синього чвета}

begin

b: = y0-round (sin (a * pi/180) * 30); {30-коефіцієнт масштабування по осі Х,

чим більше, тим хвиля крутіше}

lineto (a, b);

end;

end;

begin

grDriver: = Detect;

InitGraph (grDriver, grMode, '.. \ BGI');

ErrCode: = GraphResult;

y0: = 250;

if ErrCode = grOk then

begin

x: = 600;

while x> = 0 do {краще використовувати цикл while, можна змінювати величину кроку,

що теж впливає на швидкість і частоту зміни картинки}

begin

cleardevice;

more (a, b); {малюємо хвилю}

setcolor (white); {встановлюємо колір кораблика}

y: = y0-40-round (sin (x * pi/180) * 30); {рухаємося по хвилі}

MoveTo (x - 40, y + 20);

LineTo (x - 20, y + 40);

LineTo (x + 20, y + 40);

LineTo (x + 40, y + 20);

LineTo (x - 40, y + 20);

MoveTo (x + 15, y + 20);

LineTo (x + 15, y - 40);

LineTo (x - 20, y + 20);

LineTo (x + 15, y + 20);

delay (100); {нормальна швидкість, якщо модулі *. TPL НЕ глючний як у Вас,

час має бути в мілісекундах, а не в яких-небудь наносекундах}

x: = x-2; {крок руху}

end;

end

else Writeln ('Graphics error:', GraphErrorMsg (ErrCode));

Settextstyle (0,0,3); {встановлюємо стиль шрифту}

cleardevice;

setcolor (red);

OuttextXY (200,240, 'Rejs zavershen !');{ виводимо напис}

readln;

CloseGraph;

end.

Завдання 4. Анімація - прямоугольнічек червоного кольору робить повний шлях по екрану монітора!

program kv;

uses

crt, graph;

var

x, y, dx, dy, w, h, driver, mode: integer;

begin

initgraph (driver, mode, 'G: / BP / BGI');

if graphresult <> 0 then begin

writeln ('none');

halt

end;

dx: = 1;

dy: = 0;

w: = 100;

h: = 10;

repeat

setfillstyle (1, black);

bar (x, y, x + w, y + h);

x: = x + dx;

y: = y + dy;

setfillstyle (1, red);

bar (x, y, x + w, y + h);

delay (100);

if (x + w> = getmaxx) and (y <= 0) then

begin

dx: = 0;

dy: = 1;

end

else

if (y + h> = getmaxy) and (x + w> = getmaxx) then

begin

dx: =- 1;

dy: = 0;

end

else

if (x <= 0) and (y + h> = getmaxy) then

begin

dx: = 0;

dy: =- 1;

end

else

if (y <= 0) and (x <= 0) then

begin

dx: = 1;

dy: = 0;

end;

until keypressed;

closegraph;

end.

Завдання 5. Люди часто просять намалювати самий звичайний малюнок з різних тем ... наприклад намалюю "програміста"

Program bugalteria;

Uses crt, graph;

Var gd, gm: integer;

begin

clrscr;

Detectgraph (gd, gm);

Initgraph (gd, gm, 'C: \ tp7');

{Замальовка столу}

Bar (120,330,360,360);

Bar (180,360,330,480);

{Замальовка комп'ютера}

Line (180,240,180,330);

Line (180,270,210,330);

Line (172,210,202,300);

Line (180,210,210,300);

Line (210,300,202,300);

Line (180,210,172,210);

Line (270,322,270,330);

Line (270,322,330,330);

{Замальовка стільця}

Bar (420,405,510,420);

Bar (456,420,480,480);

{Замальовка бухгалтера працюючого за комп'ютером}

Line (510,405,540,300);

Line (334,480,390,390);

Line (390,390,510,390);

Line (360,480,420,405);

Line (510,390,450,240);

Line (480,390,420,300);

Line (420,300,430,240);

Line (450,270,330,300);

Line (330,300,310,310);

Circle (435,195,40);

Readln

end.

Завдання 6. Побудувати один прямокутник і заповнити його випадково розташованими точками (у межах 100 штук) і другий прямокутник у якому проведено випадкові лінії (різними кольорами)

program приклад;

uses graph, crt;

var gd, gm, xl, yl, x2, y2, x, y, x3, y3, i, errcode: integer;

begin

gd: = 0; gm: = 0;

InitGraph (gd, gm, ' ');

[Побудова першого прямокутника]

x1: = 10; y1: = 10; x2: = 200; y2: = 200;

rectangle (x1, y1, x2, y2);

[Висновок випадкових точок]

for i: = 1 to 100 do

begin

x: = random (x2-xl) + x1;

в: = random (y2-yl) + y1;

putpixel (x, y, 2)

end;

[Побудову другого прямокутника]

xl: = 210; yl: = 210; x2: = 400; y2: = 400;

rectangle (xl, yl, x2, y2);

[Висновок випадкових ліній]

for i: = l to 100 do

begin

setcolor (random (15));

x: = random (x2-xl) + xl;

y: = random (y2-yl) + yl;

x3: = random (x2-xl) + xl;

y3: = random (y2-yl) + yl;

Iine (x, y, x3, y3);

end;

while not keypressed do;

closegraph

end.

Завдання 7. Зобразити лінії різного стилю і товщини

program приклад;

[Висновок ліній різного виду]

uses graph, crt;

var gd, gm: integer;

begin

gd: = 0; gm: = 0; initgraph (gd, gm, '');

line (0, 0, 300, 0); [лінія звичайного зразка]

setlinestyle (l, 0, l); line (0,20,300,20); [лінія з точок]

setlinestyle (2,0, l); line (0,40,300,40); [пунктирна лінія]

setlinestyle (3,0,1); line (0,60,300,60); [штрихова лінія]

setlinestyle (0,0,3); line (0,80,300,80); [суцільна товста лінія]

while not keypressed do;

closegraph end.

Завдання 8. Побудувати коло і описати навколо неї квадрат

program приклад;

[Квадрат і вписана окружність]

uses graph, crt;

var gd, gm, x, y, r, x1, y1, x2, y2: integer; xa, ya: word;

begin

writeIn ('введи координати центру кола і радіус');

readln (x, y, r);

gd: = 0; gm: = 0; initgraph (gd, gm, '');

circle (x, у, г);

getaspectratio (xa, ya);

x1: = xr; у1: = round (y-r * (xa / ya));

x2: = x + r; y2: = round (y + r * (xa / ya));

rectangle (xl, yl, x2, y2);

while not keypressed do;

closegraph end.

Завдання 9. Побудувати дугу від 0 до 90 градусів і від 270 до 450 градусів

program приклад;

[Дуги окружності від 0 до 90 і від 270 до 450]

uses graph, crt;

var gd, gm, x, y, r, xl, yl: integer; xа, уа: word;

begin

gd: = 0; gm: = 0; initgraph (gd, gm, '');

getaspectratio (xa, ya);

{Будуємо осі координат}

line (0,100,300,100); line (150,0,150,200);

{Будуємо дугу від 0 до 90}

АГС (150,100,0,90,40);,

line (310, 100,610,100); line (460,0,460,200);

{Будуємо дугу від 270 до 450}

arc (460,100,270,540,40);

while not keypressed do; end.

Заданіе10. Побудувати дуги еліпса

program приклад;

[Дуги еліпсів при різному співвідношенні Rx і Ry]

uses graph, crt;

var gd, gm: integer; xa, ya: word;

begin

gd: = 0; gm: = 4; initgraph (gd, gm, '');

getaspectratio (xa, ya);

{Перше дуга}

line (0,100, l60, 100);

line (80, 55, 80,145);

ellipse (80,100,180, 90,40,40);

{Другий дуга}

line (190,100,410,100);

line (300,55,300, 145);

ellipse (300, 100, 0, 359,100,20);

{Третій дуга}

line (440,100,600,100);

line (520,55,520,145);

ellipse (520, 100, 0,270,40, round (40 * (xa / ya)));

while not keypressed do; end.

Заданіе11. Побудувати прямокутники в два ряди по чотири прямокутники в ряд і заповнити їх відповідно 12-ма різними типами штрихування

program приклад;

{Демонстрація квітів заповнення}

uses graph, crt;

var gd, gm, x, y, k, j: integer;

begin

gd: = 0; gm: = 0; initgraph (gd, gm, '');

x: = 60; y: = 40;

for j: = 0 to 2 do

for k: = 0 to 3 do

begin

rectangle ((k + 1) * x, (j +1) * y, (k +2) * x, (j +2) * y);

setfillstyle {k + j * 4, j +1);

bar ((k +1) * x +1, (j +1) * y +1, (k +2) * x-1, (j +2) * y-1)

end;

while not keypressed do;

end.

Заданіе12. Побудувати коло і описати навколо неї квадрат, а потім область всередині квадрата, але поза кола зафарбувати кольором фону

program приклад;

{Квадрат і вписана окружність}

uses graph, crt;

var gd, gm, x, y, r, xl, yl, x2, y2: integer; xa, ya: word;

begin

writeln ('введи координати центру кола і радіус');

readln (х, у, г);

gd: = 0; gm: = 0; initgraph (gd, gm, '');

setcolor (3); circle (x, y, r);

getaspectratio (xa, ya);

x1: = xr; yl: = round (у-r * (xa / ya));

x2: = x + r; y2: = round (y + r * (xa / ya));

rectangle (x1, y1, x2, y2);

floodfill (x1 +1, y1 +1,3);

floodfill (x2-1, y1 +1,3);

floodfill (x1 +1, y2-1, 3);

floodfill (x2-1, y2-1, 3);

while not keypressed do;

closegraph

end.

Заданіе13. Вивести крапковим шрифтом горизонтально, починаючи з точки (100,20), повідомлення "horisontal (горизонтально)" і прямим шрифтом вивести вертикально повідомлення "vertical (вертикально)", починаючи з точки (5,10)

program приклад;

{Графіка і текст}

uses graph, crt;

var gd, gm: integer;

begin

gd: = 0; gm: = 0; initgraph (gd, gm, '');

outtextxy (100,20, 'horisontal (горизонтально)');

settextstyle (0,1,1);

outtextxy (50,10, 'vertical (вертикально)');

while not keypressed do;

end;

Заданіе14. Зобразити трикутник, що обертається навколо однієї з вершин

program приклад;

{Обертання трикутника навколо однієї вершини}

uses graph, crt;

var

gd, gm, I, xc, yc, x1, y1, x2, y2, x1n, x2n, y1n, y2n: integer;

xa, ya: word; t: real;

begin

gd: = 9; gm: = 2; initgraph (gd, gm, '');

getaspectratio (xa, ya);

xc: = 300; yc: = 100; t: = 0; x1: = 400; y1: = 10; x2: = 500;

y2: = 100;

for i: = 0 to 360 do

begin

t: = t + pi/180;

xln: = round (xc + (xl-xc) * cos (t) + (yl-yc) * sin (t) * ya / xa);

у1n: = round (yc + (yl-yc) * cos (t) - (xl-xc) * sin (t) * xa / ya);

x2n: = round (xc + (x2-xc) * cos (t) + (y2-yc) * sin (t) * ya / xa);

y2n: = round (yc + (y2-yc) * cos (t) + (x2-xc) * sin (t) * xa / ya);

setcolor (15);

line (xc, yc, xln, yln); line (xln, yln, x2n, y2n);

line (x2n, y2n, xc, yc); delay (20);

setcolor (0);

line (xc, yc, xln, yln); line (xln, yln, x2n, y2n);

Iine (x2n, y2n, xc, yc); delay (20);

end; while not keypressed do;

closegraph

end.

Заданіе15. Зобразити рух кулі (точніше кола) по горизонталі

program приклад;

{Рух кулі по горизонталі}

uses qraph, crt;

var gd, gm, i: integer; p: pointer; s: word;

begin;

gd: = 0; gm: = 0; initgraph (gd, gm, '');

{Малюємо куля}

for i: = l to 10 do circle (20, 30, i);

{Виділяємо пам'ять}

s: = imagesize (9, 20,30, 40); getmem (p, s);

{Запам'ятовуємо малюнок}

getimage (9, 20, 30, 40, p ^); cleardevice;

{Зображуємо політ кулі}

for i: = l to 600 do

begin putimage (10 + i, 100, p ^, 0); delay (10); end;

while not keypressed do;

end.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Звіт з практики
509.1кб. | скачати


Схожі роботи:
Налагодження програм користувача в Tubro Pascal
Етапи розробки програм Тестування та налагодження Документування програм
Паскаль Налагодження програм
Налагодження програм і програмних комплексів
Розробка програм у середовищі програмування Turbo Pascal 7 0
Розробка програм у середовищі програмування Turbo Pascal 70
Складання програм для вирішення задач на мові програмування Turbo Pascal
Створення довідника Парфумерний магазин за допомогою програми Turbo Pascal
Рішення математичних задач за допомогою алгоритмічної мови Turbo Pascal Microsoft Excel
© Усі права захищені
написати до нас