Линейный - самый простой. Например, измерить стороны прямоугольника и найти его периметр. Начало - Измерить ширину, длину - Удвоить сумму длины и ширины - Записать ответ-периметр - Конец
Разветвляющийся - имеет условие, две "ветки". Ситуация на перекрестке. Начало - Подошли к перекрестку - Горит зеленый свет? - ветка "да": перейти дорогу ветка "нет": стоять и ждать зеленый свет - Конец
Цикл означает повтор какого-то действия, например, покраска стены. Начало - Подойти к стене и взять кисть и краску - начало цикла: обмакнуть кисть в краску и провести по стене, пока вся стена не будет закрашена - Убрать кисть и краску на место - Конец
Var n:integer; a:array[1..27] of string[15]= ('один','два','три','четыре','пять','шесть','семь','восемь','девять', 'десять','одиннадцать','двенадцать','тринадцать','четырнадцать', 'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать', 'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят', 'восемьдесят','девяносто'); begin write('N (1..99) = '); readln(N); if (n>=1)and(n<=19) then writeln(a[n]) else begin write(a[n div 10 + 18]); if n mod 10 <> 0 then write(' ',a[n mod 10]); writeln; end; end.
Начало - Измерить ширину, длину - Удвоить сумму длины и ширины - Записать ответ-периметр - Конец
Разветвляющийся - имеет условие, две "ветки". Ситуация на перекрестке.
Начало - Подошли к перекрестку - Горит зеленый свет? -
ветка "да": перейти дорогу
ветка "нет": стоять и ждать зеленый свет
- Конец
Цикл означает повтор какого-то действия, например, покраска стены.
Начало - Подойти к стене и взять кисть и краску -
начало цикла: обмакнуть кисть в краску и провести по стене,
пока вся стена не будет закрашена
- Убрать кисть и краску на место - Конец
a:array[1..27] of string[15]=
('один','два','три','четыре','пять','шесть','семь','восемь','девять',
'десять','одиннадцать','двенадцать','тринадцать','четырнадцать',
'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать',
'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят',
'восемьдесят','девяносто');
begin
write('N (1..99) = ');
readln(N);
if (n>=1)and(n<=19)
then writeln(a[n])
else begin
write(a[n div 10 + 18]);
if n mod 10 <> 0 then write(' ',a[n mod 10]);
writeln;
end;
end.
Пример:
N (1..99) = 46
сорок шесть