Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема. Структура програми на мові Pscl

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

озробили Волик О.Ф., Мормуль М.Ф., Кащеєва О.В.   15, 20142009-03-05T17:38:00Z

Лабораторна робота № 1

Тема. Структура програми на мові Pascal. Стандартні типи даних та типи даних користувача. Оператори введення-виведення даних. Лінійні алгоритми.

Мета: навчитися складати програми з різними типами даних та організовувати їх введення-виведення.

Теоретичні відомості

Середовище програмування TurboPascal.

Поширені два середовища програмування мовою Паскаль: TurboPascal і Borland Pascal для MS DOS та Windows. Вони призначені для підготовки текстів програм мовою Паскаль та їхнього виконання. Принципи складання програм для них однакові.

Основні файли середовища TurboPascal  такі:

turbo.exe (tpw.exe)– основний виконуваний файл;

turbo.tpl (tpw.tpl)– бібліотека;

turbo.tph (tpw.hlp)– допомога;

graph.tpu – модуль для роботи з графікою.

Для входу у середовище треба виконати команду turbo.exe (tpw.exe). У верхньому рядку екрана буде розташоване головне меню, а в нижньому — опис деяких функціональних клавіш.

Щоб активізувати (увійти в) головне меню, потрібно натиснути на клавішу F10. У розпорядженні користувача будуть такі пункти меню:

File  – для роботи з файлами;

Edit – для редагування файлу;

Search – для відшукання чи заміни заданого фрагмента тексту;

Run – для виконання програми;

Compile – для компіляції програми та створення ехе- файлу;

Options  – для конфігурування середовища;

Windows – для конфігурування вікон і роботи з ними;

Help – для надання допомоги.

Потрібний пункт вибирають стрілками переміщення курсору або мишкою і натискають на клавішу вводу. Можна скористатися комбінацією клавіш Alt+<висвітлена буква>: натиснувши й утримуючи клавішу Alt, натискають на клавішу з висвітленою буквою і відпускають обидві клавіші.

Основні етапи, з яких складається сеанс роботи з програмою

  1.  Активізують головне меню (натискають на F10) і пункт File. Отримують додаткове (спадне) меню. У ньому вибирають команду New (будемо записувати так: F10FileNew). Середовище переходить у режим створення нового файлу з назвою NONAME00.PAS. Набирають текст програми.
  2.  Для виправлення очевидних помилок уведення користуються традиційними прийомами редагування тексту, зокрема, такими комбінаціями клавіш для роботи з блоками (фрагментами) тексту:

Shift+стрілки — виокремити чи зняти виокремлення блоку тексту;

Ctrl+Insert — копіювати блок у буфер обміну;

Shift +Del — перемістити блок з тексту у буфер;

Shift + Insert  — вставити текст з буфера у позначене курсором місце основного тексту;

Ctrl + Del — вилучити виокремлений блок з тексту;

Ctrl +Y — вилучити рядок, де є курсор;

Ctrl +Q, Y — вилучити текст від курсору до кінця рядка;

Ctrl +N — вставити рядок;

Ctrl +Home — перейти до початку тексту;

Ctrl +End — перейти до кінця тексту.

Опис перших чотирьох можна побачити, активізувавши пункт головного меню Edit (Alt+Е).

  1.  Якщо очевидних помилок немає, програму можна компілювати і виконати (Compile/Compile (Alt + F9) та Run/Run (Ctrl + F9)).
  2.  Якщо система виявить синтаксичні помилки, то про це буде негайно повідомлено. Курсор буде в рядку, де допущено помилку, або безпосередньо вказуватиме на позицію з помилкою. У верхньому рядку буде повідомлення червоного кольору про зміст помилки, що суттєво полегшує її виправляння. Середовище перебуватиме в режимі редагування і помилку можна буде виправити. Потім вдруге компілюють і виконують програму (натискають на Ctrl +F9). Виправляють наступну помилку у разі потреби і т.д.

Коди типових помилок

Turbo Pascal генерує два типи повідомлень про помилки: помилки компіляції і помилки виконання.

Коди помилок компіляції, які найчастіше зустрічаються в процесі налагодження програми, мають такі номери:

  1.  Unknown identifier (Невідомий ідентифікатор). Цей ідентифікатор не був описаний.

Duplicate identifier (Повторення ідентифікатора).

Syntax error (Синтаксична помилка).

14 Invalid file name (Недопустиме ім’я файлу). Ім’я файлу неправильне або вказано неіснуючий шлях.

26 Type mismatch (Невідповідність типів).

42 Error in expression (Помилка у виразі).

62 Division by zero (Ділення на нуль).

64 Cannot Read or Write variables of this type (Немає можливості зчитати або записати змінні даного типу).

85 “;” expected (Очікується символ ";").

91 ":=" expected (Очікується символ ":=").

  1.  "." expected (Очікується символ ".").
  2.  ".." expected (Очікується символ "..").

Повідомлення про помилки виконання. Помилки виконання поділяються на: помилки на рівні DOS (коди з 1 до 99); помилки вводу-виводу (коди з 100 до 149); критичні помилки (коди з 150 до 199); фатальні помилки (з 200 до 255). Ось деякі з них:

