Сделайте дз по информтике (язык поскаль)
{ Программа №1 (урок 20.04.2020) }
program Prog01;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 12; { Присваиваем переменной x значение 12 }
x := x*2 - 4; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x < 20 then
writeln('*')
end.
{ Программа №2 (урок 20.04.2020) }
program Prog02;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 13; { Присваиваем переменной x значение 13 }
x := x*3 + 1; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x < 40 then
writeln('*')
else
writeln('**')
end.
{ Программа №3 (урок 20.04.2020) }
program Prog03;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 50; { Присваиваем переменной x значение 50 }
x := x*2 - x*2; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x = 0 then
writeln('*')
else
writeln('**')
end.
{ Программа №4 (урок 20.04.2020) }
program Prog04;
var
x, y: Integer; { Объявляем две переменные целого типа }
begin
x := 15; { Присваиваем переменной x значение 15 }
y := 71; { Присваиваем переменной y значение 71 }
{ Используем условный оператор }
if (y - x) < 56 then
writeln('*')
else
if (y - x) > 56 then
writeln('**')
else
writeln('***')
end.
{ Программа №5 (урок 20.04.2020) }
program Prog05;
var
x, y: Integer; { Объявляем две переменные целого типа }
begin
write('Введите значение переменной x: ');
readln(x); { Вводим с клавиатуры значение для x }
write('Введите значение переменной y: ');
readln(y); { Вводим с клавиатуры значение для y }
{ Используем условный оператор }
if ((x*2 - y) = 20) and ((x + y) = 25) then
writeln('*')
end.
Задания по уроку: изучив тексты программ-примеров, ответить на контрольные во Что именно (сколько «звёздочек») выведет программа №1 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №2 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №3 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №4 и почему (объяснить результат работы программы)?
Какие значения для x и для y нужно ввести с клавиатуры, чтобы программа №5 напечатала звёздочку (вычислить значения «на бумаге» и проверить в программе)?
#Ruby22
def f0(number, log)
return [number * number, "(" + log + ")^2 "]
end
def f1(number, log)
return [number - 2, log + " - 2"]
end
end_num = 79
for n in 1..5
for i in 0..2**n-1
s = ("000000000000000000000000000000" + i.to_s(2))[-n..-1]
start_num = 7
log = start_num.to_s
for k in 0..s.size-1
start_num, log = f0(start_num, log) if s[k] == "0"
start_num, log = f1(start_num, log) if s[k] == "1"
# break if start_num > end_num
end
# p [start_num, log, s, n]
if start_num == end_num then
log += " = " + end_num.to_s
p log
end
end
end
Непонятно, что за "надписи".
Предположим, что
1. "бабушка попросила"
2. "взяла лукошко"
3. "подошла к кусту"
4. "сорвала ягоду"
5. "сварили варенье"
тогда логика задачи будет следующей
бабушка попросила
Если Маша согласилась тогда
взяла лукошко
подошла к кусту
Если куст с ягодами Тогда
Пока (на кусте есть ягоды) и (лукошко пустое) Цикл
сорвала ягоду
КонецЦикла
КонецЕсли
сварили варенье
КонецЕсли
В принципе, если несколько кустов, нужен цикл обхода по кустам пока не наполнится лукошко.