Лабораторна робота №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)).