
- •230401 «Информационные системы»
- •230115 «Программирование в компьютерных системах»
- •Лабораторная работа №1. Организация ввода-вывода информации
- •Алфавит языка Turbo Pascal.
- •Переменные и константы.
- •Основные типы переменных.
- •Структура программы.
- •Оператор присваивания, операторы ввода с клавиатуры и вывода на экран.
- •Процедуры управления выводом на экран.
- •Компиляция и выполнение программы.
- •Лабораторная работа №2. Арифметические выражения. Программирование алгоритмов линейной структуры.
- •Арифметические выражения в языке Turbo Pascal.
- •Стандартные арифметические функции.
- •Генератор случайных чисел.
- •Составление алгоритма и программы для решения задачи.
- •Лабораторная работа № 3. Программирование алгоритмов разветвленной структуры. Оператор ветвления if … then … else
- •Условный оператор if … then … else.
- •Составной оператор.
- •Лабораторная работа № 4. Программирование алгоритмов разветвленной структуры. Оператор ветвления case.
- •Условный оператор Case.
- •Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.
- •Оператор циклаWhile.
- •Оператор цикла repeat.
- •Вложенные циклы
- •Оператор перехода
- •Лабораторная работа № 6. Обработка строк с использованием операторов цикла.
- •Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.
- •Лабораторная работа № 8. Обработка одномерных числовых массивов.
- •Лабораторная работа № 9. Обработка двумерных числовых массивов.
- •Лабораторная работа № 10. Использование процедур и функций при обработке массивов.
- •Лабораторная работа № 11. Тип запись. Массивы записей.
- •Лабораторная работа № 12. Обработка информации из файлов последовательного доступа.
- •Лабораторная работа № 13. Обработка информации из файлов прямого доступа.
- •Лабораторная работа № 14. Модуль программиста. Многомодульный проект.
- •Текст модуля программиста к задаче 14.
Лабораторная работа №2. Арифметические выражения. Программирование алгоритмов линейной структуры.
При выполнении работы необходимо знать:
Что такое арифметические выражения.
Стандартные арифметические функции.
Как применить генератор случайных чисел, задать интервал для случайных чисел.
Уметь составить схему программы (алгоритм) линейной структуры для данной задачи и записать программу по готовому алгоритму.
Теоретический минимум:
Арифметические выражения в языке Turbo Pascal.
Арифметическое выражение устанавливает порядок действий для получения числового значения. Арифметические выражения могут включать в себя: константы, переменные, знаки арифметических действий, круглые скобки, стандартные арифметические функции либо функции, определенные программистом.
Подстрочные и надстрочные записи не допускаются. Поэтому при составлении выражений важно следить, чтобы при записи в одну строку многоярусных алгебраических выражений порядок действий не изменился. Для этого используют дополнительные скобки (например, берут в круглые скобки числитель и знаменатель дроби).
Примеры арифметических выражений: Исходное алгебраическое выражение:
y:=(a+b)/(2*a*c);
q:=-b-Sin(x)/(a/(b*5)-b/(c*3));
Каждое выражение при вычислении дает значение определенного типа, и тип вычисляемого значения должен совпадать с типом переменной, которой присваивается значение выражения.
Таблица 7. Арифметические операции.
Знак |
Операция |
Типы операндов |
Тип результата |
+ |
Сложение |
Целые Хотя бы один вещественный |
Целый Вещественный |
- |
Вычитание |
Целые Хотя бы один вещественный |
Целый Вещественный |
* |
Умножение |
Целые Хотя бы один вещественный |
Целый Вещественный |
/ |
Деление |
Целые либо вещественные |
Вещественный |
div |
Деление целых чисел |
Только целые
|
Целый
|
mod |
Остаток от деления целых чисел |
Только целые
|
Целый
|
Стандартные арифметические функции.
Функция – это последовательность инструкций, имеющая имя и результат. Имена функций можно использовать в выражениях. После имени функции в круглых скобках надо указать ее аргумент (то есть от какого значения, переменной или от какого выражения вычисляется функция). Например, функция sqrt(x) вычисляет значение квадратного корня из числа, хранящегося в переменной х. Обращение к этой функции выглядит так:
y:=sqrt(x);
Следует обратить внимание на то, что каждая функция возвращает значение определенного типа, и тип возвращаемого значения (как говорят, тип функции) должен совпадать с типом переменной, которой присваивается значение функции.
Тип и количество параметров (аргументов) функции строго определены.
Таблица 8. Стандартные арифметические функции.
Функция |
Назначение |
Тип результата |
Abs(x) |
Абсолютное значение х |
Совпадает с типом х |
Sqr(x) |
Квадрат х |
Совпадает с типом х |
Sqrt(x) |
Квадратный корень х |
Вещественный |
Sin(x) |
Синус х |
Вещественный |
Cos(x) |
Косинус х |
Вещественный |
Arctan(x) |
Арктангенс х |
Вещественный |
Exp(x) |
Экспонента х |
Вещественный |
Ln(x) |
Логарифм натуральный х |
Вещественный |
Round(x) |
Ближайшее к х целое число |
Вещественный |
Trunc(x) |
Целая часть х |
Целый |
Frac(x) |
Дробная часть вещественного х, представленная как целое число |
Целый |
Int(x) |
Целая часть вещественного х, представленная как целое число |
Целый |
Для возведения числа в произвольную степень можно воспользоваться равенством:
то есть на языке Turbo Pascal возведение в степень будет выглядеть так:
y:=Exp(b*Ln(a));
Для вычисления логарифма по другому основанию пользуемся формулой перехода к другому основанию (через натуральный логарифм):
то есть на языке Turbo Pascal вычисление, например, десятичного логарифма будет выглядеть так:
y:=Ln(a)/Ln(10);