1. В школах всегда говорят, что лучший пример алгоритма - какой-нибудь кулинарный рецепт.
Линейный алгоритм приготовления колобка.
Колобок картофельный
Картофель (1,2 кг) ;
Яйца (2 шт.) ;
Мука пшеничная (100 г) ;
Сухари (60 г) ;
Жир для жарки (200 г) .
В протертый отварной картофель добавить 3 столовые ложки муки, желтки двух яиц. Хорошо перемешать, посолить и сформировать шарики. (От себя: для пикантности можно добавить мелко нарезанную копченую колбаску или ветчину) . Полученные шарики запанировать в муке, смочить во взбитых белках и обвалять в сухарях. Жарить в кипящем масле до готовности.
Можно еще по сусекам поскрести ;)
2. Ветвление. Сказку не помню, позор мне. Что-то про Илью Муромца. Вот где он стоял на распутье и выбирал дороги: направо пойдешь коня потеряешь, прямо пойдешь голову потеряешь, налево
<span>пойдешь и коня и голову потеряешь
</span>
BEGIN
Ввести число N, проверить, что оно 4-значное.
read(N);
if (N >= 1000) and (N <= 9999) then
begin
Найти 2 цифру
A2 = Int(N / 100) Mod 10;
Найти 4 цифру
A4 = N Mod 10;
Сравнить их
if A2 > A4 then write "Вторая цифра больше, чем четвертая";
if A2 < A4 then write "Вторая цифра меньше, чем четвертая";
if A2 = A4 then write "Вторая цифра равна четвертой";
else
write "Число должно быть 4-значным!";
end;
Конец
END.
Program n1;
var a: array[1..12] of integer;
i,sum: integer;
begin
randomize;
sum:=0;
writeln('исходный массив:');
for i:=1 to 12 do
begin
a[i]:=random(15);
write(a[i],' ');
if i mod 2=0 then sum:=sum+a[i];
end;
writeln;
writeln('сумма: ',sum);
end.
N =28.
Рассуждаем так. Начинаем с конца алгоритма.
В последнем цикле по его завершении N=0 , т.к. j в итоге равно 6, значит цикл проработал 6 раз. Соответственно N 6 раз уменьшали на а. Произведём обратную операцию, т.е. увеличим 0 на 3 6 раз. Получается N=18.
Аналогично действуем с первым циклом. i=2, значит цикл работал 2 раза. Значит N увеличиваем на b 2 раза. Т.е. 18 увеличиваем на 5+5. Итого N=28
1.
алг Девять
нач цел a,i,s
ввод a
| вывод a
s:=0;
нц пока a<>0
i:=mod(a,10);
a:=div(a,10);
если i=9
то s:=s+1;
все
кц
если s>1
то вывод "Цифр 9 в введенном числе больше одной - ", s
иначе если s=0
то вывод "Цифр 9 в введенном числе нет"
иначе вывод "Цифра 9 в введенном числе одна"
все;
все
кон
2.
алг ЧетНечет
нач цел a,i,s,k
ввод a
| вывод a
s:=0;
k:=0;
нц пока a<>0
i:=mod(a,10);
a:=div(a,10);
k:=k+1;
если mod(i,2)=0
то s:=s+1;
все
кц
если s=k
то вывод "Все цифры введенного числа четные "
иначе вывод "Не все цифры введенного числа четные"
все
кон
3.
алг Возрастание
нач цел a,i,s,k,d,z
ввод a
s:=0;
k:=0;
d:=0;
z:=1;
нц пока a<>0
i:=mod(a,10);
a:=div(a,10);
d:=s;
s:=i;
k:=k+1;
если d>s
то z:=z+1;
все
кц
если z=k
то вывод "Все цифры введенного числа идут в порядке возрастания"
иначе вывод "Не все цифры введенного числа идут в порядке возрастания"
все
кон