Лабораторна робота №2
(модуль 1)
Тема: Прості стандартні типи даних мови програмування Pascal. Лінійні програми. (2 години)
Мета: Засвоїти знання про прості стандартні типи даних. Сформувати навички використання стандартних функцій при складанні програм. Сформувати вміння розв’язання лінійних програм засобами мови Pascal.
Література:
Архангельский А.Я. Язык Pascal и основы программирования в Delphi
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.– М.: Мир, 1979.– 536 с.
Венц А. Н. Профессия – программист.– Ростов: Изд-во «Феникс», 1999.– 384 с.
Виноградов И.М. Основы теории чисел.– М.: Наука, 1972.– 167 с.
Вирт Н.. Алгоритмы + структуры данных = программы. Москва, Мир, 1985 г. 406 с.
Вирт Н.. Алгоритмы и структуры данных. Москва, Мир, 1989 г. 420 с.
Гусева А.И. Учимся информатике: задачи и методы решения.– М.: «Диалог – МИФИ», 1998.– 320 с.
Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ.– М.: МЦНМО, 1999.– 960 с.
Короткі теоретичні відомості.
Прості стандартні типи даних мови програмування 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 .
Значеннями цілого типу Integer є елементи підмножини (відрізка) цілих чисел.
Операції:
* - множення;
div - цілочисельне ділення;
mod - остача від цілочисельного ділення;
+ - додавання;
- - віднімання;
Функції:
Abs(x) - ( х (;
Sqr(x) - х 2;
Trunc(x) - відкидання дробової частини від дійсного х;
Round(x) - округлення дійсного x;
Succ(x) - х + 1;
Pred(x) - х - 1;
Відношення:
< - менше; <= - менше або дорівнює;
> - більше; >= - більше або дорівнює;
= - дорівнює; <> - не дорівнює.
Тип данних Real.
Значеннями дійсного типу є елементи підмножини дійсних чисел, яка залежить від реалізації.
Операції:
* -множення; / - ділення;
+ - додавання; - - віднімання.
Функції:
Abs(x) – модуль х, (х(;
Sqr(x) – х2;
Sqrt(x) - корінь з х, ;
Sin(x) - sin х;
Cos(x)- cos х;
Arctan(x)- arctg х;
Ln(x) - ln х;
Exp(x) - e х.
Відношення: такі ж, як і для типу Integer.
Тип даних Сhar.
Дані цього типу - символи розширеного коду ASCII.
Функції:
Ord(x) - порядковий номер x;
Chr(n)- символ з порядковим номером N;
Pred(x)- символ, який передує x;
Succ(x) - символ, наступний за x.
Відношення.
Тип даних Сhar впорядкований. Це значить, що дані типу Сhar можна порівнювати, як і дані числових типів, за допомогою відношень:
= , <> , > , < , >= , <= .
Приклад. Написати програму, яка обчислює і друкує коефіцієнти зведеного квадратного рівняння, коренями якого є два даних дійсних числа.
Program Koef;
Var x1,x2,p,q:Real;
Begin
{Введення даних}
Writeln(‘Введіть корені рівняння’);
Readln(x1,x2);
{Обчислення коефіцієнтів}
p:= – (x1+x2);
q:= x1*x2;
{Виведення результатів}
Writeln(‘Коефіцієнти рівняння: ’,1, ‘ ’,p:5:3, ‘ ’,q:5:3);
End.
Задачі для самостійного розв’язування
Скласти алгоритм і розробити програму, яка знаходе останні чотири цифри 32-го степеня натурального числа N. (N32)
Скласти алгоритм і розробити програму, яка обчислює цілі коефіцієнти А, В, С квадратного рівняння Аx2 + Вx + С = 0 за його раціональними коренями х1 = n1 / m1, x2 = n2 / m2.
Розробити програму, яка за номером року Y визначає номер століття C (врахувати, що початком XX століття був 1901, а не 1900 рік).
Скласти програму для розв’язування задачі: йде N-а секунда суток, визначити скільки повних годин і повних хвилин пройшло до цього моменту.
Скласти програму обчислення значення виразу 3x2y2-2xy2-7x2y-4y2+15xy+2x2-3x+10y+6, не користуючись ніякими іншими арифметичними операціями, крім множення, додавання і віднімання. Дозволяється використовувати не больш 8 множень і 8 додавань і віднімань.
Дано ціле число x. Скласти програму, яка, не користуючись ніякими іншими арифметичними операціями, крім множення, додавання і віднімання, обчислює значення виразів 1-2x+3x2-4x3 і 1+2x+3x2+4x3. У програмі дозволяється використовувати не більше 8 операцій.
Написати програму, що визначає кут у градусах, на який повернеться годинна стрілка, якщо від початку доби пройшло H годин, M хвилин і S секунд (0(H(11, 0(M, S(59).
Скласти програму, яка визначає повну кількість годин H і повну кількість хвилин M, що пройшли від початку доби до того моменту (у першій половині дня), коли годинна стрілка повернулась на G градусів (0(G<360, G – дійсне число).
Многочлени F(x) = ax + b і G(x) = cx + d задані своїми коефіцієнтами. Скласти програму знаходження коефіцієнтів многочлена H(x) = F(x)*G(x).
Многочлени F(x) = ax + b і G(x) = cx + d задані своїми коефіцієнтами. Скласти програму знаходження коефіцієнтів многочленів H1(x) = F(G(x)) і H2(x) = G(F(x)).