- •Программирование в системе Pascal abc
- •Введение
- •1. Система программирования pascal abc
- •1.1. Структура меню среды
- •1.2. Команды редактора Pascal abc
- •Команды удаления и вставки
- •1.3. Правила оформления программ
- •1.4. Компиляция и исправление синтаксических ошибок
- •1.5. Этапы подготовки и решения задач на компьютере
- •1.6. Словарь основных терминов
- •2. Начальные сведения о языке pascal abc
- •2.1. Алфавит языка
- •2.2. Константы
- •2.3. Идентификаторы и типы данных
- •2.4. Переменные и именованные константы
- •2.5. Структура простой программы и комментарий
- •3. Оператор присваивания и числовые данные
- •3.1. Арифметические выражения
- •Приоритеты операций в выражении
- •3.2. Оператор присваивания
- •3.3. Процедуры ввода-вывода
- •3.4. Стандартные функции Pascal abc
- •3.5. Целые типы в Pascal abc
- •3.6. Вещественные типы
- •Переменные комплексного типа
- •3.7. Примеры и задания к самостоятельному выполнению
- •4. Программирование разветвленных алгоритмов
- •4.1. Логические выражения
- •4.2. Условный оператор if
- •4.3. Составной и пустой операторы
- •4.4. Оператор безусловного перехода
- •4.5. Пример и задания с оператором if
- •4.6. Оператор выбора варианта case
- •4.7. Примеры и задания с оператором case
- •5. Программирование алгоритмов циклической структуры
- •5.1. Оператор счётного цикла
- •5.2. Примеры и задания для оператора цикла со счётчиком
- •Задания к самостоятельному выполнению
- •5.3. Оператор цикла с предусловием
- •5.4. Пример и задания для оператора цикла с предусловием
- •5.5. Оператор цикла с постусловием
- •5.6. Процедуры прерываний циклов
- •5.7. Примеры и задания для циклов с постусловием
- •Задания для самостоятельного выполнения
- •6. Структурированные типы данных
- •6.1. Массивы данных
- •Типизированные константы-массивы
- •6.2. Пример и задания для одномерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •6.3. Ограниченный тип (диапазон)
- •6.4. Пример и задания для двумерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •Задание 3
- •7. Структурное программирование
- •7.1. Структура сложной программы
- •7.2. Подпрограммы. Процедуры и функции
- •7.3. Структура подпрограммы-функции
- •7.4. Примеры и задания с подпрограммой-функцией
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •7.5. Структура подпрограммы-процедуры
- •7.6. Передача в подпрограмму массивов и строк
- •7.7. Рекурсия в программе
- •7.8. Вложенные подпрограммы
- •7.9. Процедуры exit и halt
- •7.10. Пример и задания с подпрограммой-процедурой
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •8. Обработка символьных данных
- •8.1. Символьный тип
- •8.2. Задания для символьных данных
- •9. Обработка строк текста
- •9.1. Строковый тип
- •9.2. Встроенные функции и процедуры для обработки строк
- •9.3. Пример и задания для обработки строк
- •Задания для самостоятельного выполнения
- •10. Файлы
- •10.1. Процедура связывания файлов
- •10.2. Процедуры и функции для работы с файлами
- •10.3. Типизированные файлы
- •10.4. Текстовые файлы
- •10.5. Процедуры ввода
- •10.6. Процедуры вывода
- •10.7. Примеры и задания для работы с файлами
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •11. Комбинированный тип – записи
- •11.1. Структура данных типа записи
- •11.2. Обработка полей записей
- •11.3. Задания с обработкой записей Задание 1
- •Задание 2
- •12. Процедурные типы
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Содержание
Переменные комплексного типа
Данные комплексного типа (complex ) в программе записываются в скобках в виде (x,y), где x и y – выражения (константы, переменные) вещественного типа, представляющие собой вещественную и мнимую части комплексного числа. Если переменная c имеет тип complex, то обратиться к ее вещественной и мнимой частям можно как к полям записи: c.re и c.im.
Например:
const c1 = (0,1); var c: complex; ...
c.re := 2*c.im;
c := c1*c+(c.im, c.re);
Для работы с переменными типа complex также используются стандартные функции: abs, sin, cos, exp, ln, sqrt . Кроме того применяется функция conj(C), возвращающая значение, комплексно сопряженное к C, и функция carg(C), возвращающая главное значение аргумента комплексного числа C, которое находится в числовом диапазоне (-Pi, Pi).
3.7. Примеры и задания к самостоятельному выполнению
Ниже приводятся три простейшие программы линейной структуры, в которых используются оператор присваивания и процедуры ввода-вывода.
Пример 1. Вычислить площадь прямоугольника по размерам сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S = A*B.
Программа набирается в окне редактора и исполняется клавишей [F9]:
Program RECT ; {заголовок программы с именем RECT}
const {заголовок раздела описания констант}
A=2 ; B=3 ; {объявление констант А и В}
var {заголовок раздела описания переменных}
S: integer; {объявление переменной S целого типа}
begin {начало основного блока программы}
S := A*B; {оператор присваивания}
write( ' Площадь прямоугольника = ' , S); {процедура вывода данных}
end . {конец основного блока}
В результате выполнения программы (Ctrl+F9) на экран выводится сообщение: Площадь прямоугольника = 6.
Пример 2. Найти площадь равностороннего треугольника.
Если стороны треугольника имеют размер А,
то его площадь S = A2 sin(π/3)/2.
Схема алгоритма (СА) реализации этой задачи (рис. 4)
выполнена по ГОСТ 19.701-90 (прил. 1).
Текст программы:
Program TREUG ;
var
A, S: real;
begin
writeln( ' Введите A ' ); {процедура вывода текста}
read(A); {процедура ввода исходных данных}
S: = SQR(A) * sin (PI / 3) / 2;
writeln (' Результат: S= ' , S: 6: 2 , ' для A= ' , A);
end .
После выполнения программы на экран выводится сообщение
Результат: S = 10.83 для А = 5.
Предварительно рассчитанный на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает правильность работы программы.
Пример 3. Вычислить функцию y сначала при х = 0 , а затем при х = 2:
,
где A = 1.2, B = 0.5, C = 0.8 .
Получаем следующий текст программы:
Program Fun ;
Const
A = 2; B = 0.5; C = 0.8;
var
X : integer; // переменная X целого типа
Y : real; // переменная Y вещественного типа
Begin
writeln( ' Введите Х ' ); {процедура вывода текста}
read( X ); // введите значение переменной X
Y := A*EXP(C*X) C*cos(B*X) +1;
writeln( ' X= ' , X :3, ' Y= ' , Y:8:3); // вывод значений X и Y
End.
Задания к самостоятельному выполнению (программа_1_1)
Вычислить значение некоторой функции, зависящей от констант a, b, c и переменной X, два значения x1 и x2 для которой заданы в таблице.
№ |
x1 |
x2 |
a |
b |
c |
Вычислить | |||||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 | |||||||||||||
1 |
1 |
2 |
1.5 |
2 |
-0.7 |
| |||||||||||||
2 |
1 |
2 |
0.7 |
- |
2.1 |
| |||||||||||||
3 |
0 |
1.5 |
2 |
1.2 |
1 |
| |||||||||||||
4 |
1 |
2 |
4.1 |
-2.3 |
- |
| |||||||||||||
5 |
-1 |
1 |
0.5 |
2 |
1.5 |
| |||||||||||||
6 |
2 |
4 |
0.5 |
1.3 |
- |
| |||||||||||||
7 |
0 |
2 |
0.5 |
1 |
- |
| |||||||||||||
8 |
-1 |
1 |
2.7 |
1.7 |
- |
| |||||||||||||
9 |
0 |
π/2 |
2 |
0.7 |
0.5 |
| |||||||||||||
10 |
1 |
0 |
0.5 |
2.9 |
1.5 |
| |||||||||||||
11 |
1 |
2 |
1.5 |
-1.2 |
- |
| |||||||||||||
12 |
1 |
2 |
0.5 |
1.7 |
2 |
| |||||||||||||
13 |
-1 |
1 |
0.5 |
1.2 |
- |
| |||||||||||||
14 |
1 |
2 |
0.5 |
3.1 |
- |
| |||||||||||||
15 |
1 |
2 |
0.5 |
3.2 |
- |
| |||||||||||||
16 |
0 |
1 |
1 |
2 |
4 |
| |||||||||||||
17 |
0 |
1 |
1 |
3 |
- |
| |||||||||||||
|
|
|
|
|
|
|
| ||||||||||||
|
|
|
|
|
|
| |||||||||||||
|
|
|
|
|
|
| |||||||||||||
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
18 |
-1 |
2 |
1 |
2 |
- |
|
19 |
1 |
2 |
2 |
3 |
1 |
|
20 |
-1 |
1 |
2 |
π/6 |
0.5 |
|
В следующих заданиях необходимо самостоятельно разработать алгоритмы решения и отладить программы (программа_1_2).
Идет k секунда суток. Определить, сколько целых часов (h) и целых минут (m) и секунд (s) прошло к этому моменту.
Определить площадь трапеции с основаниями а, b, высотой h и объем усеченного конуса, если считать а, b – площадями оснований.
Определить координаты центра тяжести трех материальных точек с массами m1, m2, m3 и координатами (x1, y1), (x2, y2), (x3, y3).
Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними.
Вычислить медианы треугольника по заданным сторонам a, b, c.
Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h.
По заданному радиусу R найти объем шара и площадь его поверхности.
Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.
Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.
Ввести координаты двух точек (х1, y1), (x2, y2). Найти расстояние между ними.