2 Path not found (Шлях не знайдено).

  1.  File not open (Файл не відкритий).
  2.  File not open for input (Файл не відкритий для введення).

105 File not open for output (Файл не відкритий для виведення).

153 Unknown command (Невідома команда).

200 Division by zero (Ділення на нуль).

215 Arithmetic overflow error (Помилка під час виконання математичної операції).

Елементи мови Pascal

Програма – це послідовність операторів, за допомогою яких записують алгоритм розв’язування задачі. Програми (алгоритми) складають за таким принципом:

  •  вводять дані;
  •  визначають потрібне;
  •  виводять результати.

Для опису алгоритмів мовою програмування використовується певний набір символів – алфавіт мови. Алфавіт мови Pascal містить прописні та рядкові літери латинського алфавіту, цифри та спеціальні символи. Спеціальні символи поділяються на дві категорії:

1) знаки пунктуації –     {} (* *) []  ( ) ‘ :=  :  ,  ..    . @  $  #  ^   ;   ;

2) знаки операцій – +  -  * /  = <  >  >=  <=  <>.

Програми складаються з конструкцій, які називають операторами. Оператори будуються зі слів, чисел, символів операцій тощо. Слова поділяються на зарезервовані та імена користувача (ідентифікатори).

Зарезервовані слова – це спеціальні слова із фіксованим написанням і значенням. Їх можна записувати як великими, так і малими літерами. До зарезервованих слів належать службові слова та стандартні імена. Службові слова – це слова, кожне з яких має певне призначення. Службові слова зв’язуються одне з одним у речення за певними синтаксичними правилами мови і визначають деяку послідовність дій, що їх мусить виконати комп’ютер.

Службові слова

Таблиця 

Написання службового слова

Значення

Написання службового слова

Значення

and

і

mod

остача

array

масив

nil

нуль

begin

початок

not

ні

case

вибір

of

з

const

сталі

or

або

div

ділення без остачі

packed

стиснутий

do

виконати

procedure

процедура

downto

униз до

program

програма

else

інакше

record

запис

end

кінець

repeat

повторювати

file

файл

set

множина

for

для

then

то

function

функція

to

до

goto

перейти до

type

тип

if

якщо

until

доки

in

в

var

змінні

label

позначка

while

доки

Стандартні імена призначені для визначення:

  •  назв стандартних типів даних

boolean

логічний

real

дійсний

char

символьний

text

текстовий файл

integer

цілий

  •  назв стандартних сталих

false

хибність

maxint

максимальне ціле

true

істинність

pi

число π

  •  назв стандартних процедур

read

readln

write

writeln

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

Правила написання ідентифікаторів:

  •  складається з латинських літер, цифр та символу підкреслення(“_”);
  •  починається тільки з літери або символу підкреслення;
  •  максимальна кількість символів – 63 (значущі);
  •  великі і малі літери в іменах рівноправні;
  •  між двома ідентифікаторами повинний бути хоча б один пробіл.

Структура програми на мові Pascal

Програма на мові Pascal складається з заголовка, розділів описової частини та виконуваної частини.

PROGRAMСкладена програма

USESБібліотеки, що підключаються (модулі)

LABEL – опис міток

CONSTопис констант

TYPEопис типів

VAR  опис змінних

FUNCTION  опис функцій

PROCEDUREопис процедур

BEGIN початок виконуваної частини програми 

<оператори програми>

END.кінець програми

Тут ділянка, що починається словом PROGRAM та закінчується словом PROCEDURE, є розділом описів. Розділ описів містить необхідну інформацію про мітки, константи, типи даних, опис змінних (перелік імен із зазначенням типів), описи процедур та функцій. При цьому деякі пункти розділу описів, що не використовуються в конкретній програмі, можна не писати.

Розділ BEGIN…END – це виконувана частина програми. Тут наводяться оператори, що слугують для розв’язання задачі. Усі дані (мітки, константи, змінні та ін.), до яких звертаються оператори виконуваної частини Pascal-програми, обов’язково мають бути описані (наведені в розділі описів).

Розділи та оператори (окрім BEGIN) закінчуються крапкою з комою (;), а після кінцевого END ставиться крапка (.).

Заголовок та розділи описової частини є необов’язковими. Заголовок програми несе лише значеннєве навантаження, його надає програміст.

Для роботи з даними слід зарезервувати певний обсяг оперативної пам’яті комп’ютера, де зберігатимуться їхні значення. Тому всі дані, які використовуються у програмі, потрібно заздалегідь описати (оголосити), оскільки компілятор розподіляє пам’ять згідно з описами. Всі дані у програмі зберігаються у вигляді сталих та змінних. Як перші, так і другі визначаються ідентифікаторами (іменами), за допомогою яких можна звертатися для одержання відповідних даних.

Сталі (константи) – це елементи даних, значення яких визначені у описовій частині програми та не мінятимуться протягом виконання програми. Для опису констант слугує зарезервоване слово const.

Формат опису константи:

const <ідентифікатор> = <значення константи> ; 

Приклад:

const   max =1000 ;

   Vxod=’Сегмент 5 ;

Змінні – це елементи даних, типи яких визначені у описовій частині програми та значення яких мінятимуться протягом виконання програми. Змінна – це поіменована ділянка оперативної пам’яті комп’ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву (ім’я), значення, тип. Кількість змінних та їх властивості задає користувач.

