Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
меточичка по лабораторкам Паскаль.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
563.71 Кб
Скачать

Контрольні запитання

  1. Як увести значення елементів масиву за допомогою оператора for?

  2. Як виконується пошук елементів у масиві?

  3. Які методи сортування масивів вам відомі?

  4. У чому полягає різниця між методом прямого вибору i методом бульбашок?

  5. В чому полягає різниця в описанні програми сортування між спаданням і зростанням елементів?

  6. Як ви розумієте поняття спадання і зростання для символьних типів величин?

Лабораторна робота № 13 (15) Тема: Створення та реалізація програм з оператором вибору та циклом з післяумовою.

Мета: Уміти створювати та реалізовувати програми, що містять оператор вибору та циклом з післяумовою.

Теоретичні відомості Оператор repeat («цикл-до»)

Оператор repeat записується так:

Repeat

<тіло циклу>

until <умова закінчення циклу>

Цей оператор організує циклічні обчислення таким чином, що умова перевіряється після чергового виконання тіла циклу. Якщо вираз умови набуває значення True, повторення припиняються. Тому оператор repeat називають ще циклом з постумовою чи просто - «циклом-до» (робота циклу триває, поки не виконана умова завершення).

Оператор repeat (як i оператор while) дозволяв виконувати повторювані, дії коли числа повторень заздалегідь не відомо. Розглянемо як приклад спадну геометричну прогресію (q<l):

1, q, q2, ..q, . .

program Progression;

var

I, N: integer;

Q, Y, S, E: real;

begin

Writeln ('Введите Q);

Readln (Q);

Writeln ('Введите границу для последнего учитываемого члена прогрессии');

Readln (E);

Y:=l;

S:=l;

repeat

begin

Y:=Y*Q;

S.:=S+Y;

end;

until Abs(Y)<=E;

Writeln ('Сумма = *,S:8:6);

Readln; end.

Хід роботи

  1. Протабулювати (вивести значення функції) y=ax2+1 з кроком 2 на проміжку х є [-10;10].

  2. Вирахувати значення суми , де f(x)=y3+5i

  3. Вирахувати значення добутку

  4. Створіть програму, яка малює кола випадковим розміром, кольором і радіусом.

Контрольні запитання

  1. Як записуються умовні оператори в Паскалі?

  2. Який вигляд мають вкладені умовні оператори?

  3. Яке призначення оператора вибору?

  4. Що таке селектор?

  5. Як працює оператор вибору?

  6. Як записується оператор циклу for у випадку зростаючих i спадних значень параметра циклу?

  7. Який вигляд мае оператор «цикл-поки» у Паскалі?

  8. Яка структура оператора «цикл-до»?

  9. Чи існує такий випадок, коли «цикл до» не виконається ні разу? Відповідь обґрунтуйте.

Лабораторна робота № 13 Тема: Побудова графіків функцій в Turbo Pascal.

Мета: Уміти створювати та реалізовувати програми, що містять побудову графіків функцій.

Теоретичні відомості

Графічний екран дисплея складається з точок, що світяться різним кольором: пікселів. Кількість точок, що підтримує Turbo Pascal 640 по горизонталі і 480 по вертикалі, при чому точка з координатами (0;0) знаходиться в лівому верхньому куті екрану.

Для роботи з графічним екраном створений модуль Graph. Обов’язково потрібен файл egavga.bgi.

Графічний режим спочатку треба задати. Це виконують так:

Var driver, mode: integer; {для характеристики дисплея}

Begin

Driver:=detect; { стандартна стала}

Initgraph (driver, mode, ‘’); {задання графічного режиму}

If graphresult < > 0 then

Begin

Writeln(‘граф. режим не задано’);

Halt

End;

При побудові графіків функцій у ТР треба виходити з тих проблем, які виникають в співвідношенні декартової системи координат та графічним режимом роботи монітора. Є необхідність переведення декартових координат зі здвигом осі абсцис на 320 точок вправо, а осі ординат на 240 точок вниз, щоб початок координат бачити в центрі екрану. При чому для комп’ютера всі координати повинні бути цілими і додатними, а також прийняти до уваги зміну напрямку координати У.

При написанні програми спочатку малюють Декартові осі, а потім графіки задають промальовкою точок в циклі з параметром For зі зміною параметра від 1 до 640.

Розглянемо графік функції y=x. Це лінія, яка проходить через початок координат і знаходиться в І-й і ІІ-й чвертях декартової площини:

uses crt,graph;

var a,b,x:integer;

begin

a:=0;

initgraph(a,b,'{шлях до файлу egavga.bgi на диску}');

setcolor(2);

line(1,240,640,240);

line(640,240,630,245);

line(640,240,630,235);

outtextxy(300,10,'Y');

outtextxy(620,230,'X');

line(320,1,320,480);

line(320,1,315,10);

line(320,1,325,10);

for x:=1 to 640 do putpixel(x,240-(x-320),5);

readln;

closegraph;

end.

При побудові графіка функції y=x2 установлюють збільшення частоти точок для утворення злитої лінії графіка, тому значення аргументу беруть на порядок частіше:

for x:=1 to 640 do putpixel(x,trunc(240-sqr(x/10-320/10)),5);

При побудові графіка функції y=sin(x) установлюють розширення по Х, щоб розши-рити діапазон перегляду значень, з огляду на те, що функція приймає значення (-1;1) і при відсіканні дробної частини графік перетворюється в лінію:

putpixel(x,trunc(240- sin(x/50-320/50)*20),5);

При побудові tg(x) вирізають з графіка точку при якій cos(x)=0.

if sin((x/50-320/50))<>0 then

putpixel(x,trunc(240-cos(x/50-320/50)/sin(x/50-320/50)*20),5);