Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Оператори присвоювання. Оператори вводу, виводу




Оператор присвоювання має вигляд

ім'я змінної: = вираз

Змінна і вираз повинні бути одного типу. Виняток ста­новить випадок дійсної змінної, коли вираз може бути і цілого типу.

Якщо, наприклад, у програмі є опис

VAR a, b, c, beta : real;

n, m : integer;

cl, c2 : char;

pi, p : boolean;

то синтаксично правильними будуть оператори:

beta: = (—b + sqrt (sqr (b) — 4 * a * c))/(2 * a)

cl: = 'A'; c2: = '+’; m:= ord (cl) + ord (c2)

p: = (n>0) AND(n< = 10)

p1: = true

Присвоювання n: = а і cl: = p — помилкові.

Для введення даних використовують оператори

read (список змінних)

або

readln (список змінних)

Зауважимо, що read і readln у мові програмування Пас­каль не є операторами в звичайному розумінні, а звернення до стандартних процедур вводу.

Наприклад,read (а, b, c)

При виконанні оператора із вхідних даних (із стандарт­ного файла input) буде взято три послідовних значення, перетворені у відповідні внутрішні подання і присвоєні змінним а, b, c.

Якщо стандартним пристроєм вводу є клавіатура, то, виконуючи оператор read чи readln, ЕОМ переходить в стан чекання вводу інформації. Необхідні значення набирають з клавіатури. Числові значення відокрем-люються один від одного принаймні одним пропуском. Якщо чита­ються символьні дані, то кожна буква подає сама себе і пропуски сприймаються як символи. Набрані значення вво­дяться в пам'ять ЕОМ після натискування клавіші вводу. Після виконання команди введення змінним, імена яких вказано в списку команди, будуть присвоєні відпо­відні значення.

Наприклад, при наявності в програмі опису

VAR a, b : real;

k, l: integer;

і оператора

read (a, fc, k, l) вхідні дані можна подати так:

2.35 - 5.01Е— 8 12 5

Виконання оператора введення в цьому випадку рівно­сильно виконанню чотирьох операторів присвоювання:

а: = 2.35; b:= 5.01Е — 8; k:= 12; l:= 5

Оператор readln, як i read, вводить дані (із стандарт­ного файла input), але після вибору необхідної кількості даних здійснює, перехід на початок наступного рядка. Якщо, наприклад, треба послідовно виконати оператори

readln (а, b); read (k, l)і на клавіатурі набрати дані

2.35 —5.01Е—8 12 5

то після введення двох перших значень (2.35 і —5.01Е — 8) курсор перейде на новий рядок і значення для k i l введені не будуть.

Для виконання оператора read (k, l) значення 12 i 5 треба набирати в новому рядку:

2.35 —5.01Е—8 ¿

12 5 ¿

Для послідовного виконання операторів

read (а, b); read (k, l), дані слід набирати так:

2.35 - 5.01Е— 8¿ 12 5¿

Якщо список в операторі readln відсутній, то введення даних не відбувається і тільки після натискування клаві­ші введення здійсниться перехід до нового рядка.

Виведення інформації здійснюється операторами (точ­ніше процедурами)

write (список елементів виводу)

або

writeln (список елементів виводу)

Елементами виведення є вирази, зокрема, змінні або константи. Можна використовувати всі чотири стандартні типи. Значення арифметичних виразів виводяться в десят­ковій системі числення. При цьому дійсні значення виво­дяться у формі з плаваючою крапкою. Для символьних змінних чи виразів виводиться літера. У булевих виразах виводиться слово true або false. Кожна одиниця виведен­ня заноситься у відведене поле, ширина якого залежить від конкретної ЕОМ.

