- •Технологии программирования
- •Содержание
- •Линейные алгоритмы
- •1.1. Примеры решения заданий
- •1.2. Задания для самостоятельного решения
- •1.3. Задания для контрольной работы
- •Алгоритмы с разветвлениями
- •2.1. Примеры решения заданий
- •2.3. Задания для контрольной работы
- •Алгоритмы с циклами
- •3.1. Примеры решения заданий
- •2.2. Задания для самостоятельного решения
- •3.2. Задания для самостоятельного решения
- •3.3. Задания для контрольной работы
- •Одномерные массивы
- •4.1. Примеры решения заданий
- •4.2. Задания для самостоятельного решения
- •4.3. Задания для контрольной работы
- •Двумерные массивы
- •5.1. Примеры решения заданий
- •5.2. Задания для самостоятельного решения
- •5.3. Задания для контрольной работы
- •6.1. Примеры решения заданий
- •6.2. Задания для самостоятельного решения
- •6.3. Задания для контрольной работы
- •7.1. Примеры решения заданий
- •7.2. Задания для самостоятельного решения
- •7.3. Задания для контрольной работы
- •8.1. Примеры решения заданий
- •8.2. Задания для самостоятельного решения
- •8.3. Задания для контрольной работы
- •Контрольная работа
- •Список использованных источников
1.2. Задания для самостоятельного решения
Задача 1. Составить программу для решения следующей задачи. Три сопротивления R1, R2 и R3 соединены параллельно. Найти сопротивление соединения:
Задача 2. Заданы моменты начала и конца некоторого промежутка времени в часах, минутах и секундах (в пределах одних суток). Найти продолжительность этого промежутка в тех же единицах.
Задача 3. Найти площадь кольца, внутренний радиус которого равен 20, а внешний - заданному числу r (r >20):
Задача 4. Треугольник задан координатами своих вершин. Найти длины сторон:
периметр:
и площадь треугольника:
Задача 5. Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда.
1.3. Задания для контрольной работы
Составить алгоритм для расчета значений функций z1 и z2. Реализовать алгоритм в Turbo Pascal. Отсутствующие в языке функции выразить через имеющиеся.
Вариант 1.
Вариант 2.
Вариант 3.
Вариант 4.
Вариант 5.
Вариант 6.
Вариант 7.
Вариант 8.
Вариант 9.
Вариант 10.
Вариант 11.
Вариант 12.
Вариант 13.
Вариант 14.
Вариант 15.
Вариант 16.
Вариант 17.
Вариант 18.
Вариант 19.
Вариант 20.
Алгоритмы с разветвлениями
2.1. Примеры решения заданий
Задача 1. Даны три действительных числа х, у, z. Получить максимальное Max (x,y,z).
Решение:
Алгоритм решения задачи запишется в виде, представленном на рис. 2.1.
Программа в Turbo Pascal будет иметь следующий вид:
Program FindMaxXYZ;
Var x,y,z,max: Real;
BEGIN
Write('Введите 3 действительных числа ');
ReadLn(x,у,z);
If x>y then max:=x else max:=y;
If z>max then max:= z;
WriteLn('Max = ', max);
ReadLn;
END.
Рис. 2.4. Блок-схема алгоритма решения задачи 1
Задача 2. Дано действительное число х. Вычислить f(x), если:
Решение:
Алгоритм решения задачи запишется в виде, представленном на рис. 2.2.
Программа в Turbo Pascal будет иметь следующий вид:
Program Func;
Var х,у: Double;
Begin
Write('Введите любое действительное число_
х = ?',#8);
ReadLn(x);
if x<=0
then у:=0
else if х>1
then y:= Sqr(x)-Sin(Pi* Sqr(x))
else у: = х*(х-1);
WriteLn( ' f (' ,х,' ) = ',у);
ReadLn;
End.
Рис. 2.5. Блок-схема алгоритма решения задачи 2
Задача 3. Дана заштрихованная область и точка с координатами (х, у):
Написать программу, определяющую, попадает ли точка в область. Результат вывести в виде текстового сообщения.
Решение:
Запишем условия попадания точки в область в виде формул. Область можно описать как круг, пересекающийся с треугольником. Точка может попадать либо в круг, либо в треугольник, либо в их общую часть:
Первое условие задает попадание точки в круг, второе - в треугольник. Переменные х и у - вещественного типа.
Алгоритм решения задачи запишется в виде, представленном на рис. 2.3.
Рис. 2.6. Блок-схема алгоритма решения задачи 3
Программа в Turbo Pascal будет иметь следующий вид:
Program DotInField;
Var x,y:real;
Begin
Writeln('Введите значения х и у:');
Readln(x,у);
If (sqr(x) + sqr(y) <= 1) or (x <= 0) _ and (y <= 0) and (y >= -x - 2)
Then
Writeln('Точка попадает в область')
Else
writeln('Точка не попадает в _ область');
End.
