русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Прості програми


Дата додавання: 2014-11-28; переглядів: 845.


Прості (інша назва – лінійні) програми складаються з команд присвоєння, введення-виведення даних та викликів процедур.
1. Команда присвоєння має вигляд

<ім’я змінної> := <вираз>;

Дія команди. Обчислюється вираз і його значення надається змін­ній. Вираз призначений для описування формул, за якими ви­ко­нуються обчислення. Вираз може містити числа, змінні, сталі, назви функцій, з’єднані символами операцій.
Змінна і вираз мають бути одного типу або узгодженими: змін­ним дійсного типу можна надавати значення виразів цілого типу, а змін­ним рядкового типу присвоювати значення виразів символь­но­го типу, але не навпаки.
Приклад. Розглянемо дію команд присвоєння в програмі Try­kut­nyk: p:=a+b+c; p:=p/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)). Тут об­числю­ється значення периметра і воно надається змінній p, пів­пери­метра (на­дається також змінній p) та площі (надається змінній s).
2. Основні операції, стандартні функції та деякі процедури мови Паскаль описані в табл. 3 та 4 відповідно.

Табл. 3. Основні операції

Пріоритет Операції Зміст операції
+, - not Присвоєння знаку Логічне заперечення
*, / div, mod and Множення, ділення Цілочислові операції Логічний добуток
+, - or, xor Додавання, віднімання Логічні суми
=, <>, <, >, <=, >= in Відношення (порівняння) Належність до множини

Виконання кожної операції здійснюється з урахуванням її прі­ори­­тету (1 – найвищий). Для зміни звичайного порядку виконання операцій вико­рис­­товують круглі дужки, наприклад: 2*–3–2=–8; 2*(–3–2)=–10; 5*(2+13)=75; 20+100/20*5=45;20+100/(20*5)=21.
Результатом операції div є ціла частина від ділення двох чисел, а mod – остача, наприклад: (9–2) div 2=3; 7 mod 2 = 1.
Табл. 4. Основні стандартні функції та процедури

Функція Тип аргументу Тип результату Математичний запис, коментар
abs(x) integer, real integer, real |x|
arctan(x) integer, real real arctgx
cos(x) integer, real real cosx
sin(x) integer, real real sinx
exp(x) integer, real real ex
ln(x) integer, real real lnx
sqrt(x) integer, real real
sqr(x) integer, real integer, real x2
ord(x) упорядкований integer ASCII-код символу
succ(x) упорядкований упорядкований повертає наступне значення x
pred(x) упорядкований упорядкований повертає попереднє значення x
round(x) real integer заокруглює чис­ло х до цілого
trunc(x) real integer відкидає дробову частину числа х
int(x) real real відкидає дробову частину числа х
frac(x) real real дробова частина числа х
odd(x) integer boolean true (x – непар­не), false (x – парне)
random(x) integer integer Генерує випад­кове число з діа­пазону від 0 до x
upcase(x) char char замінює малу літеру латинської абетки на велику
Процедури:      
inc(x,y) integer integer збільшує x на y
inc(x) integer, char integer, char збільшує x на 1
dec(x,y) integer integer зменшує x на y
dec(x) integer, char integer, char зменшує x на 1

Розглянемо приклади значень функцій і виконання процедур:

  round(2.1)=2, round(6.8)=7, trunc(2.1)=2, trunc(6.8)=6,   int(2.1)=2.0, int(6.8)=6.0, frac(2.1)=0.1, frac(6.8)=0.8,   x:=1; inc(x,5); (x=6), x:=’a’; inc(x); (x=’b’), x:=7; dec(x,3); (x=4), x:=’d’; dec(x); (x=’c’).

Інші математичні функції можна виразити через основні. На­прик­ла

, , , ,

3. Команди введення (read, readln) даних. Нада­вати значення змінним можна двома способами: за допомогою команди при­своєння, наприклад x:=5, або команд уведення даних з клавіатури. Другий спосіб робить програму більш універсальною, оскільки дає змогу розв’язувати задачі для різних значень змінних. Команда read має вигляд

read(<змінна 1> , …, <змінна n>);

Дія команди. Виконання програми зупиняється. Cистема пере­ходить у режим очікування введення даних (екран темний, миготить курсор). Значення цих даних користувач набирає на клавіатурі через пропускабо натискає після кожного даного на клавішу вводу. У результаті виконання цієї ко­манди відповідним змінним будуть присвоєні конкретні значен­ня.
Команда readln має вигляд

readln(<змінна 1> , …, <змінна n>);

Вона діє як команда read з тою різницею, що зайві дані у рядку введення ігноруються. Наступна команда вводу читатиме дані з нового рядка. Цю команду застосовують під час роботи з тексто­вими файлами (див. § 10).
Розглянемо програму Trykutnyk. Значення сторін трикут­ни­ка можна ввести, наприклад, так: readln(a, b); read(c).
Тоді під час виконання програми на клавіатурі набираємо

  5 3.6 4.2   (натискаємо на клавішу вводу) (натискаємо на клавішу вводу)

