Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_OT-1.doc
Скачиваний:
14
Добавлен:
17.03.2016
Размер:
1.15 Mб
Скачать

1: Begin

C:=A+B;

D:=(A-B)/2;

end;

3: C:=A-B;

7: C:=A*B;

else C:=A/B;

end;

  1. ЗАВДАННЯ НА РОБОТУ

Розробити та запустити у роботу програму на мові програмування “Паскаль”, яка вирішує задачу відповідно до заданого нижче варіанта. При цьому детально вивчити та практично застосувати пункт меню Edit інтегрованого середовища мови.

2.1. Визначити, в якому квадранті (четверті), на осі чи в початку координат знаходиться точка з уведеними з клавіатури координатами (х,у).

2.2. Увести з клавіатури ПІБ студента, оцінку з математики, хімії, фізики. Підрахувати середній бал та визначити право студента на отримання базової та підвищеної стипендії, якщо середній бал не менше "4' та "5" відповідно.

2.3. Увести з клавіатури ПІБ студента, кількість "3", кількість "4", кількість "5", оцінку за дипломний проект. Визначити право студента на отримання диплома з відзнакою, якщо відсутні "3", "4" не більше 25 %, а за дипломний проект оцінка "5".

2.4. Увести з клавіатури марку автомобіля, пройдений шлях, ціну, об'єм двигуна. Рекомендувати автомобіль до придбання, якщо його ціна нижча заданої, а об'єм двигуна більший заданого.

2.5. Увести з клавіатури ПІБ продавця, обсяг продажу товару, стаж роботи. Визначити розмір премії, як відсоток від обсягу продажу (відсоток дорівнює стажу роботи), та право на подарунок, якщо стаж роботи й обсяг продажу більші заданих.

2.6. Увести з клавіатури ПІБ студента, стать, кількість "3", кількість "4", кількість "5" у заліковій книжці. Рекомендувати студентів чоловічої статі до навчання на військовій кафедрі, якщо середній бал не нижче 3,9.

2.7. Увести з клавіатури ПІБ студента, оцінку за контрольну роботу, оцінку за розрахункову роботу, оцінку за лабораторні роботи. Рекомендувати студента на отримання заліку з дисципліни, якщо вказані оцінки не нижче "4".

2.8. Увести з клавіатури ПІБ, кількість "3", "4", "5" у заліковій книжці, назву іноземної мови для трьох студентів. Визначити студента з найвищим середнім балом для навчання за додатковою програмою, якщо іноземною є німецька мова.

2.9. Увести з клавіатури ПІБ студента, стать, оцінку з іноземної мови та обчислювальної техніки. Визначити студентів жіночої статі для участі в міжнародній олімпіаді, якщо оцінка з обчислювальної техніки "5", а з іноземної мови не нижче "4'.

2.10. Знайти корні квадратного рівняння ax2+bx+c=0. Значення коефіцієнтів рівняння увести з клавіатури.

  1. КОНТРОЛЬНІ ЗАПИТАННЯ

3.1. Які оператори застосовуються для реалізації розгалужень програми.

3.2. Яка специфікація оператора умовного переходу.

3.3. Як реалізується складна умова умовного оператора.

3.4. Як виконати більше одного оператора у гілках оператора умовного переходу.

3.5. Яка специфікація оператора вибору.

3.6. Який тип даних може мати змінна вибору оператора вибору.

Комп'ютерний практикум № 3

Цикли на мові "паскаль"

Мета практикуму – розробка програмного забезпечення на мові програмування "Паскаль" з реалізації циклічних структур алгоритмів, а також детальне вивчення та практичне застосування пунктів меню Search, Help інтегрованого середовища мови.

  1. ТЕОРЕТИЧНІ ВІДОМОСТІ

1.1. Цикл – це послідовність операторів, яка може виконуватися більше одного разу.

