§3.3. Программирование линейных алгоритмов.
Задание 2.
Для заданного х вычислите у по формуле у = х3 + 2,5х2 - х + 1.
При этом:
а) операцию возведения в степень использовать запрещено;
б) в одном операторе присваивания можно использовать не более одной арифметической операции (сложение, умножение, вычитание);
в) в программе может быть использовано не более пяти операторов присваивания.
Подсказка: преобразуйте выражение к следующему виду: = ((х + 2,5)*x - 1)*х + 1.
//Заголовок программы
Program p33_z2;
//Описание переменных величин
var x,y:real;
//начало программы
begin
//ввод данных
readln(x);
//преобразование и вычисление переменных величин
y := x + 2.5;
y := y * x;
y := y - 1;
y := y * x;
y := y + 1;
//вывод результатов решения задачи
writeln(y);
//закончить выполнение программы
end.
Задание 3.
По заданным координатам точек А и В вычислите длину отрезка АВ.
Подсказка: Расстояние d между точками А (ха, уа) и В (хb, уb) выражается формулой d2 = (xb-xa)2 + (yb-ya)2.
Пример входных, данных:
ха=2
уа=1
xb=10
уb=7
Пример выходных данных:
|АВ|=10.0
//Заголовок программы
Program p33_z3;
//Описание переменных величин
var xa,ya,xb,yb,d:real;
//начало программы
begin
//ввод данных
readln(xa,ya,xb,yb);
//преобразование и вычисление переменных величин
d := sqrt(sqr(xa-xb)+sqr(ya-yb));
//вывод результатов решения задачи
writeln(d);
//закончить выполнение программы
end.
Задание 4.
Известны длины сторон треугольника а, b, с. Напишите программу, вычисляющую площадь этого треугольника.
Пример входных, данных:
а=2
b=1
c=5
Пример выходных данных:
S=6.0
//Заголовок программы
Program p33_z4;
//Описание переменных величин
var a,b,c,S,p:real; // p - полупериметр в формуле Герона
//начало программы
begin
//ввод данных
readln(a,b,с);
//преобразование и вычисление переменных величин
p := (a + b + c) / 2;
S := sqrt(p*(p-a)*(p-b)*(p-c));
//вывод результатов решения задачи
writeln(S);
//закончить выполнение программы
end.
Задание 5.
Известны координаты вершин А, В, С треугольника. Напишите программу, вычисляющую площадь этого треугольника.
Пример входных, данных:
xа=2
ya=1
xb=6
yb=5
xc=10
yc=1
Пример выходных данных:
S=16.0
//Заголовок программы
Program p33_z5;
//Описание переменных величин
var xa,ya,xb,yb,xc,yc,a,b,c,S,p:real; // a,b,c - длины сторон, p - полупериметр в формуле Герона
//начало программы
begin
//ввод данных
readln(xa,ya,xb,yb,xc,yc);
//преобразование и вычисление переменных величин
a := sqrt(sqr(xb-xc)+sqr(yb-yc));
b := sqrt(sqr(xa-xc)+sqr(ya-yc));
c := sqrt(sqr(xa-xb)+sqr(ya-yb));
p := (a + b + c) / 2;
S := sqrt(p*(p-a)*(p-b)*(p-c));
//вывод результатов решения задачи
writeln(S);
//закончить выполнение программы
end.
Задание 6.
Если сумма налога исчисляется в рублях и копейках, то налоговая служба округляет её до ближайшего рубля (до 50 копеек — с недостатком, свыше 50 копеек (включая 50) — с избытком). Используйте компьютер, чтобы ввести точную сумму налога и вывести, сколько следует уплатить.
Пример входных, данных:
R=2
K=35
Пример выходных данных:
R=3
//Заголовок программы
Program p33_z6;
//Описание переменных величин
var R,K:integer; // R - рубли, K - копейки
//начало программы
begin
//ввод данных
readln(R,K);
//преобразование и вычисление переменных величин
R := R + K div 50;
//вывод результатов решения задачи
writeln(R);
//закончить выполнение программы
end.
Задание 9.
Запишите на языке Паскаль программу, которая для произвольного натурального двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.
Пример входных, данных:
N=27
Пример выходных данных:
S=9
P=14
M=72
//Заголовок программы
Program p33_z9;
//Описание переменных величин
// N - двузначное число, S - сумма цифр, P - произведение цифр, M - составленное число,
// C1 - первая цифра числа (число десятков), C2 - вторая цифра числа (число единиц)
var N,S,P,M,C1,C2: integer;
//начало программы
begin
//ввод данных
readln(N);
//преобразование и вычисление переменных величин
C1 := N div 10;
C2 := N mod 10;
S := C1 + C2;
P := C1 * C2;
M := C2 * 10 + C1;
//вывод результатов решения задачи
writeln(S,' ',P, ' ', M);
//закончить выполнение программы
end.