Формат оголошення змінної:

var <ідентифікатор або список ідентифікаторів> : <тип> ; 

Приклад:

var   Sum1, Sum2  : real;

   x : integer ;

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

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

Стандартні типи даних

Кожний елемент даних належить до одного із множини типів.

Всі типи даних поділяються на прості (скалярні) та складені (структуровані). Прості типи у свою чергу поділяються на стандартні та типи користувачів. Стандартні типи надаються користувачам розробниками мови (системи) програмування. Типи користувача розробляються самим програмістом.

Прості стандартні типи даних – цілі, дійсні, символьні, логічні.

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

Стандартні типи даних мови Pascal

Таблиця 2

Стандартне ім’я

Діапазон значень

Необхідна пам’ять (байт)

Цілі числові типи

byte

0..255

1

shortint

-128..127

1

word

0..65535

2

integer

-32768..32757

2

longint

-2147483648..2147483647

4

Дійсні типи

real

2.9*10E-39..1.7*10E38

6

single

1.5*10E-45..3.4*10E38

4

double

5.0*10E-324..1.7*10E308

8

extended

1.9*10E-4951..1.1*10E4932

10

Символьний тип

char

множина символів кодової таблиці

1

Логічний тип

boolean

false (хибність),  true (істинність)

1

Значення даних цілого типу подаються як десяткові числа записані без крапки. Перед від’ємним числом ставлять знак “-“. Приклади чисел цілого типу:

14 -357 0 5390

Змінні, які оголошені як змінні цілого типу даних, можуть приймати значення тільки цілого типу.

Приклад

Var x : byte; y : integer;

X:=65;  y:=-5;

Змінна X не може набувати від’ємних значень, оскільки вони не входять до діапазону допустимих значень типу byte.

Над даними цілого типу можна виконувати такі арифметичні операції:

Таблиця 3

Пріоритет

Символ операції

Дія

1

+ ,  -  

присвоєння знаку

2

*

/

mod

div

множення

звичайне ділення

остача

ділення без остачі

3

+

-

додавання

віднімання

Виконання кожної операції здійснюється з урахуванням пріоритету (1-найвищій). Операції одного пріоритету виконуються зліва направо. Для зміни звичайного порядку операцій використовують круглі дужки. Два знаки не можуть стояти поруч.

Наприклад:

13 div 3 = 4

13 mod 3 = 1

13 / 3 = 4.33

18 div 2 * 3 = 27

20+100/20*5 = 45

20+100/(20*5) = 21

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

Дійсні десяткові числа із фіксованою крапкою записують за звичайними правилами арифметики, але ціла частина від дробової відокремлюється десятковою крапкою, а не комою. Якщо десяткова крапка відсутня, то число вважається цілим. Перед числом може знаходитися знак “+” або “–”. Якщо знак відсутній, за замовчуванням число вважається додатнім.

Приклад

5.04   -12.56    +5.    -6.008  .0005

Дійсні десяткові числа із плаваючою крапкою подаються в такому (експоненціальному) вигляді n E ± k  =n∙10 ± k, де n  – мантиса (ціле або дробове число із фіксованою десятковою крапкою), E – означає “десять у степені”, k – порядок (ціле число).

Приклад

4 Е -5    =  0.00004,          0.62Е+4,       -10.88Е12 

Символи  

Над даними дійсного типу можна виконувати такі операції

Таблиця 4

Пріоритет

Символ операції

Дія

1

+ ,  -  

присвоєння знаку

2

*

/

множення

ділення

3

+

-

додавання

віднімання

Дані символьного типу можуть набувати значень таблиці ASCII кодів. Під дане символьного типу в пам’яті виділяється один байт, тому воно може приймати значення лише одного символу ASCII таблиці. Наприклад a, ‘7’, ‘&’. Тобто дане символьного типу – це символ, взятий у апострофи. Над символьними даними не визначені ніякі арифметичні операції, але вони можуть порівнюватися, брати участь у читанні та виведенні на друк, у операторах присвоєння.

Приклад

const s = ‘$’ ;

var ch1, ch2: char;

ch1:=’F’;

ch2:= s;

Усі стандартні типи крім дійсного є впорядкованими, тобто для кожного даного визначені наступне та попереднє значення.

Логічний тип характеризується двома значеннями false  або  true.

Крім стандартних типів даних компілятор мови Pascal підтримує типи, визначені користувачем. До них відносяться перераховані та інтервальні (діапазони) типи. Їх застосування значно покращує наочність програми, робить більш легким пошук помилок і економить пам’ять.

Перераховний тип даних – такий, за якого кількість усіх можливих значень обмежена (скінчена). Наприклад, тип Word відповідає цьому визначенню, оскільки має 65 536 значень – від 0 до 65535. Перераховними є також типи: Byte – 256 значень від 0 до 255 та Char – у ньому 256 символів із кодами від 0 до 255. Також можна перерахувати всі значення типів ShortInt, Integer і LongInt, починаючи з від’ємного цілого значення.

Визначеним перераховним типом є також логічний тип Boolean. У нього всього два значення – False та True. Номер False дорівнює  0, а номер True – 1.

