ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Цикл з передумовою (while), зображення в блок-схемі.

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

Оператор циклу з передумовою - while (поки) призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, доки залишається істинною умова виконання циклу.

Оператор циклу з передумовою має вигляд:

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

Begin

<вказівка 1>;

<вказівка 2>;

<вказівка n>

end;

Тут while(поки), (виконати) - зарезервовані слова; логічний вираз -умова, яка визначає виконання циклу.

Дія команди. Обчислюється значення логічного виразу (умови). Якщо умова істинна (приймає значення true), то виконується група вказівок (тіло циклу). Виконання програми знову повертається до перевірки умови циклу. Якщо умова хибна (приймає значення false), то виконується вказівка, яка знаходиться після оператору повторення з передумовою.

Блок-схема оператора циклу з передумовою має вигляд:

Примітка.

1. Якщо умова у вказівці повторення хибна при першій же перевірці, то тіло циклу не виконується жодного разу. Умова оператора є умовою входження в цикл.

2. Умову оператора повторення з передумовою необхідно підбирати таким чином, щоб в деякий момент вона змінила своє значення з true на false, інакше виникне ситуація "зациклювання" програми.

3. Програмісту необхідно самому потурбуватись про необхідність збільшення (зменшення) лічильника циклу на 1. Це можна зробити таким чином І:=І+1.

4. Входження в тіло оператора повторення можливе тільки через заголовок цього оператора.

Задача 3. Нехай змінні х, s мають значення х=4, s=0. Після виконання команди

whileх<=8 dо begins:=s+х; х:=х+1 end;

вони набудуть значень s=4+5+6+7+8=30, х=9.

Приклад. Вивести таблицю чисел від 20 до 30, їхні квадрати та куби за допомогою команди while можна так:

i := 20;

while i <= 30 do

begin

writeln(i:4, sqr(i):6, exp(3*ln(i)); i :=i + 1 end;

 

Задача 4 Знайти суму всіх натуральних чисел від 1 до N.

programSUMA1;

varI,N,S: integer;

Begin

writeln('BBeдіть кількість натуральних чисел:');

write('N=');

readln(N);

I:=l; S:=0;

while I<=N do

Begin

S:=S+i; i:=i+l end;

writeln('S=',S)

End.

Цикл з післяумовою (repet-until), зображення в блок-схемах.

Оператор циклу з післяумовою призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки умова виконання циклу не стане істинною (логічний вираз дорівнює не false, а true).

Оператор циклу з післяумовою має вигляд:

Rереаt

<вказівка 1>; <вказівка 2>;

….

<вказівка n>

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

Тут rереаt(повторювати), until (до тих пір поки) - зарезервовані слова; логічний вираз - умова, яка визначає завершення циклу.

Перевірка умови здійснюється не на початку циклу, а в кінці (що гарантує, як мінімум, одноразове виконання тіла циклу).

Дія команди. Спочатку виконуються вказівки, які входять до тіла циклу. Потім обчислюється значення умови-виразу. Якщо умова хибна (тобто має значення false), то знову виконуються вказівки тіла циклу. Якщо умова стає істинною (true),то виконання циклу припиняється і виконується наступна вказівка програми.

Примітка.

1. Тіло циклу, яке складається з групи вказівок, не потрібно брати в дужки (begin - еnd), оскільки службові слова rереаt – until відіграють роль дужок.

2. Тіло циклу в операторі циклу з післяумовою виконується щонайменше один раз.

3. Умова оператору є умовою виходу з циклу.

4. Входження в тіло оператору циклу можливо тільки через заголовок цього оператору.

Блок-схема оператора циклу з післяумовою має вигляд:

Задача 5. Нехай змінні х, у мають значення х=5, у=0. У результаті виконання команди

Repeat

у:=у+х;

z:=2*x;

х:=х-2

until х<=1;

 

змінні у, z, х набудуть значень у=0+5+3=8, z=6, x=1.


ТЕМА №3. СТРУКТУРИ ДАНИХ. ПРОЦЕДУРИ ТА ФУНКЦІЇ

Лекція №1 Функції. Процедури. Опис та виклик.

ПЛАН

1. Визначення поняття функції.

2. Стандартні функції.

3. Визначення поняття процедури.

4. Стандартні процедури.

Визначеня поняття функції

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

Підпрограми оформляються у вигляді замкнутих ділянок програми, що мають чітко позначені вхід і вихід. Підпрограми дозволяють більш повно реалізувати в програмах метод структурного програмування.

Рисунок 1 - Класифікація підпрограм

У мові Турбо-Паскаль виділяють два види підпрограм: процедури (Рrocedure) і функції (Function). Будь-яка програма може містити кілька процедур і функцій. Процедури і функції з'являються в розділі опису слідом за розділом змінних.

У мові Pascal використовуються підпрограми-функції. Звертання до функції приводить до обчислення її значення-об'єкта простого типу real, integer або char. Тип значення функції фіксується в описі функції.

Якщо значення деякої функції має тип real або integer, то спосіб її вживання аналогічний способові вживання стандартних функцій (sin, cos, ln і ін.). Якщо ж значення деякої функції має тип char, то ця функція може бути використана в програмі нарівні з конкретним символом, взятим в апострофи.

Заголовок функції починається службовим словом function і має вигляд:

function <ім'я функції> (список параметрів):<тип значення>;

Ім'я функції – це ідентифікатор. У списку формальних параметрів описуються імена формальних параметрів, що є аргументами, і вказуються їхні типи. Список може містити кілька груп параметрів. Якщо груп кілька, то вони розділяються між собою крапкою з комою ';'.

Наприклад:

function f(x:real; y:integer):integer;

function log (var a,x:real):real;

function litera (p:integer):char;

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

Відмінною рисою виконавчої частини функції є те, що в неї обов'язково повинний входити оператор присвоювання, у якому ліворуч від знака присвоювання ':=' стоїть ім'я функції, тобто

 

<ім'я функції>:=<вираз>;

Це присвоювання визначає значення функції.

Опису функцій розташовуються в програмі після опису всіх змінних основний програми.

Стандартні функції.

Табл. 1. Основні стандартні функції та процедури

Функція Тип аргументу Тип результату Математичний запис .коментар
abs(х) Integer, real Integer, real |x|
аrctan(х) Integer, real real arctgx
cos(х) Integer, real real cosx
sіn(х) Integer, real real sinx
ехр(х) Integer, real real
ln(х) Integer, real real lnx
sgrt(x) Integer, real real
sqr(x) Integer, real Integer, real
ord(х) сhаг упорядкований integer АВСП-код симв., номер елемента
suсс(х) упорядкований упорядкований повертає наступне значення х
ргеd(х) упорядкований упорядкований Повертає попереднє значення х
Round(х) real Integer заокруглює число х до цілого
Trunk(х) real Integer відкидає дробову частину числа х
Int(х) real real відкидає дробову числа х
frac(х) real real дробова частина
odd(х) Integer boolean true - непарне), false - парне),
random(х) Integer Integer Генерує випадкове число з діапазону від 0 до х
upcase(х) char char Замінює малу літеру латинської абетки на велику

Завдання1.Задано сторони трикутника а, b, с. Знайти висоту трикутника, опущену на сторону а.

Function s(a,b,c,: real):real;

Var p: real;

Begin

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

End;

Var a,b,c,h: real;

Begin

< Введення змінних a, b, c >

h:= s(a,b,c)/(2*a);

Write(‘ h=’,h:0:2)

End.

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти