алгоритм- Система последовательных операций (в соответствии с определёнными правилами) для решения какой-н. задачи.
Многих пугает слово алгоритм, кажется, что это что-то сложное, но на деле это просто законченный набор инструкций. Получается, что вы используете алгоритмы и в обычной жизни, например, когда готовите по рецепту, или добираетесь по навигатору из точки А в точку Б, или решаете квадратное уравнение.
Когда разработчики говорят об алгоритмах, они имеют ввиду не все алгоритмы, а только популярные решения стандартных задач. Многие алгоритмы были придуманы ещё до компьютеров: например, алгоритм поразрядной сортировки был запатентован в девятнадцатом веке в США для обработки данных, полученных после переписи населения.
Поделитесь своими знаниями, ответьте на вопрос:
Между населёнными пунктами A, B, C, D, E, F построены дороги, протяженность которых(в километрах) приведена в таблице.Определите длину кратчайшего пути между пунктами А и Е. Передвигаться можно только подорогам, указанным в таблице.
Модуль сделаем с функцией проверки на чётность чисел.
Основную программу почти не менял - см. комментарии
Объяснение:
в модуле есть функция getChet которой передаётся число, и на после проверки возвращает чётное это число или нет
модуль
unit pr1u;
interface
function getChet(i:integer):boolean;
implementation
function getChet(i:integer):boolean;
begin
getChet := i mod 2 = 0;
end;
begin
end.
основная программа
program pr1;
(*добавляем модуль pr1u для использования в программе*)
uses crt, pr1u ;
var
a:array[1..100]of integer;
i,p,p0,p1,sum,temp,n,j:integer;
begin
clrscr;
write('n=');
read(n);
for i:=1 to n do begin
write('a[',i,']=');
read(a[i]);
end;
writeln;
p:=1;
for i:=1 to n do
(* тут идёт использование функции getChat из модуля pr1u, которая проверяет отправленное ей число на чётность*)
if getChet(i) then p:=p*a[i];
writeln('proizvedenie=',p);
writeln;
for i:=n downto 1 do
if a[i]=0 then p0:=i;
writeln('pervyi 0 v pozicii - ',p0);
writeln;
for i:=1 to n do
if a[i]=0 then p1:=i;
writeln('poslednii 0 v posicii - ',p1);
writeln;
sum:=0;
for i:=p0 to p1 do
sum:=sum+a[i];
writeln('summa=',sum);
writeln;
readkey;
end.