Перераховний тип можна розписати в ряд за значеннями. Наприклад, для Char, Byte і Boolean правильно таке:

Type

                     Char  = {симв 0, симв 1, ..., симв 64, ‘A’,’B’,’C’,…, симв 255};

        Byte =  {0, 1, 2,…, 254, 255};

  Boolean =  {False, True};

Ці визначення зроблені на етапі написання самого компілятора мови Pascal, і ми можемо ними користуватися. Крім того, є можливість вводити нові перераховні типи, надаючи їм імена та перераховуючи через кому в круглих дужках назви елементів-значень цього типу, наприклад:

TYPE

          Counter ={first, second, third};

               Test = {Leve l0,Leve l1, Leve l3, Leve l4, Leve l5};

        Number  = {N 1, N 2, N 3, N 4, N 5, N 6, N 7};

Тут вміст дужок – це значення нових типів. Далі можна оголошувати змінні цих типів, а їхніми значеннями можна індексувати масиви або організовувати за ними цикли. Але завжди змінна такого типу може містити тільки ті значення, що вказані при його перерахуванні.

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

Використання перераховних типів має деякі переваги, а саме:

  •  поліпшується змістовне сприймання програми;
  •  більш чітко проводиться контроль значень;
  •  перераховні типи мають дуже компактне машинне подання.

Для роботи з перераховними типами в мові Pascal використовуються функції Ord, Pred та Sucс. Їх дія базується на тому факті, що будь-який прераховний тип має внутрішню нумерацію. Перший елемент має завжди номер 0, другий – номер 1 і так далі. Порядок нумерації відповідає порядку перерахування. Номер кожного елемента можна отримати функцією Ord(x): LongInt, що повертає ціле число у форматі довгого цілого, де x – значення перераховного типу або змінна, що його містить. Для значень типу Char вона поверне їхній код, а для логічних значень – 0 або 1. Обернена функція для витягання значення за його порядковим номером у мові – chr. Приклад: ord(a)=65; ch(65)=a. Вираз вигляду X:= <ім’я перераховного типу> (порядковий номер) запише в змінну X значення, що відповідає поданому порядковому номеру елемента перерахування. Крім того, є дві функції послідовного перебирання значень перераховного типу. Succ(X) – повертає наступне за X значення в перераховному типі; Pred(X) – повертає попереднє значення в перераховному типі. Вони можуть використовуватися до цілочислових значень і поліпшують роботу, наприклад, у виразах вигляду (N-1)*N*(N+1), які можна переписати, наприклад, у вигляді Pred(N)*N*Succ(N). Невизначеною є спроба отримати результат Succ (останній елемент перерахування) або Pred (перший елемент перерахування). Перераховні значення можна порівнювати між собою; більшим вважається той елемент, що має більший номер.

Інтервальні типи. Діапазони.

Діапазони вводяться на етапі написання програми і можуть визначати тип, що міститиме значення тільки з обмеженого піддіапазону деякого базового типу. Базовим типом, з якого беруться діапазони, може бути будь-який цілочисловий тип, тип Char та будь-який із введених нами перераховних типів. Щоб визначити діапазон, вказують у блоці TYPE ім’я цього типу та межі діапазону через дві крапки підряд:

TYPE

IR = 1..25;

Letters = ‘A’..’Я’;

Days = mon..sun;

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

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

Алгоритм – точний опис послідовності дій, необхідних для розв’язання поставленої задачі. Найпростішими є програми із лінійною структурою алгоритму. Лінійний алгоритм – це алгоритм, де одна дія виконується слідом за іншою послідовно в порядку їх розташування, і при цьому жодна з дій не пропускається і не повторюється. Загальний вигляд лінійного алгоритму, поданий у вигляді блок-схеми, такий:

Дія 1

Дія 2

Дія N

Рис. 1. Схема лінійного алгоритму

Прості (із лінійнім алгоритмом) програми складаються з операторів присвоєння, введення-виведення даних та викликів процедур. Оператори програми завершуються символом “;”. У кінці програми завжди має стояти крапка.

Для пояснення тексту програми використовують коментарі. Коментарі можна писати у будь-якій частині програми, де дозволяється пробіл. Текст коментарів обмежують символами {  } або (*  *). Коментарі ігноруються компілятором, тому не впливають на виконання програми.

Оператор присвоєння

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

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

Дія оператору: Обчислюється вираз і його значення надається змінній. Тобто оператор присвоєння надає змінній конкретне значення, одночасно знищуючи старе. Присвоювати можна значення іншої змінної або результат обчислення виразу.

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

Арифметичні вирази

Вирази, в яких застосовуються тільки арифметичні операції, називають арифметичними. Результат їх обчислення – число.

У мові Pascal  для облегшення розрахунків використовують стандартні функції

Основні стандартні функції

Таблиця 5

Функція

Тип аргументу

Тип результату

Математичний запис, коментар

abs(x)

integer, real

integer, real

|x|

arctan(x)

integer, real

real

arctg x

cos(x)

integer, real

real

cos x

sin(x)

integer, real

real

sin x

exp(x)

integer, real

real

ex

ln(x)

integer, real

real

ln x

sqrt(x)

integer, real

real

