<span> общий алгоритмический метод для нахождения оптимальных решений различных задач оптимизации, особенно дискретной и комбинаторной оптимизации. По существу, метод является вариацией полного перебора с отсевом</span>
Var
a,n,i,k:integer;
Begin
Readln(n);
k:=0;
i:=0;
while i<n do
Begin
readln(a);
if a>0
then k:=k+1;
i:=i+1;
end;
Writeln(k);
End.
Если не будет хватать одного выполнения то напишешь "while i<n+1 do"
<em>// PascalABC.NET 3.3, сборка 1576 от 16.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(31,-10,12); a.Println;
Writeln('Дней с нулевой температурой- ',a.Where(t->t=0).Count);
Writeln('Дней с отрицательной температурой- ',a.Where(t->t<0).Count);
Writeln('Дней с положительной температурой- ',a.Where(t->t>0).Count);
end.
<u>Пример</u>
9 -8 0 -10 5 -10 5 -8 -5 8 -2 0 -7 -5 3 6 10 5 -5 1 5 5 10 -3 -3 6 8 7 6 7 12
Дней с нулевой температурой- 2
Дней с отрицательной температурой- 11
Дней с положительной температурой- 18
<u>Если хочется вводить с клавиатуры</u>, вместо строки
var a:=ArrRandom(n,-10,12); a.Println;
надо написать
var a:=ReadArrInteger('Введите температуру по дням'+NewLine,31);
Ну я думаю 32 * на столько сколько он сам стоит например 420
4.Основные свойства алгоритмов следующие:
1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.