Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторна робота № 1.
Лінійні програми.
Мета: вивчення засобів мови Borland Pascal, за допомогою яких програмуються лінійні програми.
Короткі теоретичні відомості.
Лінійні програми, як правило, мають наступну структуру:
А) заголовок програми;
Б) розділ констант;
В) розділ змінних;
Г) розділ операторів.
А) Заголовок програми визначений діаграмою:
В Borland Pascal цей рядок необовязковий і його можна виключити.
Приклад заголовку:
program LinearUnequation;
program Graf1;
Б) Розділ констант визначений діаграмою
Розділ
констант
В розділі констант визначаються імена як синоніми констант. Під константою розуміється або деяке число, або імя константи, можливо з знаком, або рядок.
Приклад розділу констант:
const Pi = 3.1415926; alfa = 7.1219;
MinInt = -MaxInt;
Line = ____________________________;
FirstLine = ______ Список групи ________;
В) розділ змінних визначений діаграмою
Розділ
змінних
Будь-яка змінна, яка зустрічається в якому-небудь операторі з розділу операторів повинна бути описана в розділі змінних. Опис змінної звязує з новою змінною її імя і тип.
var Root1, Root2, Discriminant : Real;
Index, Counter : Integer;
A,B,C : Real;
Letter : Char;
IsSolution : Boolean;
У мові Pascal визначені 4 стандартних простих даних:
Integer (цілий);
Real (дійсний);
Char (символьний).
Boolean (логічний);
Довідкова інформація про всі стандартні типи змінних з вказанням діапазону допустимих значень і розміру потрібної для їх розміщення області памяті наведена в таблиці:
Тип |
Допустимі значення |
Формат |
Integer |
-32768 .. 32767 |
2 байта зі знаком |
Real |
2.9 * 10-39 .. 1.7 * 10+38 |
6 байт |
Boolean |
False, True |
1 байт |
Char |
[A..Z, a..z], [0 .. 9], розділові знаки і спец.символи |
1 байт |
Для повного опису кожного типу даних, які використовуються в мові програмування, необхідно знати:
Значеннями цілого типу Integer є елементи підмножини (відрізка) цілих чисел.
Операції:
* - множення;
div - цілочисельне ділення;
mod - остача від цілочисельного ділення;
+ - додавання;
- - віднімання;
Функції:
Abs(x) - х ;
Sqr(x) - х 2;
Trunc(x) - відкидання дробової частини від дійсного х;
Round(x) - округлення дійсного x;
Succ(x) - х + 1;
Pred(x) - х - 1;
З деякими іншими функціями ми познайомимось пізніше - при визначення інших типів даних.
Відношення:
< - менше <= - менше або дорівнює
> - більше >= - більше або дорівнює
= - дорівнює <> - не дорівнює
Значеннями дійсного типу є елементи підмножини дійсних чисел, яка залежить від реалізації підмножини дійсних чисел.
Операції:
* -множення; / - ділення;
+ - додавання; - - віднімання;
Функції:
Abs(x) - модульх;
Sqr(x) х2 у квадраті;
Sqrt(x) - корінь з х,
Sin(x) - sin х;
Cos(x)- cos х;
Arctan(x)- arctg х;
Ln(x) - ln х;
Exp(x) - e х;
Відношення: такі самі, як і для типу Integer.
Символьний тип Сhar представляє особливий тип даних, призначений для зберігання одного символу (букви, знаку або коду). В змінну цього типу на компютері може бути розміщений будь-який з 256 символів розширенного коду ASCII.
Функції:
Ord(x) - порядковий номер x.
Chr(n)- символ з порядковим номером N.
Pred(x)- символ, який передує x.
Succ(x) - символ, який слідує за x.
Відношення.
Як вже повідомлялось, тип даних Сhar упорядкований. Це означає, що дані типу Сhar можна порівнювати, як і дані числових типів, за допомогою відношень:
= , <> , > , < , >= , <= .
Результат порівняння можна використовувати як данне типу Boolean.
Змінні типу Boolean є логічними змінними, що можуть приймати тільки 2 значення: True (істина) і False (хибність). Значення булевого типу True і False є по суті інтерпретаторами констант.
Операції.
Для булевих змінних, що приймають тільки 1 із 2-х допустимих значень, дозволені тільки 2 операції порівняння “=” і “<>” (недорівнює). Інші доступні для логічних змінних операції наведені в таблиці:
Операція |
Дії |
AND |
Логічне “І” |
OR |
Логічне “Або” |
NOT |
Логічне “Не” |
Функції.
Цей тип даних, як і інші прості типи даних, упорядкований. На ньому визначені функції Ord, Succ, Pred.
Так само як і для будь-яких інших типів даних, для цього типу існують стандартні функції:
Odd(Х)
{ Odd(Х) = True, якщо Х - ціле непарне число
Odd(Х) = False, якщо Х - ціле парне число}
Eoln(F) { кінець рядка в текстовому файлі}
Eof(F) { кінець файла}
При використання в програмі стандартних типів даних немає необхідності в їх попередньому визначенні, на різницю від типів даних користувача, що потребують такого визначення.
Оголошення типу даних користувача проходить у розділі оголошення типів, що йде за розділом констант. Його відкриває зарезервоване слово ТYРЕ.
Розділ типів визначає синтаксичною діаграммою:
Розділ
типів
Слідом за словом ТYРЕ йдуть розділенні знаком «=» імена нового типу користувача і конструкція, що визначає цей тип:
Type Day = (Понеділок, Вівторок);
Розділ операторів описується діаграмою:
Оператор присвоювання.
Одним з елементарних операторів є оператор присвоювання основний оператор будь-якої мови програмування. Даний оператор дозволяє помістити деяке значення в необхідну вам змінну.
оператор
присвоювання
Оператор присвоювання дозволяє запамятати як поточне значення змінної, що стоїть зліва від знаку присвоювання, нове значення, яке задається виразом, що стоїть справа. Вираз складається з імен змінних, констант, знаків операцій і позначень функцій.
Приклад оператора присвоювання
А := А + В ;
Оператори вводу/виводу.
Паралельно з операторами присвоювання (в лінійних програмах) для організації вводу/виводу даних використовуються оператори Read, Readln, Write, Writeln. Два перших оператора використовуються для вводу інформації з клавіатури, а два їнших для виводу інформації на екран.
Загальна форма запису операторів визначена діаграмою:
В операторах закінчення ln означає, що наступна інформація зявиться на екрані з нового рядка.
Приклад лінійної програми.
Скласти програму обчислення середнього арифметичного для двох дійсних чисел.
Program Chislo; {програма обчислює середнє арифметичне двох чисел}
Const Line=************************;
Var a, b, S: real;
Begin
{введення даних}
Write(Введіть числа a i b);
Readln(a, b);
S:=(a+b)/2;
Write(Результат, S);
End.
Контрольні питання.
Варіанти завдань.
Завдання 1.
{Вважати, що її визначник не дорівнює нулю }
Завдання 2.