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

3.Програма табулювання функції із записом результатів у масив і виведення на текстовий екран.

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

program Project1;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Type Vector = array[0..640] of Real;

VAR Xe, Ye:Vector;

a1, b1, h : Real;

i,Ne : Integer;

function f(x:real):real;

begin

f:=x*x

end;

BEGIN

writeln('Nе=');

readln(Ne);

writeln('a1,b1=');

readln(a1,b1);

h := (b1-a1)/(Ne-1);

Xe[0]:=a1;

FOR i:=1 TO Ne-1 DO begin

Ye[i] := f(Xe[i]);

Xe[i+1] := Xe[i] + h;

Writeln(Ye[i]:6:3, Xe[i]:6:3);

end;

Readln

END.

Програма табулює функцію f=x^2.Під час введення даних ми отримаємо два стовпчика чисел правий стовпчик це X а лівий стовпчик це Y. Якщо кожне число правого стовпчика піднімемо до квадрату то отримаємо відповідне число лівого стовпчика. a1 I b1 це область визначення функції(b1>a1-завжди).Ne-Кількість точок які ми хочемо протабулювати.

4.Побудова побудови простого графіка

Дана програма будує графік функції y=sin(x)

Void_fractal {image1->canvas->pen->color=clblue; image1->canvas->moveto(0,image1->height/2);

image1->canvas->->lineto(image1->width,image1->height/2);

image1->canvas->moveto(image1->width/2,0);

image1->canvas->lineto(image1->width/2;image1->height);

float x=-15;

int kx,ky;

ky=image1->height/2;

kx=image1->wight/30;

image1->canvas->pen->color=clgreen;

image1->canvas->->moveto(0,image1->height/2);

while(x<15)

{ image1->canvas->lineto(ceil(kx+x)+image1->wight/2);

image1->height/2-ceil(kx*sin(x)));

x=x+0.00001;} }

Білет 5

1.Оператори циклів з відомою кількістю повторень. Ітераційні цикли. Процедури дострокового завершення циклу.

Кожен оператор циклу має заголовок і тіло циклу

Цикл з відомою кількістю повторів

For <параметр>:=<нижня межа> to <верхня межа> do

<тіло циклу>;

For < параметр >:=<верхня межа> downto < нижня межа > do

< тіло циклу >;

<параметр> - змінна будь якого скалярного типу,окрім дійсного,яке виконує роль лічильника кількості повторень циклу. Її ще називають параметром циклу, або лічильником.

Ітераційні цикли

-Цикл з передумовою While

While <логічний вираз> do <тіло циклу>;

цикл "доки" виконує багаторазове виконання групи операторів <тіло циклу> доти,доки значення <логічний вираз> залишається вірним

-Цикл з післяумовою Repeat

Repeat <тіло циклу>

Until <логічний вираз>;

Оператори тіла циклу виконуються доти,коли результати обчислень виразу не набуде значення true

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

Оператори break і continue використовуються тільки всередині циклів.

Оператор break призначений для дострокового завершення циклу. При його виконанні відбувається негайний вихід з поточного циклу і перехід до виконання оператора, наступного за циклом. Оператор continue завершує поточну ітерацію циклу, здійснюючи перехід до кінця тіла циклу.

наприклад:

flag: = False;

for var i: = 1 to 10 do

begin

read (x);

if x <0 then continue; / / пропуск поточної ітерації циклу

if x = 5 then

begin

flag: = True;

break; / / вихід із циклу

end;

end;

Використання операторів break і continue поза тілом циклу помилкове.

Оператор exit призначений для дострокового завершення процедури або функції. наприклад

function Analyze (x: integer): boolean;

begin

if x <0 then

begin

Result: = False;

exit

end;

...

end;

Виклик exit в розділі операторів основної програми приводить до її негайного завершення.

Оператор безумовного переходу goto

Оператор безумовного переходу goto має наступну форму:

goto <мітка>

Він переносить виконання програми до оператора, поміченого міткою <мітка>.

<Мітка> являє собою ідентифікатор або ціле число без знаку. Щоб позначити оператор міткою, необхідно перед оператором вказати мітку з наступним двокрапкою:

label1: оператор

Мітки повинні бути описані в розділі міток з використанням службового слова label:

label 1,2,3;

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

label 1,2;

begin

var i: = 5;

2: if i <0 then goto 1;

write (i);

Dec (i);

goto 2;

1:

end.

буде виведено 543210.

Мітка повинна позначати оператор в тому ж блоці, в якому описана. Мітка не може позначати кілька операторів.

Перехід на мітку може здійснюватися або на оператор в тому ж блоці, або на оператор в осяжній конструкції. Так, забороняється ззовні циклу переходити на мітку всередині циклу.

Використання оператора безумовного переходу в програмі вважається ознакою поганого стилю програмування. Для основних варіантів використання goto в мову Паскаль введені спеціальні процедури: break - перехід на оператор, наступний за циклом, exit - перехід за останній оператор процедури, continue - перехід за останній оператор у тілі циклу.

Єдиний приклад доречного використання оператора goto в програмі - вихід з декількох вкладених циклів одночасно. Наприклад, при пошуку елемента k в двовимірному масиві:

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

...

var found: = False;

for var i: = 1 to 10 do

for var j: = 1 to 10 do

if a [i, j] = k then

begin

found: = True;

goto c1;

end;

c1: writeln (found);

2.Головні відмінності синтаксису мови С++ та Delphi

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]