sqr(x)

integer, real

integer, real

x2

ord(x)

char  упорядкований

integer

ASCII –код символу, номер елемента

succ(x)

упорядкований

упорядкований

повертає наступне значення x

pred(x)

упорядкований

упорядкований

повертає попереднє значення x

round(x)

real

integer

заокруглює число x до цілого

trunc(x)

real

integer

відкидає дробову частину числа x

int(x)

real

real

відкидає дробову частину числа x

frac(x)

real

real

дробова частина числа x

odd(x)

integer

boolean

true (x непарне),  false (x парне)

random(x)

integer

integer

генерує випадкове число з діапазону від 0 до x

upcase(x)

char

char

замінює малу літеру латинської абетки на велику

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

Приклади операторів присвоювання з арифметичними виразами:

Таблиця 6

Традиційно

На Pascal

X =

Х := (А + B – cos(Y)) / (A – B)  ;

Y := exp (1/3*ln(x+sin(x)))/(2+x)-ln(abs(x-1))+exp(x-4)  ;

Y := exp(x*ln(2))/(3.72-exp(2*ln(x)))+ 4.13*cos(sqrt(abs(x)))  ;

Оператори введення-виведення даних

Уведення числової і текстової інформації в Pascal здійснюється операторами  Read та Readln. Оператори мають такий формат:

Read (Список введення); Readln (Список введення);.

Список введення – це імена змінних, відділені комою. При виконанні цих операторів очікується введення даних відповідно до кількості й типу імен змінних у списку. Дані, що вводяться, відділяються комою або пропуском (можна натискати клавішу Enter). Оператор Readln відрізняється від Read тим, що після його виконання курсор переводиться на новий рядок.

Приклад

...

uses WinCrt;

var

a,b : real;

c,k : integer;

s : char;

...

BEGIN

Read(a,b,c);                {Очікуються два дійсних значення та одне ціле. Курсор не переводиться}

Readln(k);                   {Після введення одного цілого значення курсор опиниться на наступному рядку}

Readln;                       {Порожнім є список введення. Натиснувши Enter, переведемо курсор на новий рядок}

Read(s);                      {Очікується одне символьне значення. Курсор залишиться на поточному рядку}

...

END.

Виведення даних у Pascal здійснюють оператори Write або Writeln. Вигляд їх такий:

Write (Список виведення);

Writln (Список виведення).

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

Приклад

...

uses WinCrt;

...

BEGIN

Writeln (‘Значення змінних A та B’);  {На екран виведеться текст, записаний у лапках.

    Курсор переведеться на наступний рядок}

Writeln (A:8:2,’   ‘,b:12:4);    {Виводяться значення змінної A у вісім позицій із двома

       цифрами у дробовій частині, потім три пробіли, далі у тому ж

       рядку значення B виводиться у 12 позицій екрана,

 причому дробова частина має 4 значущі цифри.

 Курсор переводиться на наступний рядок }

...

END.

Приклад розробки програми 1

Постановка задачі:

Обчислити значення функції y при поданому значенні аргументу x. Вивести на екран значення x та y.          

              Схема алгоритму

при х = 0,4.

Лістинг програми:

PROGRAM FFF;

Uses WinCRT;

 var

    x,y : real;

BEGIN

Write ('Enter x: ');

readln(x);

y:=exp (1/3*ln(x+sin(x)))/(2+x)-ln(abs(x-1))+exp(x-4);

writeln ('x = ',x:8:2,'  y = ',y:6:2);

readln;

END.

Результати виконання

Enter x: 0.4

x =    0.40   y =  0.92   

Приклад розробки програми 2

Постановка задачі:

Обчислити  значення функції Z, поданої співвідношеннями:

Вивести на екран  значення аргументу x та функцій Y і Z.

Лістинг програми:

PROGRAM YZ;

Uses WinCRT;

    Var

       x,Y,Z : real;

BEGIN

writeln('Enter x:');

readln(x);

Y:=exp(x*ln(2))/(3.72-exp(2*ln(x)))+4.13*cos(sqrt(abs(x)));

Z:=x*arctan(0.5*Y);

writeln('x=',x:5:2,'   Y=',y:5:2,'   Z=',z:5:2);

readln;

END.

Результати виконання

Enter x: 0.5

x = 0.50   Y = 3.35   Z = 0.53

Приклад розробки програми 3

Постановка задачі:

Розробити блок-схему алгоритму та програму обчислення значення функції    

Схема алгоритму:

Лістинг програми:

Program Calcucator;

 Uses WinCrt;  {Підключення модуля керування виводом на екран}

Var

 x:real;  {Аргумент}

 y:real;  {Результат}

 k,p,q:real; {Проміжні результати}

Begin

 ClrScr;  {Очищення екрану}

 Writeln(‘Програма обчислення значення функції’);

 Writeln;

 Writeln(‘Розробив студент групи ______ ______________’);

 Writeln;

{Введення початкових даних}

 Writeln(‘Введіть значення x’);

 Readln(x);

{Обчислення значення функції}

 p:=sin(exp(x));

q:=exp(x)+p+sqrt(abs(p));

k:=sin(sqrt(1+p+abs(p)))/cos(sqrt(1+p+abs(p)));

