Алгоритм – это понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату. Алгоритмы окружают нас повсюду: кулинарный рецепт - алгоритм приготовления блюда, инструкция по использованию стиральной машины и т.д.
Свойства алгоритмов. Понятность – каждый шаг представлен в форме, понятной исполнителю (на его языке). Дискретность – разбиение на отдельные элементарные шаги. Однозначность - детерминированность, определённость формулировок, не допускающая разных толкований (исполнителю должно быть точно понятно, какой шаг выполнять дальше). Результативность – получение результата после конечного числа шагов, предусматривающее все возможные варианты (последовательность шагов не должна быть бесконечной).
Способы записи алгоритмов словесный; табличный; графический; программа на алгоритмическом языке.
Исполнителем алгоритма может быть не только человек, но и автоматическое устройство (реальное или воображаемое). В этом случае шаги алгоритма часто называют командами и вводят их в устройство в той форме, в которой оно сможет их обрабатывать. Языки алгоритмического управления устройствами являются формальными. Алгоритм, представленный на языке устройства, называется программой для этого устройства.
Исполнителя характеризует: Системой команд Исполнителя называется совокупность всех команд, которые может выполнить Исполнитель. Совокупность всех действий, которые он может выполнить в ответ на эти команды, называется системой допустимых действий Исполнителя. Среда – это обстановка, в которой работает исполнитель Элементарное действие – действие, совершаемое исполнителем после вызова команды. Отказы. Возникают при вызове команды в недопустимом для данной команды состоянии среды.
// PascalABC.NET 3.3
begin
var a:=ReadSeqIntegerWhile(x->x<>0).ToArray;
Print(a.Count,a.Where(x->(x mod 2<>0)and(x mod 3=0)).Count);
end.
Пример:
20 87 15 46 61 0
5 2
Пояснение ребуса:
При "н" "т" катЕР
Ответ: принтер.
program Vyv;
var a,b,i:integer;
begin
write('Введите начало диапазона a = ');
readln(a);
write('Введите конец диапазона b = ');
readln(b);
for i:=a to b do
if (i<0) and (i mod 2 = 0) then write(i,' ; ')
end.