
- •Содержание
- •1 Программирование линейных алгоритмов 4
- •2 Программирование ветвящихся алгоритмов 10
- •3 Программирование циклических алгоритмов 22
- •4 Работа с массивами 34
- •1 Программирование линейных алгоритмов
- •2.1.2 Словесно формульное описание задачи
- •2.1.3 Блок схема алгоритма
- •2.1.4 Реализация алгоритма на языке Pascal
- •2.1.5 Тестирование алгоритма задачи
- •2.2 Задача 4 (2.9)
- •2.2.1 Математическое описание задачи
- •2.2.2 Словесно формульное описание задачи
- •2.2.3 Блок схема алгоритма
- •2.3.2 Словесно формульное описание задачи
- •2.3.3 Блок схема алгоритма
- •2.3.4 Реализация алгоритма на языке Pascal
- •2.3.5Тестирование алгоритма задачи
- •2.4 Выводы по ветвящимся алгоритмам
- •3 Программирование циклических алгоритмов
- •3.2.3 Блок схема алгоритма
- •3.4.3 Блок схема алгоритма
- •3.4.4 Реализация алгоритма на языке Pascal
- •3.4.5 Тестирование алгоритма задачи
- •2.4 Выводы по циклическим алгоритмам
- •4 Работа с массивами
- •4.1 Задача 10 (4.2)
- •4.1.1 Математическое описание задачи
- •4.1.2 Словесно формульное описание задачи
- •4.1.3 Блок схемаалгоритма
- •4.3.3 Блок схемаалгоритма
- •4.3.4Реализация алгоритманаязыке Pascal
- •4.3.5Тестирование алгоритма задачи
- •4.4 Выводы по работе с массивами
- •Список используемой литературы
1 Программирование линейных алгоритмов
Задача 1 (1.1.С)
Вычислить значение выражения по формуле (все переменные имеют действительный тип):
.
1.1.1 Математическое описание задачи
Постановка задачи.
Входными переменными для данного выражения являются переменные xиy. Вычисление данного выражения происходит в порядке приоритетов математических операций:
1. Вычисляется сумма выражения
;
2. Вычисляется разность выражения
;
3. Вычисляется деление выражений
;
3. Вычисляется произведение выражений
.
Выходной переменной будет переменная
z,.
1.1.2 Словесно формульное описание задачи
1. Считать ввод числа с клавиатуры в переменную x, перейти к п. 2.
2. Считать ввод числа с клавиатуры числа в переменную y, перейти к п. 3.
3. Вычислить значение выражения z, перейти к п. 4.
4. Вывести на экран значение выражения z.
1.1.3 Блок схема алгоритма
1.1.4 Реализация алгоритма на языке Pascal
Program Zadacha1;
uses crt;
var x,y,z:real;
Begin
write('Введите через пробел x и y: ');
readln(x,y);
z:=(sin(pi/180*x)+cos(pi/180*x))/(cos(pi/180*x)-sin(pi/180*x))*(sin(pi/180*x*y)/cos(pi/180*x*y));
writeln('z= ',z:5:3);
readln;
End.
1.1.5 Тестирование алгоритма задачи
Задача 2 (1.9)
Даны длины ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.
1.2.1 Математическое описание задачи
Постановка задачи.
Входной переменной в данной задаче будет длина ребра a. Из курса математики известно, что куб – это правильный многогранник, каждая грань которого представляет собой квадрат (рисунок 1.1). Площадь грани куба равняется квадрату грани куба –a2, площадь полной поверхности есть сумма площадей всех 6 граней куба –6a2, объем куба –a3.
Выходными переменными соответственно будут являться площадь грани – Sgrani, площадь полной поверхностиSpov, объем куба –Vkuba.
Рисунок 1.1
1.2.2 Словесно формульное описание задачи
1. Считать ввод числа cклавиатуры в переменнуюa, перейти к п. 2.
2. Вычислить значение выражения Sgrani, перейти к п. 3.
3. Вычислить значение выражения Spov, перейти к п. 4.
4. Вычислить значение выражения Vkuba, перейти к п. 5.
5. Вывести на экран значение выражения Sgrani, перейти к п. 6.
6. Вывести на экран значение выражения Spov, перейти к п. 7.
7. Вывести на экран значение выражения Vkuba.
1.2.3 Блок схема алгоритма
1.2.4 Реализация алгоритма на языке Pascal
Program Zadacha2;
uses crt;
var a,Sgrani,Spov,Vkuba:real;
Begin
write('Введите ребро куба а = ');
readln(a);
Sgrani:=sqr(a);
Spov:=6*sqr(a);
Vkuba:=a*sqr(a);
writeln('Прощадь грани куда = ',Sgrani:5:3);
writeln('Прощадь полной поверхности = ',Spov:5:3);
writeln('Объем куба = ',Vkuba:5:3);
readln;
End.
1.2.5 Тестирование алгоритма задачи
1.3 Выводы по линейным алгоритмам
В
данной теме решены две задачи. Суть
линейных алгоритмов сводится к
последовательности операций, выполняющихся
только один раз в порядке следования.
Всем задачам по данной теме дано
математическое обоснование их решения,
составлены словесно формульные описания,
составлены блок-схемы, и реализованы
программы по данным схемам в алгоритмическом
языкеPascal. Проведенные
тесты свидетельствую о правильности
выполнения реализованных алгоритмов
в каждой задаче.
2 Программирование ветвящихся алгоритмов
2.1
Задача 3 (2.3)
2.1.1 Математическое описание задачи
Даны два угла треугольника (в градусах). Определить существует ли такой треугольник. Если да, то будет ли он прямоугольным.
Постановка задачи.
Согласно теореме из геометрии – Сумма углов треугольника на евклидовой плоскости равна 180° (рисунок 2.1). Треугольник будет существовать, если два данных угла в сумме будут меньше 180°, или треугольник не будет существовать, если сумма двух углов больше или равна 180°.
Рисунок 2.1
Из геометрии известно, что если один из углов треугольника прямой (равен 90°), то треугольник называется прямоугольным (рисунок 2.2). Две стороны, образующие прямой угол, называются катетами, а сторона, противолежащая прямому углу, называется гипотенузой.
Треугольник будет прямоугольным, если один из заданных углов будет равен 90°, или же если сумма этих углов будет равна 90°.
Входными переменными в задаче будут 2
угла:
и
.
Выходными данными будут являться следующие утверждения:
треугольник с такими углами существует;
треугольник с такими углами не существует;
треугольник с такими углами является прямоугольным;
треугольник с такими углами не является прямоугольным.
Рисунок 2.2