y:=q/k;

{Виведення результату}

 Writeln(‘x=’,x:4:1,’ ‘,’y=’,y:5:2);

Writeln(‘Програма роботу закінчила’);

End.


Завдання до лабораторної роботи

Робота у інтегрованому середовищі Turbo Pascal:

1.На диску D: у папці Student створити власну папку (наприклад T08-1\Ivanov ).

2. За допомогою ярлика на робочому столі завантажити програмне середовище TurboPascal. Або C:\TPW\tpw.exe.

3. Якщо екран порожній, то можна відразу набирати текст програми, роблячи такі ж самі відступи, які є у прикладі. Ці відступи полегшують читання тексту та пошук помилок. Якщо на екрані після запуску системи знаходиться непотрібна програма, слід виконати команду меню File/New.

4. У вікні редагування ввести з клавіатури текст програми:

Program VVID01;

 Uses WinCRT;

 Var A, B, SUMMA : Integer;

Begin

Write ('Введіть ціле число А - ');

Readln (A);

Write ('Введіть ціле число В - ');

Readln (B);

SUMMA := A+B;

Write ('Сума чисел - ', SUMMA);

End.

1

2

3

4

5

6

7

8

9

10

11

5. Поки файл із текстом програми має назву NONAME00, тобто йому не присвоєне конкретне ім’я. Збережіть текст програми на диску D: у своєму власному каталозі під назвою V01.PAS, для чого клавішами Alt + F перейдіть у меню, виберіть пункт Save as... (записати під новим ім’ям) і у вікні введення задайте ім’я файлу V01.PAS.

Теж саме можна виконати, увійшовши в головне меню за допомогою клавіші F10, вибрати пункт меню File, а потім Save as...

На екран комп’ютера буде виведене вікно збереження файлу. Перехід від одного елемента вікна до іншого здійснюється за допомогою клавіші Tab. Кожний елемент, коли він є активним, підсвічується. За допомогою списків, що розгортаються, обрати диск D: та власний каталог. У верхньому рядку вікна задати ім’я файлу. Натиснути кнопку [Save].

6. Відкомпілювати програму командою Compile/Compile (Alt + F9).

7. Якщо при виконанні пункту 6 у програмі були помилки, виконання програми буде припинене та компілятор видасть повідомлення про помилку. Після натиснення клавіші Esc курсор буде встановлений на перший помилковий запис. Для перегляду інформації про помилку треба натиснути Ctrl+F1. Необхідно всі помилки виправити і виконати пункт 6 ще раз.

8. Ще раз зберегти виправлену програму у файлі командою File/Save.

9. Виконати програму командою Run/Run (Ctrl + F9). У діалоговому режимі роботи програми необхідно ввести початкові дані, наприклад  А – 5, B – 10

10. Переглянути результат роботи програми у вікні виконання. Для повернення в режим редагування програми закрити вікно.

11. Вийти із інтегрованого середовища Turbo Pascal за допомогою клавіш Alt + F4 або через меню.

12. Запустити інтегроване середовище Turbo Pascal.

13. Завантажити у вікно редагування файл V01.PAS. Для чого клавішами Alt + F перейти до меню, вибрати пункт Open (відкрити файл) або натиснути клавішу F3.

На екран комп’ютера буде виведене вікно вибору файлу. Перехід від одного елемента до іншого здійснюється за допомогою клавіші Tab. За допомогою списків, що розгортаються, обрати диск D: та власний каталог. Встановити курсор на назві файлу V01.PAS, після цього натисканням клавіші Tab вибрати кнопку [OPEN].

14. Вставити коментар після першого рядка. Для цього підвести курсор до кінця першого рядка й нажати Enter, а на новому рядку набрати текст: { перша програма }

Текст програми буде виглядати:

Program VVID01;

{ перша програма }

Uses WinCRT;

Var A, B, SUMMA : Integer;

Begin

Write ('Введіть ціле число А - ');

Readln (A);

Write ('Введіть ціле число В - ');

Readln (B);

SUMMA := A+B;

Write ('Сума чисел - ', SUMMA);

End.

1

2

3

4

5

6

7

8

9

10

11

15. Виділити текст коментаря і скопіювати його.

Для цього підвести курсор до початку коментаря й клавішами Shift +→ ( виділити необхідний блок), потім нажати клавіші Ctrl + Ins.

16. Вставити копію текст коментаря у рядок з номером чотири. Для цього підвести курсор до останньої позиції рядка з номером чотири й нажати клавіші Shift + Ins.

17. Видалити рядок коментаря, що розташований після першого рядка. Для цього підвести курсор  до початку рядка, що видаляється, і нажати клавіші Ctrl + Q, Y.

18. Зберегти текст програми.

19. Вийти з інтегрованого середовища Turbo Pascal.

Формати виведення у процедурах Write і WriteLn

  1.  Запустити інтегроване середовище Turbo Pascal.
  2.  У вікні редактора ввести програму:

Program VVOD02;

Uses WinCRT;

Var A, B: Integer;

 Begin   {Введення цілих чисел}

Write ('Введіть числа А, B - ');

Readln (A, B);

WriteLn ('********************');   { 20  символів}

WriteLn (A);

WriteLn (B);

WriteLn (A, А);

