Дополнительное задание 1 Параграф 20 ГДЗ Семакин 8 класс (Информатика)
Домашнее задание №24
Тема: Знакомство с языком Паскаль
1. Напишите на языке Паскаль программу вычисления y по формуле:
y = ( 1- x2 + 5×4 )2, где x — данное целое число.
program yy;
var
x, y: integer;
begin
write(‘Введи x > > ‘);
readln(x);
x := x * x;
y := (1 — x + 5 * x * x);
y := y * y;
writeln(‘y =’, y);
end.
2. Перепишите программу на языке Паскаль, исправив ошибки:
Program primer
Var a,b: integer;
Begin ;
ReadLn( a,b);
s=a+b;
m:=a*b;
d:=a:b;
WriteLn(s);
WriteLn(m);
WriteLn(d)
End
program primer;
var
a, b, s, m: integer;
d: real;
begin
ReadLn( a, b);
s := a + b;
m := a * b;
d := a / b;
WriteLn(s);
WriteLn(m);
WriteLn(d:5:2)
end.
3. Не используя функцию возведения в квадрат, напишите на языке Паскаль наиболее короткие алгоритмы вычисления:
а) y=x10 б) y=x15
Постараться использовать минимальное количество дополнительных переменных.
а)
program y10;
var
x, y: integer;
begin
write(‘Введи x > > ‘);
readln(x);
x := x * x;
y := x * x;
y := y * y * x;
writeln(‘y =’, y);
end.
б)
program y15;
var
x, y: integer;
begin
write(‘Введи x > > ‘);
readln(x);
y := x * x;
y := y * y * x;
y := y * y * y;
writeln(‘y =’, y);
end.
4. Запишите на языке Паскаль программу циклического обмена значениями трёх переменных a,b,c. Схема циклического обмена: a < b < c
Например, если до обмена было: a=1, b=2, c=3, то после обмена должно стать: a=2, b=3, c=1.
program yy;
var
a,b,c,t: integer;
begin
write('Введи a,b,c > > ‘);
readln(a,b,c);
t:=a; a:=b; b:=c; c:=t;
writeln(‘a=’, a,’ b=’,b,’ c=’,c);
end.
Выполнение
1. Для вычисления $$y=(1-x^2+5x^4)^2$$ удобно сначала найти $$x^2$$, затем подставить его в формулу и возвести результат в квадрат:
program yy;
var
x, y: integer;
begin
write(‘Введи x >>’);
readln(x);
x := x * x;
y := (1 — x + 5 * x * x);
y := y * y;
writeln(‘y =’, y);
end.
2. В программе были исправлены ошибки: добавлены пропущенные объявления переменных, знак присваивания $$:=$$, правильная запись деления и формат вывода вещественного числа.
program primer;
var
a, b, s, m: integer;
d: real;
begin
ReadLn(a, b);
s := a + b;
m := a * b;
d := a / b;
WriteLn(s);
WriteLn(m);
WriteLn(d:5:2);
end.
3. Наиболее короткие алгоритмы вычисления степеней без функции возведения в квадрат:
а) $$y=x^{10}$$
program y10;
var
x, y: integer;
begin
write(‘Введи x >>’);
readln(x);
x := x * x;
y := x * x;
y := y * y * x;
writeln(‘y =’, y);
end.
б) $$y=x^{15}$$
program y15;
var
x, y: integer;
begin
write(‘Введи x >>’);
readln(x);
y := x * x;
y := y * y * x;
y := y * y * y;
writeln(‘y =’, y);
end.
4. Для циклического обмена значениями трёх переменных используется вспомогательная переменная $$t$$:
program yy;
var
a, b, c, t: integer;
begin
write(‘Введи a,b,c >>’);
readln(a, b, c);
t := a;
a := b;
b := c;
c := t;
writeln(‘a=’, a, ‘ b=’, b, ‘ c=’, c);
end.