- •Тема 1. Арифметика действительных чисел. Вычисления по формулам Задача 11 в
- •Тема 2. Разветвления
- •Задача 27б
- •Тема 3. Простейшая целочисленная арифметика
- •Задача 14в
- •Тема 4. Простейшие циклы Задача 11
- •Тема 5. Простейшие графические построения Задача 15
- •Тема 6. Пошаговый ввод данных и вывод результатов
- •Тема 7. Сочетания цикла и разветвления
- •Тема 8. Обработка последовательностей символов
- •Тема 9. Вычисления с сохранением последовательности значений
- •Тема 10. Вложенные циклы
- •Тема 11. Вложенные циклы в матричных задачах
- •Тема 12. Использование процедур
- •Тема 13.Файлы
- •Тема 14. Списки
Тема 1. Арифметика действительных чисел. Вычисления по формулам Задача 11 в
Задание: Даны x, y, z. Вычислить a, b если
Математическое обоснование:
Вданных формулах трудность представляет только нахождение значения числа в сложной степени. Эта задача решается представлением степени через натуральный логарифм:
= =exp(b*ln(a))
Алгоритм:
Вводим значения x, y, z;
Вычисляем a и b ;
Выводим результат.
Блок-схема:
Реализация:
program t1_num11v;
var
x,y,z,a,b:real;
begin
Write('x=');
Readln(x);
Write('y=');
Readln(y);
Write('z=');
Readln(z);
a:=exp(exp(1/3*ln(abs(x)))*ln(y))+sqr(cos(y-3))*cos(y-3);
b:=abs(x-y)*(1+sqr(sin(z))/(x+y))/(exp(abs(x-y))+x/2);
Writeln('Ответ: ');
Writeln('a=',a:10:6);
Writeln('b=',b:10:6);
Readln;
end.
Протокол:
В процессе диалога с пользователем вводим значения x=1, y=2, z=3;
Вычисление а= exp(exp(1/3*ln(abs(x)))*ln(y))+sqr(cos(y-3))*cos(y-3);
Вычисление b= abs(x-y)*(1+sqr(sin(z))/(x+y))/(exp(abs(x-y))+x/2);
4) Печать ‘a=2.157729’
5) Печать ‘b=0.312787’
Задача 31 и.
Задание: Дано действительное число a. Не пользуясь никакими другими арифметическими
операциями, кроме умножения, получить
за 6 операций.
Алгоритм:
1) Вводим значение а ;
Вычисляем b ;
Выводим результат.
Блок-схема:
Реализация:
program t1_num31i;
var
a,b:extended;
begin
Write('a=');
Readln(a);
b:=a*a*a;
b:=b*b*a;
b:=b*b*b;
Writeln('Число a в 21-ой степени :',b:10:6);
Readln;
end.
Протокол:
В процессе диалога вводим значение а=3
Вычисляем b=a*a*a;
Вычисляем b=b*b*a;
Вычисляем b=b*b*b;
Печать 'Число a в 21-ой степени : 10460353203.000000'
Тема 2. Разветвления
Задача 13.
Задание:
Даны действительные числа x, y. Если x и y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5; 2.0], то оба значения уменьшить в 10 раз; в остальных случаях x и y оставить без изменений.
Алгоритм:
Вводим значения x, y
Проверяем соответствие значений введенных чисел условиям, указанным в задаче
Изменяем значения соответственно условию
Выводим на экран результат
Блок-схема:
Реализация:
program t2_num13;
var
x,y:real;
begin
Writeln('Введите действительные x, y');
Write('x=');
Readln(x);
Write('y=');
Readln(y);
if (x<0) and (y<0) then
begin
x:=abs(x);
y:=abs(y);
end
else
if ((x<0) and (y>=0)) or ((x>=0) and (y<0)) then
begin
x:=x+0.5;
y:=y+0.5;
end
else
if ((x<0.5) or (x>2)) and ((y<0.5) or (y>2)) then
begin
x:=x/10;
y:=y/10;
end;
Writeln('Результат :',x:8:4,', ',y:8:4);
Readln;
end.
Протокол:
В процессе диалога вводим x=1, y=1;
2.1) Условие (x<0) и (y<0) не выполняется переход к шагу 2.2;
2.2) Условие отрицательности только одного элемента не выполняется (x>0, y>0) переход к шагу 2.3;
2.3) x, y входят в область [0.5; 2.0]переход к шагу 3;
3) Печать значений переменных: x=1, y=1.