End.

1

2

3

4

5

6

7

8

9

10

11

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

  1.  Виконати програму, ввести початкові значення А і В: 134  5671
  2.  Записати у зошит одержані результати у вигляді таблиці, заповнивши перший і другий стовпці:

Оператор звичайного виведення

Результат

Оператор форматованого виведення

Результат

WriteLn (A)

WriteLn (A:6)

WriteLn (B)

WriteLn (B:10)

WriteLn (A,A)

WriteLn (A:8, A: 6)

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

  1.  Внести зміни до програми, задавши параметр форматного виводу, що вказує на загальну кількість виведених знаків (див. у таблиці). Проаналізувати, як зміняться результати виведення. Записати у зошит одержані результати, заповнивши третій і четвертий стовпці таблиці.
  2.  Зберегти програму у власному каталозі у файлі V02.PAS.
  3.  Внести зміни до тексту програми:

Var A, B: Real;     замість рядка № 3

Begin  {Введення дійсних чисел}  замість рядка № 4

WriteLn (A/2);     замість рядка № 10

  1.  Виконати програму, ввести початкові значення А і В:  75.432   -1.9156e+01

Записати у зошит одержані результати у вигляді таблиці, заповнивши перший і другий стовпці:

Оператор звичайного виведення

Результат

Оператор форматованого виведення

Результат

Оператор форматованого виведення

Результат

WriteLn (A)

WriteLn (A:15)

WriteLn (A:8:4)

WriteLn (B)

WriteLn (B:10)

WriteLn (B:10:2)

WriteLn (A /2)

WriteLn (A /2:12)

WriteLn (A/2:5:3)

  1.  Внести зміни до програми, задавши параметр форматного виводу, що вказує на загальну кількість виведених знаків (див. у таблиці стовпець №3). Проаналізувати, як зміняться результати виведення. Записати у зошит одержані результати, заповнивши третій і четвертий стовпці таблиці.
  2.  Внести зміни до програми, задавши параметр форматного виводу, що додатково вказує на кількість цифр після десяткової крапки (див. у таблиці стовпець №5). Проаналізувати, як зміняться результати виведення. Записати у зошит одержані результати, заповнивши п’ятий та шостий стовпці таблиці.
  3.  Зберегти програму у власному каталозі у файлі V03.PAS.
  4.  Внести зміни до тексту програми:

Var A, B: Char;      замість рядка № 3

Begin  {Введення даних символьного типу}  замість рядка № 4

WriteLn (A, A, A);     замість рядка № 10

  1.  Виконати програму, ввести початкові значення А і В: XS 

Записати у зошит одержані результати у вигляді таблиці, заповнивши перший і другий стовпці:

Оператор звичайного виведення

Результат

Оператор форматованого виведення

Результат

WriteLn (A)

WriteLn (A:3)

WriteLn (B)

WriteLn (B: 5)

WriteLn (A , A, A)

WriteLn (A:2 , A:4, A:3)

  1.  Внести зміни до програми, задавши параметр форматного виводу, що вказує на загальну кількість виведених знаків (див. у таблиці стовпець №3). Проаналізувати, як зміняться результати виведення. Записати у зошит одержані результати, заповнивши третій і четвертий стовпці таблиці.
  2.  Зберегти програму у власному каталозі у файлі V04.PAS.
  3.  Внести зміни до тексту програми (змінені рядки виділені жирним шрифтом):

Текст програми буде виглядати:

Program VVOD02;

Uses WinCRT;

 Var A, B: Boolean;

Begin {Введення даних логічного типу}

WriteLn ('********************');   { 20  символів}

 A:= True; B:= False;

 WriteLn (A);

WriteLn (B);

 WriteLn (not A, B);

End.

1

2

3

4

5

6

7

8

9

10

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

Оператор звичайного виведення

Результат

Оператор форматованого виведення

Результат

WriteLn (A)

WriteLn (A:6)

WriteLn (B)

WriteLn (B:10)

WriteLn (not A, B)

WriteLn (not A:7, B:3)

  1.  Внести зміни до програми, задавши параметр форматного виводу, що вказує на загальну кількість виведених знаків (див. у таблиці стовпець №3). Проаналізувати, як зміняться результати виведення. Записати у зошит одержані результати, заповнивши третій і четвертий стовпці таблиці.
  2.  Зберегти програму у власному каталозі у файлі V05.PAS.

Завдання для індивідуальної роботи

Скласти блок-схему та програму обчислення значень функцій y, z та w при трьох різних значеннях змінної x. Результати: x, y, z, w вивести на екран у форматі, відповідному до завдання.

№ варіанту

Функції

Формат виведення даних

Ім’я змінної

Ширина поля

Кількість знаків після коми

1.

x

7

2

y

10

4

z

8

2

w

10

3

2.

x

12

2

y

8

3

z

10

2

w

12

4

3.

x

9

3

y

8

2

z

10

3

w

7

4

4.

x

8

2

y

12

3

z

10

4

w

9

2

5.

x

10

2

y

9

3

z

12

4

w

9

3

6.

x

10

2

y

12

3

z

10

3

w

12

5

7.

x

6

3

y

10

3

z

12

3

w

8

2

8.

x

7

2

y

10