Для реалізації циклів із заданим числом повторень найчастіше застосовується оператор повторення for. Якщо параметр циклу змінюється з кроком відмінним від одиниці, то може використовуватися оператор циклу з передумовою while чи з постумовою repeat.

1.2. Оператор циклу for застосовується, якщо крок зміни параметра циклу дорівнює 1 чи -1. При кроці, рівному одиниці, цей оператор має наступну специфікацію

for <параметр>:=<поч.зн.> to <кінц.зн.> do <оператор>;

Параметр циклу <параметр> та його початкове <поч.зн.> і кінцеве <кінц.зн.> значення можуть мати будь-який простий (скалярний) тип даних, крім дійсного. При повторі значення параметра збільшується на одиницю, тому кінцеве значення не повинно бути менше за початкове. Якщо ж вони рівні, то <оператор> виконується один раз. Після завершення виконання циклу параметр циклу залишається рівним кінцевому значенню. В тілі циклу програміст не може змінити значення параметра.

Для цілочислового типу параметра, позначеного ідентифікатором І, цикл може мати такий вигляд

for I:=3 to 21 do Writeln (I);

Якщо у циклі необхідно виконати більше одного оператора, то використовуються операторні дужки begin..end, наприклад,

for I:=3 to 21 do

begin

C:=A+B;

D:=A-B;

Writeln (I,C,D);

end;

При від’ємному кроці -1 (мінус один) оператор for має таку специфікацію

for <параметр>:=<поч.зн.> downto <кінц.зн.> do <оператор>;

При повторенні значення параметра зменшується на одиницю, тому кінцеве значення не повинно бути більше за початкове, наприклад,

for I:=23 downto 11 do

begin

C:=A+B;

D:=A-B;

Writeln (I,C,D);

end;

Приклад 1. Знайти добуток елементів дійсного масиву А12.

Program Dobutok_Array;

Uses Crt;

Const

n=12;

Var

A: array [1..n] of real;

I: byte;

Dobutok: real;

Begin

TextBackGround (lightgray);

ClrScr;

TextColor (yellow);

GotoXY (17,2);

Writeln ('ВИЗНАЧЕННЯ ДОБУТКУ ЕЛЕМЕНТIВ МАТРИЦI');

GotoXY (25,4);

Write ('Введiть елемент матрицi ');

TextColor (black);

for I:= 1 to n do

begin

GotoXY (49,4);

Write ('a[',i,']= ');

Read (A[i]);

GotoXY (49,4);

ClrEol;

end;

Dobutok:= 1;

for I:= 1 to n do Dobutok:=Dobutok* A[i];

TextColor (red);

GotoXY (21,7);

Writeln ('Добуток елементiв дорiвнює: ', Dobutok:9);

Repeat Until KeyPressed;

End.

1.3. Цикл із перед- та постумовою можна застосувати для вирішення задач, у яких параметр циклу змінюється з кроком, відмінним від одиниці. Для цього перед початком циклу задається початкове значення параметра циклу, а в тілі циклу – закон його зміни.

У циклі з передумовою

while <умова> do <оператор>;

<оператор> виконується, поки <умова> має значення True, тобто “істина”, наприклад,

while A>B do C:=A+B;

Якщо в циклі необхідно виконати більше одного оператора, то використовуються операторні дужки begin..end. Для запобігання зациклювання програміст повинен забезпечити умову виходу з циклу, наприклад, цілочислова змінна А змінюється від 10 до 4 із від’ємним кроком -2

А:=10;

while A>=4 do

begin

C:=A+D;

write (C);

A:=A-2;

end;

1.4. Оператори у циклі з постумовою

repeat

<оператор 1>;

<оператор 2>;

<оператор N>;

until <умова>;

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

А:=10;

repeat

C:=A+D;

write (C);

A:=A-2;

until A<4;

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

1.6. Оператори тіла циклу з передумовою, які обмежені операторними дужками begin..end, виконуються, поки <умова> має значення True, тобто “істина”

