Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л3 Pascal серед структ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
174.65 Кб
Скачать

Для самостійної роботи:

1. Записати вирази мовою Turbo Pascal

2. Прокоментувати дані, оголошені в програмі:

  1. Var I,k:integer; a,t:real; s:string;

  2. Var I,k:integer; a,t:real; s:text;

  3. Var I,k: string; a,t:real; s: word;

  4. Var I,k:boolean; a,t:real; s:string;

  5. Var I,k: longing; a,t: byte; s:text;

  6. Var I,k: string; a,t:real; s: word;

  7. Var I,k:integer; a,t:real; s:string;

  8. Var I,k:word; a,t:real; s:text;

  9. Var I,k: string; a,t:real; s: longing;

  10. Var I,k: real; a,t: boolean; s:string;

Оператор «Обчислити і привласнити».

Формат оператора:

< змінна >

< змінна > : = < Константа >

< Вираз >

По команді процесор виконує наступні дії:

  1. Якщо в правій частині є змінні, їхні значення вводяться (читання) з ОП у спеціальну область у процесорі – регістри.

  2. Якщо праворуч зазначені арифметичні дії, то процесор послідовно виконує їх.

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

Наприклад:

a:= 3.056; - в ОП в комірку з умовною адресою а записується число 3,056;

f : = a; - з комірки а значення переписати в комірку f.

m : = (6*a-b)/3.8; - з ОП витягти значення перемінних а і b, обчислити вираз і результат записати в ОП в комірку m.

Стандартні функції Turbo Pascal

Turbo Pascal

Коментарі, матем. форма функції

Turbo Pascal

Коментарі, матем. форма

Sin(x)

SinX- аргумент в

Round(x)

Округлить да цілих

Cos(x)

Cos X - радіанах

Frac(x)

Дробна частина Х

Atan(x)

Arctg X -

Ln(x)

Ln X

Abs(x)

| X | -

Trun(x)

Ціла частина Х

Sqrr(x)

√X

Int(x)

Обнулить дробну частину

Sqr(x)

X2 -

Random

Випадкове (0;1)

Exp(x)

eX -

Random(n)

Випадк.ціле [0;n]

Введення-виведення даних

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

Для введення і виведення даних використовуються стандартні процедури введення і виведення Read і Write, що оперують стандартними послідовними файлами INPUT і OUTPUT.

Щоб ввести дані в процесі виконання програми використовуються вбудовані процедури.

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

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

Процедура READ після зчитуванні даних перехід на інший рядок не робить. Такий перехід може зробити тільки процедура READLN. Процедура READLN без параметрів можна використовувати як паузу, очікування натискання клавіші “ENTER” при перегляді результатів виконаної програми.

При введенні вхідних даних відбувається їх перетворення з зовнішньої форми подання чисел у внутрішній, обумовленим типом змінних. Змінні, утворюючий список введення, можуть належати або до цілого, або до дійсного, або до символьного типів. Читання вхідних даних логічного типу в мові ПАСКАЛЬ неприпустимо.

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

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

Процедури введення при роботі в стандартному режимі, тобто введення з клавіатури, виконують дві дії:

  1. переривають виконання програми і переводять процесор в режим очікування введення даних із клавіатури;

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

При використанні процедур необхідно пам'ятати про наступні особливості їхньої роботи:

  • ці оператори вимагають обов'язкового введення певної інформації. Якщо просто натиснути Enter, не ввівши ніяких даних, то робота процедури не закінчиться, процесор залишиться в стані очікування введення даних. Перервати цей процес може або введення даних, або аварійне завершення програми – Ctrl+Break чи Ctrl+C.

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

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

Write(список елементів виведення);

Writeln(список елементів виведення);

Друга процедура після виведення значень переводить курсор у початок нового рядка, а перша - залишає його наприкінці поточного рядка після виведених даних.

5

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

  • Цілого чи символьного типу - Name:N – де N – кількість символів для значення перемінної;

  • дійсного типу – Name:N:K - де N – загальна кількість символів, що входять до складу числа, K - кількість цифр після коми. Наприклад: Writeln(M:7:2,X:4) – друкувати значення змінної М в форматі з фіксованою крапкою виділяючи для всього числа 7 позицій, 2 з них – після коми, значення змінної Х цілого типу друкувати в 4 позиції;

П риклад 1. Маємо сторони трикутника – a, b, c. Визначити кути трикутника з точністю до 1˚.

Математична модель: Для знаходження кутів можемо скористатись формулою косинусів c22+b2-2ab·cosγ де γ – кут між сторонами a і b. З цієї формули знаходимо cosγ. Але в команді ми не можемо в лівій частині вказати вираз cosγ, а тільки змінну, якій треба привласнити результат. Таким чином в алгоритмі з’являється додаткова змінна Р. В алгоритмі ми можемо записувати вирази на математичній мові, але треба пам’ятати, що на мові програмування не існує функції arccos p, а тільки зворотна тригонометрична функція arctg x, тому передбачимо формулу перетворення: . Треба взяти до уваги, що результат розрахунку зворотної тригонометричної функції мовою програмування отримаємо в радіанах, то ж передбачимо перетворення радіанів в градуси з точністю до 1˚.