У результаті виконання команд readln(a, b) та read(c) змінні от­ри­мають такі значення: a=5; b=3.6; c=4.2.
Зауваження. Команду readln без параметрів часто вико­рис­товують у середовищі TP для MS-DOS, щоб оглянути результати ви­конання про­грами на екрані. Щоб після цього перейти у режим редагування програми, потрібно натиснути на клавішу вводу. У середовищі TP для Windows система виводить результати у окре­мому вікні, тому там цю команду писати не потрібно.
Зауваження. Значення змінних логічного й перерахованого типу вводити з клавіатури не можна.
4. Команди виведення (write, writeln) даних.Для виведення на екран повідомлень та результатів обчислень вико­ристо­вують коман­ди write та write

write(<змінна 1> , …, <змінна n>);

У списку виведення можуть бути сталі, змінні або вирази.
Дія команди. Сталі, значення змінних та виразів виводяться на екран у вікно виведення, яке можна переглянути за допомогою ком­бінації клавіш Alt+F5.
Команда

writeln(<змінна 1> , …, <змінна n>);

діє майже так само як і команда write; різниця така: наступна піс­ля неї команда write чи writeln буде виводити значення на екран у новому рядку.
Для переходу на новий рядок екрана чи для пропуску рядка використо­вують команду writeln без параметрів.
Розглянемо програму Trykutnyk. Якщо в цій програмі задати такі команди виведення: write('p=', p); writeln('s=', s); writeln('Ви­конав Панчишин Ю.'), то для заданих вхідних даних a=5, b=3.6, с=4.2, на екрані отримаємо такий результат:
p= 1.2800000000E+01s= 7.429239530Å+00
Виконав Панчишин Ю.
5. Форматний вивід. Команди write та writeln можуть здій­снювати форматний вивід даних. Форматування — це подання ре­зультатів у наперед заданому користувачем вигляді. Для цього після виразу через двокрапку записують число (:n)— кількість по­зицій на екрані, які треба надати для виведення значення цього виразу. Формат :n застосовують для даних цілого та рядкового ти­пів. Під час виведення даного дійсного типу зазначають загальну кі­ль­кість позицій для всіх символів (n) та кількість позицій для дробової частини (m), тобто формат має вигляд:n:m.
Розглянемо команду виведення writeln('p=', p:5:2) у програмі Trykutnyk. Вона забезпечує виведення на екран рядкової сталої 'p=' без лапок (з метою пояснення, що обчислено) і числа 12,8 у фор­маті :5:2, тобто так: p= 12.80.
Задача 1. Дано координати трьох вершин трикутника A(1;1), B(2;2) та C(–1;2). Обчислити медіану mb та радіус описаного кола r.

  program TrykutnykNew; uses Crt; var x1, y1, x2, y2, x3, y3, a, b, c, mb, r, x, y, p, s: real; begin clrscr; writeln(‘Введіть координати:’); readln(x1,y1,x2,y2,x3,y3); a:=sqrt(sqr(x3-x2)+sqr(y3-y2)); b:=sqrt(sqr(x1-x3)+sqr(y1-y3)); c:=sqrt(sqr(x1-x2)+sqr(y1-y2)); x:=(x1+x3)/2; y:=(y1+y3)/2; mb:=sqrt(sqr(x-x2)+sqr(y-y2)); p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); r:=a*b*c/(4*s); writeln('mb=', mb:5:2); writeln('r=', r:5:2); readln end.   {Обчислимо довжини} {сторін трикутника} {Обчислимо координати} {середини сторони b} {Обчислимо медіану mb} {Обчислимо півпериметр} {Обчислимо площу} {Обчислимо радіус} {Виведемо результати} {Виведемо радіус}

Зауваження. Якщо не використовувати форматний вивід, то для даних цілого та логічного типу на екрані буде надано до 15 пози­цій, для даних дійсного типу — 18. Дані дійсного типу виводяться у вигляді х.ххххххххххЕзнакхх, де х – будь-яка цифра, що часто є надлиш­ковим. Такі числа на екрані можуть зливатися.
Завдання. Розв’язати задачу № 2 з розділу “Задачі” свого варіанта.
Довідка. Для розв’язування типових задач про трикутник наве­демо формули обчислення деяких величин:
віддаль між точками (x1,y1), (x2,y2):
координати середини відрізка: x=(x1+x2)/2, y=(y1+y2)/2,
півпериметр трикутника: p=(a+b+c)/2;
площа трикутника:
висоти трикутника: ha=2s/a, hb=2s/b, hc=2s/c;
бісектриси трикутника:
, , ;
радіус описаного кола: r=abc/(4s);
радіус вписаного кола: r=s/p, де a, b, c — сторони трикутника.


<== попередня лекція | наступна лекція ==>
Типи даних | Розгалуження


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн