- •Структура програми
- •Ідентифікатори.
- •Запис чисел на Pascal.
- •Додаткова інформація про оператор write (writeln)
- •3. Дано 3-й дійсні числа а,ь,с. Визначити, скільки серед них від'ємних.
- •Складений оператор.
- •Результати операцій над логічними даними:
- •Var ім 'я_масиву:аrrау[t1 ] of t2;
- •Var ім’я_масиву: ім'я_типу;
- •Var ім’я_мас:ім 'я_типу;
- •Процедури.
- •Структура процедури.
- •Параметри-значення та параметри-змінні.
- •Функції.
- •Відмінні особливості функції в порівнянні з процедурами:
- •Рекурсивні структури.
- •If умова then a;
- •If умова then a;
- •If умова then a;
- •Множини.
- •Var ім'я_запису: record
- •Var ім'я_запису:ім'я_типу;
- •Оператор приєднання.
- •With ім’я_запису do
- •Записи з варіантами.
- •Var ім'я_файлу: iм)я_типу; читання файлів.
- •Запис файлу.
- •Write(ім’я, параметри);
- •Читання та запис файлів.
- •Файлова система.
- •Фізичні файли.
- •Файлові типи.
- •Текстові файли.
- •Текст - орієнтовані процедури та функції.
- •Створення текстових файлів.
- •Операції введення-виведення текстових файлів.
- •Переваги типізованих файлів :
- •Безтипові файли.
- •Послідовний та прямий доступ до файлів.
- •Вказівники.
- •Зсилочнии тип.
- •Var p:pointer; (змінна — вказівник);
- •Операції розіменування.
- •Списки.
- •1. Зв'язне представлення з одним зв'язком.
- •2. Зв'язані представлення з двома зв'язками.
- •3В’язані списки.
- •Перегляд зв'язаного списку.
- •Списки властивостей.
- •Pascal – об’єктно-орієнтована мова.
- •Опис об’єкта: рядок
- •Розробка програм на мові тр з використанням мов Асемблера та с.
- •Підпрограма сортування методом обміну
- •Застосування механізму переривань
- •Лівий, правый: зв ’язок; дані: тип_даних;
Запис чисел на Pascal.
Числа записуються в програмі в десятковій системі лічби і можуть бути цілими і дійсними, додатними і від'ємними. Цілі числа записуються в машині своїм точним значенням.
Наприклад: -203,154, 0, 5.
Дійсні числа відображаються в звичайній формі і показниковій. В звичайній формі число повинно мати десяткову крапку, що використовується замість десяткової коми (число не може починатися і закінчуватися крапкою).
Наприклад: 4.7, 173.61
Показникова форма використовується для представлення дуже великих або дуже малих чисел.
( Маса спокою електрона - 0,000..910956). Такі числа більш зручніше записувати у вигляді з десятковим множником: 9,10956-10
В Паскалі, частина числа, яка читається як "помножить на 10 в степені" позначається буквою Е. Число має вид 9.10956Е-28. Цифри, які стоять попереду букви Е складають мантису числа, а цифри за буквою Е - порядок. При написанні числа мантиса не повинна бути відсутньою, або починатися та закінчуватися крапкою.
Наприклад: -0.1 ЗЕЗ, 40ЕЗ, -9Е5, 124.8Е-6 ( неправильно -Е05,-З.Е01, ,5Е-2).
Приклади запису чисел на Pascal:
2 7000-*2.7Е4 0,00000151=1,51-10-* ->1.51Е-6
Коментарі
В програмі дуже зручно розташовувати коментарі, для того, щоб іншим користувачам було зрозуміло, чому так зроблено. В Паскалі коментарі розташовуються між двома символами (*...*) або { ... } дужках. Все, що знаходиться між цими символами ігнорується транслятором.
Прості програми.
Приклад 1: Написати програму обчислення об'єму круглого конуса. При обчисленні користуватися формулами:
V=1/3nR2H Н=
Program kon;
Const P1=3.14;
VarR,L,H, V: Real;
Begin
Writeln(‘Bвeдimь L,R');
Read(L,R);
H: =Sqrt(Sqr(L) - Sqr(R));
V:=(PI*Sqr(R)*H)/3;
Writeln( 'Об'єм конуса= ', V: 5 : 2);
End.
Приклад 2: Написати програму обчислення періода коливань маятника довжиною І.
T=2
Program p2;
Const
g=9.8; PI=3.14;
Var T, I: Real;
Begin
Writeln('Bвedimь l);
Readl(l);
T:=2*PI*Sqrt(1/g);
Writeln(‘Пepiod коливання маятника= ',Т: 7:2);
End.
Завдання: Написати програму обчислення:
І. Периметр Р правильного n-кутника, що описаний навколо круга радіуса R [дорівнює
II. Об'єму циліндра з радіусом основи R та висотою ;
III. Площі бокової поверхні циліндра ;
IV. Площі повної поверхні циліндра
V. Середнього арифметичного двох чисел;
VI. Гіпотенузи та площі трикутника по 2-м катетам;
Одночасне використання дійсних та цілих чисел.
В програмі можуть зустрічатися одночасно зміні різних типів. Покажемо це на прикладі:
1. Program KB;
2. VarM, N: Integer;
3. A, B:Real;
4. Begin
5. A: =1.6;
6.N: =2;
7.B:=N;
8.N: =TRUNC(A);
9.M:=ROUND(A);
10.End.
В 7-му рядку записано B:=N. Тут дійсній змінній В присвоюється значення цілої змінної N (можливий і такий запис В: =N+ 6.3, тут цілі та дійсні числа зустрічаються разом в правій частині виразу. Записати навпаки не можна N!=В). В даних випадках користуються стандартними функціями
trunc та round.
У 8-му рядку є стандартна функція TRUNC. За допомогою цієї
функції здійснюється перетворення дійсного числа в ціле
шляхом відкиданням усіх цифр, що знаходяться після десятичної крапки.
(TRANCATE .- відсікати). Можливо перетворювати дійсне число в ціле і шляхом округлення. (Замінюють числом, яке наближається до даного найкращим чином). В Pascal для цього використовують стандартну функцію ROUND (округлити). Значення функції TRUNC та ROUND завжди типу Integer.
Висновок: Якщо зліва від комбінацій символів := стоїть змінна типу Integer, то справа від цієї комбінації символів можна ставити тільки такий вираз, який або взагалі не містить змінних типу Real, чисел типу Real, знаків операцій / ,функцій sin, cos, sqrt або містить їх тільки під знаком функцій TRUNC та ROUND.
Приклад 1:i ,j: integer; z, s:real;
Які оператори присвоєння не правильні?
- + - -
і: =3.14; S:=і; j:=4/2; i:=sqrtO)+2;
+ + +
z: =4/2; і: =round(4/2); j: =1+trunc(L5+sin(2.7+z);
Приклад 2: Дано дійсне число х .Одержати-цілу частину числа х,
за допомогою стандартних функцій..
n:=trunc(x); n=round(x);
Приклад 3: Обчислити значення виразів:
trunc(9.6) =9 round(6.9)=7
trunc(6.2)=6 round(9.2)=9
trunc(-l.S)=-l round(-1.8)=-2
round(-0.5)= -1
Приклад 4: Змінній d присвоїти дробову частину додатного числа х.
d: =x-trunc(x);
Приклад 5: Визначити тип змінної:
1+0.0; 20/4; sqr(4); sqr(5.0); sqrt(16); sin(O); trunc(-3.14);
ц д ц д д 0 ц