Виконання оператора write автоматично не веде до ви­воду в новому рядку. Щоб здійснити перехід до нового рядка, використовується оператор writeln. Правила для нього такі ж, як і для оператора write, за винятком того, що після виведення всіх елементів списку вивідний пристрій переводиться на початок наступного рядка. Оператор writeln,який не містить списку елементів виведення, лише забезпечує перехід до нового рядка. Якщо до виконання оператора кур­сор знаходився в початковій позиції рядка, то після його ви­конання забезпечується пропуск рядка. Очевидно, оператори write (а, b,с); writelnрівносильні оператору writeln (а, b, с)

Для прикладу наведемо досить просту програму:

PROGRAM krug;

CONST pi-3,141593;

VAR r,s: real;

BEGIN write (‘Який радіус круга ?’);read (г);writeln;

s:=pi*r*r; writeln (‘Площa круга радіусa');

writeln (r); writeln (fдорiвнює: ', s)

END.

Результати (протокол) роботи програми для значення радіуса 10 матиме вигляд:

Який радіус круга? 10¿

Площа круга радіуса 1.00000000000E+01

дорівнює: 3.1415930000Е+02

У мові Паскаль є й інші варіанти управління виводом інформації. Можна вказувати, наприклад, ширину по­ля, яка відводиться для кожного елемента виведення, фор­му подання числових значень та ін. Здійснюється це за допомогою однієї або двох цілих додатних констант чи ці­лих виразів, які розміщуються в списку оператора write (або writeln) після відповідного елемента виводу. Ці управляючі величини відокремлюються один від одного і від елемента виводу двокрапкою.

Наприклад,

write (‘i =’, i: 5, ‘ ‘: 4, a : 9 : 3)

Перша величина після двокрапки (одиниця довжини) вказує мінімальну ширину поля (кількість позицій), які будуть відведені для даного елемента виведення. Якщо для елемента виведення треба меншу кількість позицій, то перші зліва незайняті позиції заповнюються пропусками. Якщо ж елемент виводу не вміщується у відведене поле, то буде відведено стільки позицій, скільки треба. Дійсним да­ним, крім того, передує завжди принаймні один пропуск. Друга величина, наступна за одиницею довжини, використо­вується лише для виведення значень типу real. Вона вка­зує на кількість десяткових розрядів, які будуть виведені після десяткової крапки. Приклад. Написати програму обчислення площі бокової поверхні і об’єму прямого кругового зрізаного конуса, радіуси нижньої і верх­ньої основ якого відповідно дорівнюють r1 i r2, а висота дорівнює h. Ре­зультати вивести з двома цифрами після десяткової крапки.

Площа бічної поверхні i об'єм зрізаного конуса обчислюються відповідно за формулами: s = p*l*( r1 + r2), v = p*h/3(r12 + r22 + r1*r2),

l =Ö h2 +( r1 - r2)2.

 

Програму можна записати у вигляді

PROGRAM conus;

CONST pi= 3.142;

sa=5; {ширина поля для аргументів}

sr=10; {ширина поля для результатів}

dr=2; {кількість дробових розрядів}

VAR r1, r2, h, {аргументи}

s, v, {результати}

l: real;

BEGIN

writeln ('Введіть, радіуси нижньої, верхньої');

writeln (‘основ і висоту: ‘);

read (r1,r2, h);

writeln;

v:=pi*h/3*(sqr(r1)+sqr(r2)+r1*r2) ;

l:=sqrt (sqr (h)+sqr (r1-r2));

s:=pi*l*(r1+r2);

writeln (‘параметри конуса:’);

writeln ( ‘r1=’,r1:sa:dr,’ ‘:3,

‘r2=’,r2:sa:dr,’ ‘:3,

‘h=’,h: sa:dr);

writeln (‘Площа бічної поверхні =’, s:sr:dr);

writeln ( ‘Об’’єм =’, v:sr:dr)

END.

2.5. Умовний оператор. Оператор вибору. Програмування розгалужень

Умовний оператор. У мові Паскаль він має вигляд


Поделиться:

Дата добавления: 2015-08-05; просмотров: 128; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты