Задачи. Тема «алгоритмы ветвления» ( работа в Паскале)
1. Написать программу решения квадратного алгебраического уравнения с произвольными параметрами: A*X*X+B*X+C=0.
2. Написать программу "Калькулятор", умеющую производить 4 арифметических действия (+,-,*,/ ) над произвольной парой действительных чисел.
3. Программа спрашивает сокращенное имя, а выдает полное (например, Саша - Александр) для четырех ваших знакомых. Ввод незнакомого имени должен провоцировать заявление типа: "Я с вами не знаком".
4. Вычислить значение функции:
X,если 0> X
F =1/(X-5),если 0<= X <=20
не определено, в остальных случаях
5. Переменной К присвоить номер четверти плоскости, в которой находится точка с координатами X и Y ( X*Y <> 0 ).
6. Написать программу, которая требует ввода времени дня и, в зависимости от введенного значения, желает доброго утра, доброго дня, доброго вечера или спокойной ночи.
7. Даны произвольные числа A, B, C. Определить, можно ли построить треугольник с такими сторонами? Какой это треугольник: равнобедренный, равносторонний, прямоугольный.
8. В овощной магазин поступило С тонн капусты. Магазин имеет два склада: вместимость первого – А тонн, второго – В тонн. В первом складе находится А1 тонн капусты, во втором – В1 тонн. Определить количество капусты в каждом складе после поступления.
9. По номеру Y ( Y > 0 ) некоторого года определить C - номер его столетия (учесть, что, к примеру, началом ХХ столетия был 1901, а не 1900 год).
10. Известно расстояние до каждого из трех сел от районного центра. Определить, какое из них находится ближе всего к районному центру, а какое дальше всего от него.
Answers & Comments
1)var
a,b,c,d,x1,x2:real;
begin
readln(a,b,c);
d:=sqr(b)-4*a*c;
writeln(sqrt(d));
if d=0 then
begin
x1:=-b/(2*a);
writeln('x=',x1:0:2);
end
else
if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1=',x1:0:2);
writeln('x2=',x2:0:2);
end
else
writeln('Корней нет');
end.
2)var
a,b:real;
x:byte;
begin
repeat
writeln('1: +');
writeln('2: -');
writeln('3: *');
writeln('4: /');
writeln('другое - выход');
write('Выберете действие: '); readln(x);
write('Введите числа: '); readln(a,b);
case x of
1: writeln(a,'+',b,'=',a+b);
2: writeln(a,'-',b,'=',a-b);
3: writeln(a,'*',b,'=',a*b);
4: writeln(a,'/',b,'=',a/b);
else exit;
end;
writeln;
until (x<1) and (x>4);
end.
x:integer;
begin
readln(x);
if (x>=0) and (x<=20) then
if x=5 then
writeln('Error')
else
writeln(1/(x-5):0:2)
else
writeln('Не определено');
end.