Прості програми.
Коментарі
Запис чисел на 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 ц
Додаткова інформація про оператор WRITE (WRITELN)
Якщо використовується оператор Write то наступна величина друкується з того місця, де зупинився курсор. При використанні Writeln наступна величина друкується з початку нового рядка.
Наприклад:
Write(A);
Write(x); à Ax
Writeln(r); à г
В операторі Write (Writeln) можна робити більш докладніші описи та задавати, як повинні виводитись для друку цифри або друкований текст. Для прикладу розглянемо Write (А), де А=15. В результаті виконання цього оператора з'явиться число 15. Але де воно з'явиться? Якщо записати Write (А: 4), то ПЕОМ для друку використає 4 позиції, включаючи знак. Наше число складається із 2-ох позицій, то буде друкуватися проміжок, проміжок, а потім дане число. Якщо змінна А=46254, то ПЕОМ надрукує це число не повністю.
Для виведення цілих та дійсних чисел можна задавати формат в операторі Write. Формат задається через двокрапку після змінної. Для дійсних чисел формат складається із двох величин: перша означає загальне поле числа, яке виводиться, а друга - поле дробової частини. Загальне поле включає в себе знак або проміжок, кількість цифр цілої частини та кількість цифр дробової частини, а також крапку.
Якщо відведений формат більший кількості позицій, що займає число, то перед цілою частиною буде відведена відповідна кількість проміжків, а після дробової частини - відповідна кількість нулів. Оператор виведення Writeln без параметрів здійснює пропуск рядкa.
Перед введенням даних рекомендується давати пояснювальний текст за допомогою оператора Write. Цим самим здійснюється діалог користувача з машиною.
Приклад: Write ('Введіть значення х,у');
Read(xty);
Таким чином, перед введенням числових значень х,у на екрані з'явиться повідомлення 'Введіть значення х,у', після нього можливо здійснити введення 5_7 і натиснути клавішу Enter (Якщо пояснювальний текст не давати, то користувач часто забуває, значення яких змінних треба вводити).
Для виведення декількох проміжків, символ проміжка задається з форматом. (Наприклад: ' |__| ' :5 - друкує п'ять проміжків). Цим часто користуються для відокремлення однієї змінної від іншої.
Наприклад: Write('_':3,A:2, '__’:3,В:2)}
Якщо формат відсутній для дійсних чисел, то воно друкується у формі з плаваючою крапкою - мантиса та порядок.