while <умова> do

begin

<оператор 1>;

<оператор 2>;

<оператор N>;

end;

1.7. Оператори тіла циклу з постумовою обмежені словами repeat.. until й виконуються на відміну від попереднього циклу, поки <умова> має значення False, тобто “неістина”

repeat

<оператор 1>;

<оператор 2>;

<оператор N>;

until <умова>;

Приклад 2. Знайти найменше натуральне число k, при якому функція y=xk/k стає меншою за задане додатне число а, де х – задане додатне число менше одиниці.

Program Minimum_K;

Uses Crt;

Var

a, x, y :real;

k :word;

Begin

TextBackground (lightgray);

ClrScr;

TextColor (blue);

Writeln ('ЗНАХОДЖЕННЯ ЗНАЧЕННЯ "к", ПРИ ЯКОМУ

ФУНКЦIЯ y=x^k/k < a');

Writeln;

TextColor (red);

Write (' ':9,'Ввeдiть значення "a" та "x": ');

TextColor (black);

Readln (a, x);

k:=0;

repeat

k:= k+1;

y:= Exp(k*Ln(x))/k;

until y < a;

TextColor (yellow);

Writeln;

Writeln (' ':9,'Функцiя y < a при к= ',k);

Readln;

End.

1.8. Цикл, що містить у своєму тілі один чи декілька інших циклів називається вкладеним. Правила організації зовнішнього та внутрішніх циклів такі як і для звичайного циклу, проте цикли не повинні перехрещуватися. При цьому за одну зміну параметра зовнішнього циклу, параметр внутрішнього циклу кожен раз перебігає всі свої значення від початкового до кінцевого. Вкладені цикли реалізуються за допомогою операторів for, while чи repeat.

1.9. Оператор forзастосовується для циклів із заданим числом повторень, наприклад, при роботі з масивами.

Приклад 3. Знайти суму елементів кожного рядка дійсної матриці А3х5.

Program Summa_String;

Uses Crt;

Const

N=3;

M=5;

Var

A :array [1..N,1..M] of real;

I,J :integer;

Suma :real;

Begin

TextBackGround (lightgray);

ClrScr;

TextColor (blue);

GotoXY (7,2);

Writeln ('ПРОГРАМА ВИЗНАЧЕННЯ СУМИ ' ,

'ЕЛЕМЕНТIВ РЯДКIВ МАТРИЦI A(',N,'x',M,')');

Window (1,3,80,25);

{початок зовнiшнього циклу по рядкам матрицi}

for I:= 1 to N do

{початок внутрiшнього циклу по стовпцям матрицi}

for J:= 1 to M do

begin

GotoXY (21,2);

TextColor (red);

Write ('Введiть елемент матрицi А[',i,',',j,']= ');

TextColor (black);

Read (a[i,j]);

ClrScr;

end;

{кiнець внутрiшнього циклу}

{кiнець зовнiшнього циклу}

GotoXY (30,2);

Writeln ('Рядок');

GotoXY (39,2);

Writeln ('Сума');

TextColor (yellow);

{початок зовнiшнього циклу по рядкам матрицi}

for I:= 1 to N do

begin

Suma:= 0;

{початок внутрiшнього циклу по стовпцям матрицi}

for J:= 1 to M do

Suma:= Suma+ a[i,j];

{кiнець внутрiшнього циклу}

GotoXY (30,3+I);

Writeln (I:3);

GotoXY (35,3+I);

Writeln (Suma:9:2);

end;

{кiнець зовнiшнього циклу}

Repeat Until KeyPressed;

End.

1.10. Оператор циклу з передумовою whileта оператор із постумовоюrepeat доцільно використовувати, якщо крок зміни параметра циклу відрізняється від одиниці чи кількість повторень циклу наперед невідомо.

Приклад 4. Обчислити значення функціїy=Asin(x)при зміні аргументухна проміжку від/2 до з кроком h=(2)/20для трьох значень коефіцієнтаА, рівних, 3, 5 та 7.

Program Function_ASinx;

Uses Crt;

Var

A :integer;

y,x,h :real;

Begin

TextBackGround (lightgray);

ClrScr;

TextColor (blue);

GotoXY (6,1);

Writeln ('ПРОГРАМА ОБЧИСЛЕННЯ ФУНКЦIЇ "y=Asinx"');

TextColor (red);

Writeln (' ':13,'A',' ':4,'x',' ':6,'y');

TextColor (black);

Window (1,4,80,25);

A:=3;

h:=(pi-pi/2)/20;

{початок зовнiшнього циклу по коефіцієнту „А”}

while A <=7 do

begin

x:=pi/2;

{початок внутрішнього циклу по аргументу „х”}

while x<=pi do

begin

y:=A*sin(x);

Writeln (' ':11,A:3,x:7:2,y:7:2);

x:=x+h;

end;

{кінець внутрішнього циклу}

A:=A+2;

Readln;

ClrScr;

end;

{кінець зовнiшнього циклу}

End.

  1. ЗАВДАННЯ НА РОБОТУ

Розробити та запустити у роботу дві програми на мові програмування “Паскаль”, які вирішують задачі відповідно до заданого нижче варіанта. При цьому детально вивчити та практично застосувати пункти меню Search,Help інтегрованого середовища мови.

2.1. Обчислити значення функції y=10e-tcos(4t) при збільшенні аргументу t від нуля із заданим кроком, поки функція e-t не досягне за значення 0,1. Знайти найбільшу суму елементів рядків цілочислової матриці А3х5.

2.2. Обчислити значення функції y=23(1-e-3t) при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 22,5. Знайти добуток найменших елементів стовпців дійсної матриці В3х5.

2.3. Обчислити значення функції y=17e-t при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 1,3. Знайти найменший добуток елементів стовпців цілочислової матриці С3х5.

2.4. Обчислити значення функції y=0,5t2-4t+6 при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 0,2. Знайти суму найбільших елементів рядків дійсної матриці D3х5.

2.5. Обчислити значення функції y=5t при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 99,9. Знайти найменшу суму елементів стовпців цілочислової матриці Е3х5.

2.6. Обчислити значення функції y=19ln(t) при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 45,3. Знайти добуток найбільших елементів рядків дійсної матриці F3х5.

2.7. Обчислити значення функції y=14tg(t) при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 345,3. Знайти найбільший добуток елементів рядків цілочислової матриці Н3х5.

2.8. Обчислити значення функції y=33sin(3t) при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 30,3. Знайти суму найменших елементів стовпців дійсної матриці R3х5.

2.9. Обчислити значення функції y=13-10e-t при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 5,5. Знайти найбільшу суму елементів стовпців цілочислової матриці Q3х5.

2.10. Обчислити значення функції y=6arctg(t) при збільшенні аргументу t від нуля із заданим кроком, поки функція y не досягне значення 7,4. Знайти добуток найменших елементів рядків дійсної матриці Z3х5.

  1. КОНТРОЛЬНІ ЗАПИТАННЯ

  1. Що таке цикл.

  2. Що таке параметр циклу.

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

  4. Який крок зміни параметра циклу у оператора for.

  5. Як організується цикл із заданим числом повторень за допомогою оператора з перед- та постумовою.

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

  7. Які оператори керування використовуються для реалізації циклу з невідомим числом повторень.

  8. Коли завершується цикл із невідомим числом повторень.

  9. При якій умові виконується цикл із передумовою.

  10. При якій умові виконується цикл із постумовою.

  11. Що називається вкладеним циклом.

  12. Які правила організації вкладеного циклу.

  13. Як змінюється параметр зовнішнього та внутрішнього циклу.

Комп'ютерний практикум № 4

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