Дополнительное задание Параграф 23 ГДЗ Семакин 8 класс (Информатика)

Решение #1

Изображение ЕК ЦОР: Часть2, глава 6, §38. ЦОР №2, 6Домашнее задание №26Тема: Ветвления на Паскале. Программирование диалога с компьютером1. Составьте на Паскале программу...
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Загрузка...

Рассмотрим вариант решения задания из учебника Семакин, Залогова 8 класс, Просвещение:
ЕК ЦОР: Часть2, глава 6, §38. ЦОР №2, 6
Домашнее задание №26
Тема: Ветвления на Паскале. Программирование диалога с компьютером
1. Составьте на Паскале программу определения минимума из трёх чисел с использованием логических операций. Программа должна иметь дружественный интерфейс.
program task_2;
var
a, b, c, min: integer;
begin
writeln('Введи три числа через пробел');
readln(a, b, c);
if b < a then min := b else min := a;
if c < min then min := c;
writeln('min=', min)
end.
2. Составьте на Паскале программу, которая запрашивает возраст двух детей (Саши и Маши), а затем выводит информацию о том, кто из них старше.
program task_2;
var
a, b: integer;
begin
write('Привет! Сколько полных лет Саше?: ');
readln(a);
write('Сколько полных лет Маше?: ');
readln(b);
if a > b then writeln('Саша старше Маши')
else if a = b then writeln('Саша и Маша ровестники')
else writeln('Маша старше Саши');
end.
3. Запишите на языке Паскаль программу, которая по номеру для недели будет выводить его название.
program task_5;
var
c: byte;
begin
write('Привет! Введи номер любого дня недели: ');
readln(c);
case c of
1: writeln('Это понедельник');
2: writeln('Это вторник');
3: writeln('Это среда');
4: writeln('Это четверг');
5: writeln('Это пятница');
6: writeln('Это суббота');
7: writeln('Это воскресенье');
end;
end.
4. Что вычисляет приведённая ниже программа?
Program example;
Var x,y,z,I :integer;
Begin
ReadLn(a,b,c);
i:=0;
If a>0 then i:=i+1;
If b>0 then i:=i+1;
If c>0 then i:=i+1;
WriteLn(i)
End.
Программа вычисляет количество введенных чисел больше 0.
Практическое задание №22
Тема: Ветвления на Паскале.
Программирование диалога с компьютером
1 уровень сложности
1. Дано целое число А. Если значение А > 0, то необходимо увеличить его на единицу. Написать программу для решения этой задачи. Программа должна иметь дружественный интерфейс. Протестировать программу для A=5, A=-4, A=0.
2. Дано целое число А. Если значение А < 0, то необходимо удвоить его. Написать программу для решения этой задачи. Программа должна иметь дружественный интерфейс. Протестировать программу для A=6, A=-10, A=0.
3. Дано целое число А. Если значение А <> 0, то необходимо уменьшить его на 4. Написать программу для решения этой задачи. Программа должна иметь дружественный интерфейс. Протестировать программу для A=2, A=-1, A=0.
4. Дано целое число А. Если значение А > 0, то необходимо увеличить его на единицу, иначе уменьшить на 1. Написать программу для решения этой задачи. Программа должна иметь дружественный интерфейс. Протестировать программу для A=3, A=0, A=-12.
5. Дано целое число А. Если значение А = 0, то необходимо увеличить его на 3, иначе присвоить А значение равное 0. Написать программу для решения этой задачи. Программа должна иметь дружественный интерфейс. Протестировать программу для A=0, A=-1, A=8.
6. Даны два действительных числа X и Y. Если X>Y, то вычислить произведение этих чисел, иначе их сумму. Программа должна иметь дружественный интерфейс. Протестировать программу на трёх различных тестах (X>Y, X=Y и X
1.
program task_1;
var
a: integer;
begin
write('Привет! Введи целое число (положительное, отрицательное или 0): ');
readln(a);
if a > 0 then a := a + 1;
writeln('a=', a)
end.
2.
program task_2;
var
a: integer;
begin
write('Привет! Введи целое число (положительное, отрицательное или 0): ');
readln(a);
if a < 0 then a := a * 2;
writeln('a=', a)
end.
3.
program task_3;
var
a: real;
begin
write('Привет! Введи целое число (положительное, отрицательное или 0): ');
readln(a);
if a <> 0 then a := a / 4;
writeln('a=', a:5:2)
end.
4.
program task_4;
var
a: integer;
begin
write('Привет! Введи целое число (положительное, отрицательное или 0): ');
readln(a);
if a > 0 then a := a + 1
else a := a - 1;
writeln('a=', a:5:2)
end.
5.
program task_5;
var
a: integer;
begin
write('Привет! Введи целое число (положительное, отрицательное или 0): ');
readln(a);
if a = 0 then a := a * 3
else a := 0;
writeln('a=', a:5:2)
end.
6.
program task_6;
var
x, y, t: real;
begin
write('Привет! Введи два действительных числа через пробел: ');
readln(x, y);
if x > y then t := x * y
else t := x + y;
writeln('t=', t:5:2)
end.
2 уровень сложности
1. Даны два действительных числа X и Y, не равные друг другу. Заменить меньшее из этих чисел половиной их суммы, а большее – их удвоенным произведением. Программа должна иметь дружественный интерфейс.
2. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 1) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (1.5,2), (0,0), (-1.5, 1), (1,-1.2),
(-2,-1).
Рис.1
3. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 2) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (2.5, 2), (1,1), (0,0), (1,0), (2,-1).
Рис.2
4. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 3) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (0,0.8), (0,0), (-1.5,1), (1,1.5),
(-2,-1).
Рис.3
5. Составить на Паскале программу определения минимума из трёх чисел без использования логических операций. Программа должна иметь дружественный интерфейс (ввод данных осуществляться в режиме диалога). Протестировать программу на следующих исходных данных:
а) 2 5 1
б) 0 -2 8
в) -4 5 10
6. Разработать программу для подсчета количества отрицательных чисел среди целых чисел a, b, c. Программа должна иметь дружественный интерфейс. Протестировать программу для всех возможных случаев (когда количество отрицательных чисел равно 0, 1, 2 и 3).
1.
program task_1;
var
x, y, t: real;
begin
write('Привет! Введи два не равных действительных числа через пробел: ');
readln(x, y);
if x > y then
begin
t := y;
y := (x + y) / 2;
x := 2 * x * t
end
else begin
t := y;
y := 2 * x * y;
x := (x + t) / 2
end;
writeln('x=', x:5:2, ' y=', y:5:2)
end.
2.
program task_2;
var
x, y: real;
begin
write('Привет! Введи координаты точки А (х, у) через пробел: ');
readln(x, y);
if (x >= 0) and (y >= 0) then writeln('Принадлежит')
else writeln('Не принадлежит');
end.
3.
program task_3;
var
x, y: real;
begin
write('Привет! Введи координаты точки А (х, у) через пробел: ');
readln(x, y);
if (x >= 1) and (y >= 1) then writeln('Принадлежит')
else writeln('Не принадлежит');
end.
4.
program task_4;
var
x, y: real;
begin
write('Привет! Введи координаты точки А (х, у) через пробел: ');
readln(x, y);
if y >= 0.5 then writeln('Принадлежит')
else writeln('Не принадлежит');
end.
5.
program task_5;
var
a, b, c, min: integer;
begin
writeln('Введи три числа через пробел');
readln(a, b, c);
if b < a then min := b else min := a;
if c < min then min := c;
writeln('min=', min)
end.
6.
program task_6;
var
a, b, c, k: integer;
begin
write('Привет! Введи три целых числа через пробел: ');
readln(a, b, c);
k := 0;
if a < 0 then k := k + 1;
if b < 0 then k := k + 1;
if c < 0 then k := k + 1;
writeln('Количество отрицательных чисел=', k);
end.
3 уровень сложности
1. Составить на Паскале программу, которая по введённому номеру месяца выводит название времени года. При написании программы использовать логические операции. При неверном вводе месяца должно выдаваться сообщение об ошибке ввода и программа должна прекращать свою работу. Программа должна иметь дружественный интерфейс. Протестировать программу на всех целых числах от 0 до 13.
2. Треугольник задан длинами сторон А, В, С. Написать программу, определяющую, существует ли данный треугольник. Для решения этой задачи использовать сложные логические условия. Программа должна иметь дружественный интерфейс. Протестировать программу для следующих исходных данных:
а) A=3, B=4, C=5
б) A=1, B=1, C=1
в) A=0, B=4, C=5
г) A=-3, B=6, C=5
д) A=2, B=1, C=8
3. Разработать программу для отыскания max(min(a,b), min(c,d)), не используя сложные логические условия и вложенные ветвления. Числа a,b,c,d - целые. Программа должна иметь дружественный интерфейс. Протестировать программу для следующих исходных данных:
а) a=4 b=5 c=6 d=9
б) a=2 b=1 c=6 d=9
в) a=2 b=1 c=8 d=4
г) a=12 b=1 c=6 d=9
4. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 4) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (0,0), (1,0), (1.5,1), (-1,1.5), (-2,-1), (2,-1), (1,-1), (-1,1).
Рис. 4
5. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 5) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (0,0), (1.5,1), (2,1), (1,-1), (-0.5,-0.2), (-2,-1), (-1,-2), (-1,1), (-3, 1).
Рис.5
6. Точка А задана координатами X,Y. Написать программу, которая выводит слово «Принадлежит», если точка принадлежит заштрихованной области (см. рисунок 6) и «Не принадлежит» в противном случае. Программа должна иметь дружественный интерфейс. Протестировать программу для точек (0,0), (2,2), (0.5,0.5), (0.5,-1.5),
(-0.5,0.5), (-2,-1), (-1,-2), (-1,1), (2, 0).
Рис.6
1.
program task_1;
var
c: integer;
begin
write('Привет! Введи номер месяца: ');
readln(c);
if (c < 1) or (c > 12) then
begin
writeln('Ошибка, номер месяца не меньше 1 и не больше 12! Попробуй еще раз!');
Exit
end;
if (c = 12) or (c <= 2) then writeln('Зима');
if (c >= 3) and (c <= 5) then writeln('Весна');
if (c >= 6) and (c <= 8) then writeln('Лето');
if (c >= 9) and (c <= 11) then writeln('Осень');
end.
2.
program tasr_2;
var
a, b, c: integer;
begin
write('Введи длины сторон треугольника через про-бел');
readln(a, b, c);
if (a > 0) and (b > 0) and (c > 0) then
if((a + b) > c) and ((a + c) > b) and ((b + c) > a) then writeln('Треугольник существует')
else writeln('Такой треугольник не существует')
else writeln('Такой треугольник не существует')
end.
3.
program tasr_3;
var
a, b, c, d: integer;
min1, min2, max: integer;
begin
write('Введи a и b через пробел:');
readln(a, b);
write('Введи c и d через пробел:');
read(c, d);
if a > b then min1 := b else min1 := a;
if c > d then min2 := d else min2 := c;
if min1 > min2 then max := min1 else max := min2;
writeln('max=', max)
end.
4.
program tasr_4;
var
x, y: real;
begin
write('Введи координаты точка А x и y через пробел:');
readln(x, y);
if (x <= -1) or (x >= 1) then writeln('Принадлежит')
else writeln('Не принадлежит')
end.
5.
program tasr_5;
var
x, y: real;
begin
write('Введи координаты точка А x и y через пробел:');
readln(x, y);
if ((x <= 1.5) and (x >= -3) and (y >= 0) and (y <= 2)) or ((sqr(x) + sqr(y) <= 1) and (y <= 0) and y >= -1 and (x >= -1) and (x <= 1)) then writeln('Принадлежит')
else writeln('Не принадлежит')
end.
6.
program tasr_6;
var
x, y: real;
begin
write('Введи координаты точка А x и y через пробел:');
readln(x, y);
if ((x <= 1) and (x >= -1) and (y >= -2) and (y <= 0)) or ((sqr(x) + sqr(y) <= 1) and (y <= 1) and y >= 0 and (x >= -1) and (x <= 1)) then writeln('Принадлежит')
else writeln('Не принадлежит')
end.
*Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания.
*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением