- •Алгоритмизация и основы программирования
- •1. Технология подготовки и решения задач на компьютере
- •Понятие об алгоритмических языках
- •2. Этапы решения задач на компьютере
- •Этапы процесса тестирования
- •Характерные ошибки программирования.
- •3. Основы языка программирования Паскаль
- •3.1. Алфавит языка программирования
- •Правила написания идентификаторов:
- •Константы
- •3.2. Выражения, операции
- •3.3. Операторы
- •3.3.1. Оператор присваивания
- •3.3.2. Операторы перехода
- •3.4. Использование комментариев для пояснений
- •3.5. Общая структура программ в Паскале
- •1. Раздел объявлений и соглашений
- •2. Раздел текстов процедур и функций
- •3. Раздел основного блока программы
- •3.6. Основные операторы модуля crt в turbo pascal
- •3.7. Типы данных
- •3.7.1. Целочисленный тип
- •3.7.2. Вещественные типы
- •3.7.3. Символьный тип
- •3.7.4. Логический тип (boolean)
- •Простые логические выражения
- •Составное логическое выражение
- •Перечисляемый тип
- •Интервальный тип
- •3.8. Ввод-вывод данных
- •Вывод данных
- •Способы представления вещественных чисел
- •Ввод данных
- •3.9. Математические функции и процедуры
- •Взаимные преобразования чисел
- •4. Конструкции языка программирования Паскаль
- •4.1. Организация ветвления
- •4.1.1. Условные операторы. Оператор if
- •4.1.2. Конструкция множественного выбора Case … Of
- •4.2. Операторы цикла
- •4.2.1. Оператор цикла For
- •4.2.2. Оператор цикла Repeat..Until
- •4.2.3. Оператор цикла While..Do
- •5. Структурированные типы данных
- •Одномерные массивы
- •Доступ к элементам массива
- •Заполнение массива
- •6. Подпрограммы пользователя. Назначение Преимущества модульности
- •Подпрограмма
- •Список используемой и рекомендуемой литературы
Ввод данных
Процедура Read позволяет ввести параметры с клавиатуры. В качестве параметров процедуры Read должны быть указаны имена переменных.
Read (P1,P2,…);
При вводе нескольких значений с клавиатуры их необходимо разделять пробелами или нажатиями клавиши Enter. Ввод заканчивается нажатием клавиши Enter.
Процедура ReadLn отличается тем, что после завершения ввода значений переменных курсор переводится к началу следующей строки.
Процедуры Write, WriteLn, Read, ReadLn находятся в модуле System.
Задача. Вычислить среднее значение
program Srednee;
var
First, Second, Third, Sum: integer;
begin
Writeln ('Введите три числа, среднее целое значение которых вы хотите получить:');
Read (First, Second, Third);
Sum:=First+Second+Third;
Writeln ('Среднее значение', First:4,' ', Second: 4);
Writeln (' и ', Third: 4,' равно', (Sum div 3): 3)
end.
3.9. Математические функции и процедуры
В Паскале существует ряд стандартных математических функций (см. табл. 3.6.) и процедур (см. табл. 3.7.)
Таблица 3.6.
Стандартные математические функции в Паскале
Название, типы параметров и возвращаемых значений |
Описание |
Пример использования |
Аbs(X) : <тип параметра>; |
возвращает абсолютное значение числа Х. Х — значение вещественного или целочисленного типа. |
f:=abs(b) |
Sin(X: Real) : Real; |
возвращает синус числа Х, где Х — угол в радианах |
r:=sin(Pi); {R=0} |
Cos(X: Real) : Real; |
возвращает косинус числа Х, где Х — угол в радианах |
r:=cos(pi); |
Arctan(X: Real) : Real; |
возвращает арктангенс числа Х, где Х — угол в радианах. |
r:=arctan(x); |
Exp(X: Real) : Real; |
возвращает число, равно е (константа Эйлера) в степени Х. |
a:=exp(-x); |
Ln(X: Real) : Real; |
возвращает число, равное натуральному логарифму от числа Х. |
y:=ln(x); |
Pi :Real; |
число Пи. |
y:=pi; {y:=3.1415} |
Sqr(X) : <тип параметра>; |
возвращает число равное квадрату Х. Х — вещественное или целочисленное значение. |
y:=sqr(x) |
Sqrt(X: Real) : Real; |
возвращает число, равное корню квадратному из Х. |
y:=sqrt(x) |
Trunc(X: Real) : Longint; |
возвращает число, равное целой части числа Х (округление происходит путем отбрасывания дробной части числа Х). |
Trunc (5.8) = 5 |
Frac(X: Real) : Real |
возвращает число, равное дробной части числа Х. |
Frac(5.8) = 0.8 |
Int(X: Real) : Real; |
возвращает число, равное целой части числа Х. |
Int(3.1) = 3 |
Round(X: Real) : Longint; |
возвращает число, равное целой части числа Х (округление происходит по правилам математики, т.. к ближайшему целому). |
Round(2.7)=3 Round(2.4)=2 |
Random(Range : Word) : <тип параметра>; |
возвращает случайное число от 0 до Range. Если аргумент Range не задан, то будет возвращено случайное число от 0 до 1. |
X:=random(5) {x[0…4]} |
Odd(X: Longint) : Boolean; |
возвращает значение True, если число Х нечетно (иначе возвращает False). |
|
Таблица 3.7.
Стандартные математические процедуры в Паскаль
Название, типы параметров и возвращаемых значений |
Описание |
Пример использования |
Randomize |
инициализирует встроенный генератор случайных чисел с произвольным значением (полученным из системных часов) |
|
Inc(Var X, N) |
увеличивает значение X на N, если N задан, иначе увеличивает значение Х на единицу. X, N — целочисленного типа |
Inc(n,3); {n:=n+3} Inc(n); {n:=n+1} |
Dec(Var X, N) |
уменьшает значение X на N, если N задан, иначе уменьшает значение Х на единицу. X, N — целочисленного типа |
Dec(n,3); {n:=n-3} Dec(n); {n:=n-1} |
В Паскале нет некоторых стандартных тригонометрических функций, но их можно получить следующим образом (см. табл. 4.8):
Таблица 3.8.
Некоторые математические функции
-
Функция
Реализация
Тангенс x
Tan:=Sin(X)/Cos(X)
случайное число x из диапазона (a;b)
X:=a+(b-a)*Random;
Возведение числа в степень z=xy
z:=exp(y*ln(x)); при x>0.
y=arcsin(x), y=arccos (x)
y:=arctan(x/sqrt(1-x*x));
y=sh(x) (гиперболический синус)
y:=(exp(x)-exp(-x))/2;
y=ch(x) (гиперболический косинус)
y:=(exp(x)+exp(-x))/2;
Задача. Вычислить периметр прямоугольного треугольника.
var a,b,c,p:real;
begin
Writeln(‘Введите a, b - катеты’);
Writeln;
P:=a+b+sqrt(sqr(a)+sqr(b));
writeln(' Периметр p=',p:8:5);
end.