Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programuv_good.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
990.21 Кб
Скачать
  1. Оголошення підпрограм: функцій та процедур. Структурне програмування передбачає побудову програм, яка фактично буде послідовністю звертань до підпрограм.

Процедура – дія, функція – результат. За своєю структурною будовою підпрограми подібні до програм, тобто мають заголовок, розділ оголошень, тіло.

ПРОЦЕДУРА.

PROCEDURE <імя> ( <список формальних параметрів> );

<оголошення>

<тіло>

ФУНКЦІЯ.

FUNCTION <імя> (<спиток формальних пораметрів>);<тип результату>;

<оголошення>

<тіло>

На цьому завершується розділ оголошень.

ТІЛО ПРОГРАМИ АБО РОЗДІЛ ОПЕРАТОРІВ:

Ця частина є реалізацією алгоритму розв’язку задачі. Саме тут задається послідовність команд у вигляді викликів підпрограм або операторів мови.

Розділ операторів обмежується оператор ними дужками:

BEGIN

<оператор>;

END.

В тілі програми кожна окрема команда завершується ;.

Із всього названого обов’язково присутніми у програмі є операторні дужки, що обмежують тіло програми.

ТЕМА: Оператори мови Pascal.

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

<змінна> : = <вираз>;

Змінна – величина, значення якої змінюється в процесі виконання програми.

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

Тип результату виразу повинен співпадати із типом змінної або вужчим за нього.

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

Наприклад

Var x:real; y:integer; c:char;

y:=2;

x:=y+3.5;

y:=ord(c);

  1. Складений оператор. Якщо потрібно деяку групу команд інтерпретувати, їх як одну команду, тобто об’єднати їх в певному контексті, то використовують складені оператори.

BEGIN<оператор1> ;<оператор2>... ; END;

Вони є послідовністю операторів, що обмежуються операторними дужками. Вкінці кожного оператора ставиться крапка з комою. Перед епd – не обов’язково.

Саме завдяки складеним операторам вдається скласти програму без використання goto.

  1. Пустий оператор. Програма виду begin end є синтаксично правильною. Розділ операторів містить один оператор – пустий ( він нічого не виконує). Наявність пустого оператора в мові викликана деякими різними причинами, які пов’язані з використанням безумовного переходу goto.

Наявність крапки з комою перед end означає, що перед ним ще є один пустий оператор. Він потрібний в таких випадках: якщо має здійснюватися безумовний перехід по мітці на кінець вкладеного оператора, то ця мітка повинна відмічати пустий оператор, а не слово end.

<мітка> : <пустий оператор> END;

  1. Оператори вводу-виводу. В мові програмування Turbo Pascal ввід-вивід здійснюється насправді не операторами, а стандартними

підпрограмами - процедурами вводу-виводу, якщо вважати виклик підпрограми як оператор виклику підпрограми, то в цьому розумінні можна вважати відповідні процедури операторами. Під пристроєм вводу-виводу розуміється сукупність наступних компонентів ЕОМ: клавіатура, монітор, порти для під єднання цих пристроїв.

а)Оператор вводу. Pascal має дві процедури вводу: READ ,READLN. Оператор вводу read здійснює читання даних із буфера обміну пристрою вводу-виводу без переведення біжучого провідника на новий рядок. Процедура readln здійснює читання із переведенням біжучого вказівника на початок нового рядка.

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

При введені даних з клавіатури кількість, порядок та їх тип повинні відповідати кількості, порядку та типу змінних.

Дані відокремлюються хоча б одним пропуском.

Наприклад

Var

x: integer;

y: real;

s: string;

c: char;

read (x,y,s,c);

Дані вводяться так : 23 6.89 доля Ф , після кожного вводу нажимаємо enter.

б) Оператор виводу. Pascal має дві процедури виводу: WRITE, WRITELN. Процедура write здійснює запис в буфер обміну пристрою вводу-виводу без переведення біжучого провідника на новий рядок. Writeln здійснює запис із переведенням біжучого вказівника на початок нового рядка.

Для процедур запису в якості параметрів можуть використовуватися ідентифікатори змінних, ідентифікатори констант, вирази.

Наприклад

Var

x: integer;

y: real;

s: string;

c: char;

x: =2; y: =6.35; s: =’осіння’; c: =’A’;

writeln( x,’3’, x+y, s+’ пора’, ord(c)); { 238.35осіння пора65 }

Як видно з прикладу дані вводяться послідовно один за одним. Для їх відокремлення можна користуватися або форматним виводом, або використати додаткові параметри виводу, що є послідовністю декількох пропусків.

Форматний вивід застосовується до даних стандартних типів і означає відведення для величини відповідної кількості позицій.

Для цілих типів через двокрапку після ідентифікатора вказується число позицій при цьому відбувається розміщення результату справа.

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

Наприклад

y: = -365.4587;

writeln(y) {-3.654587E+02 }

writeln(y:12:5) {…-365.4587}

writeln(y:12:3) {….-365.459}

writeln(y:0:7) {-365.4587}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]