4

z

10

5

w

10

3

9.

x

10

2

y

9

3

z

12

3

w

15

5

10.

x

8

2

y

11

3

z

9

4

w

12

4

11.

x

7

2

y

10

3

z

12

4

w

10

4

12.

x

6

2

y

12

4

z

15

5

w

12

3

13.

x

9

3

y

15

4

z

15

3

w

15

2

14.

x

7

2

y

10

3

z

10

2

w

10

4

15.

x

9

3

y

12

4

z

12

3

w

12

5

16.

x

7

2

y

10

3

z

10

4

w

9

3

17.

x

8

2

y

15

3

z

12

3

w

10

3

18.

x

8

2

y

10

4

z

10

3

w

10

3

19.

x

10

3

y

12

4

z

14

3

w

14

5

20.

x

8

2

y

10

4

z

10

5

w

10

3

21.

x

9

4

y

9

2

z

12

3

w

12

5

22.

x

7

1

y

9

3

z

10

3

w

10

4

23.

x

7

1

y

13

3

z

13

5

w

13

4

24.

x

7

1

y

10

3

z

10

5

w

10

4

25.

x

10

2

y

12

3

z

12

5

w

12

4

26.

x

9

3

y

10

3

z

11

3

w

12

3

Контрольні запитання

  1.  Для чого потрібні транслятори? Що таке компілятор, чим він відрізняється від інтерпретатора?
  2.  Як завантажити інтегроване середовище Turbo Pascal?
  3.  Як відкомпілювати файл програми?
  4.  Як скопіювати вже існуючий рядок у програмі в інше місце?
  5.  Як перенести рядок в інше місце тексту програми?
  6.  Як зберегти текст програми під іншим ім’ям?
  7.  Як видалити рядок з тексту програми?
  8.  Як скопіювати кілька рядків в інше місце програми?
  9.  Як вийти із інтегрованого середовища Turbo Pascal?
  10.  Як активізувати головне меню?
  11.  Як завантажити до вікна редактора вже існуючий файл програми?
  12.  Чим відрізняється процедура Write  від WriteLn?
  13.  Для чого в процедурах Write  і WriteLn визначається ширина поля виводу?
  14.  Чим буде відрізнятися результат виводу за допомогою процедур

WriteLn (A) WriteLn (A:8) WriteLn (A:8:4) при А = 19.345е-01

  1.  Як буде виглядати рядок виведення у результаті виконання процедури

WriteLn ('Відповідь рішення: ', A, ' + ', B,' = ', A+B),  якщо А =3, В =4?

  1.  Як буде виглядати рядок виведення в результаті виконання процедури WriteLn (A:5) при
    А = 1234567?
  2.  Що буде, якщо задано число А = 123.4567, а процедура виведення задана так:
    WriteLn (A:7:5)?
  3.  Чим відрізняється результат виконання процедур виведення:

WriteLn(123 : 6) WriteLn('123' : 6)?

  1.  З яких частин складається програма на мові Pascal?
  2.  Де міститься розділ описів у тексті програми?
  3.  Чим закінчується оператор, записаний на мові Pascal?
  4.  Які ключові слова починають і закінчують виконувану частину програми?
  5.  Що визначає тип даних?
  6.  Які існують стандартні типи даних?
  7.  Запис оператора введення даних на мові Pascal.
  8.  Що таке список введення?
  9.  Оператор виведення даних.
  10.  Чим відрізняється виведення тексту (символів) від виведення значень змінних?
  11.  Що таке формат виведення на екран?
  12.  Який вигляд має дійсне число, представлене у стандартному форматі?
  13.  Як задати ширину поля для виведення значення цілої (символьної, рядкової) змінної?

PAGE  17




1. Осиная Фабрика не просто многообещающий дебют но исключительное достижение настоящий маленький шедевр
2. СМИ как феномен общественной жизни и объект исследования
3. 2. Каждый участник несёт индивидуальную ответственность за личное имущество одежду и здоровье
4. Доклады статьи философские заметки Составление и общая редакция Ю.html
5. Современная налоговая система Республики Казахстан
6. Painting
7. Она проявляется когда спрос повышается относительно текущего предложения
8. Этикет и культура делового общения
9. Маркетинговое исследование рекламы на примере компании Lorel
10. 59 тематических наук заведующий кафедрой Прикладной математики Уральского государственного экономического
11. Вариант 1461 Блок I Маркетинг 1 Какая из целей маркетинга выражается в том что маркетинг должен должен об
12. Благодаря гражданскому обществу выражаются и реализуются частные интересы и потребности в то же время как
13. Лабораторная работа 1 Тема- Архитектура персонального компьютера
14. Школа хуаянь
15. 03 г КОНЦЕПЦИЯ РАЗВИТИЯ ПСИХОЛОГИЧЕСКОЙ СЛУЖБЫ ОБРАЗОВАНИЯ РЕСПУБЛИКИ САХА ЯКУТИЯ
16. Предмет, метод и система гражданского процессуального права Украина
17. варианта устанавливаются критерии для оптимального варианта; как явление характеризуется документов- разр
18. экономическими описаниями и исследованиями в рамках политической экономии
19. Иван Иванович Лажечников
20. Луганський будівельний коледж