9 км, путь К-Н-М-О
Объяснение:
Из пункта К можно попасть в Л или Н, при этом изначально для нас предпочтительнее Н, т.к. он короче на 1 км.
Глянем теперь на конечный пункт - из пункта О можно попасть только в пункт М, таким образом нам необходимо найти кратчайший путь из пункта К в пункт М.
Рассмотрим наиболее предпочтительный путь для начала: К-Н.
Можем ли мы попасть из пункта Н в путь М сразу? Да, за 4 км.
Сравним с ситуацией в пункте Л. Можем ли мы попасть в пункт М сразу? Да, тоже за 4 км.
Поскольку из Л и Н попасть в пункт М можно за 4 км, то мы сразу можем понять, что правильный путь это К-Н, потому что он выгоднее на 1 км изначально, а в дальнейшем пути одинаковые.
В результате чего у нас получается путь К-Н-М-О или 2+4+3 = 9 км.
Надеюсь, логика понятна :)
1) Program Massiv1;
Uses Crt;
var k:array[1..12] of real;
i,c:integer;
begin
clrscr;
write('Введите элементы массива k:');
c:=0;
for i:=1 to 12 do
begin
readln(k[i]);
if (k[i]<0) then Inc(c);
end;
writeln;
writeln;
for i:=1 to 12 do write(k[i]:4:4);
writeln;
writeln('Количество элементов <0:',c);
readkey;
end.
2) Program Massiv2;
Uses Crt;
var m:array[1..10] of integer;
i,c:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0;
for i:=1 to 10 do
begin
readln(m[i]);
if (m[i]=3) then Inc(c);
end;
writeln;
writeln;
for i:=1 to 12 do write(m[i]:4);
writeln;
writeln('Количество элементов =3:',c);
readkey;
end.
В третьем задании видимо имеется ввиду номер элемента этого массива, т.к по условию задачи массив у нас один.
3) Program Massiv3;
Uses Crt;
var m:array[1..8] of integer;
i,c,max:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0;
for i:=1 to 8 do readln(m[i]);
writeln;
writeln;
max:=m[1]
for i:=1 to 8 do
begin
if (m[i]>max) then
begin
max:=m[i];
c:=i
end;
write(m[i]:4);
end;
writeln('Индекс максимального элемента =:',c);
readkey;
end.
4) Program Massiv4;
Uses Crt;
var m:array[1..12] of integer;
i,c,max,sum:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0; sum:=0;
for i:=1 to 12 do readln(m[i]);
writeln;
writeln;
max:=m[1]
for i:=1 to 12 do
begin
if (m[i]>max) then
begin
max:=m[i];
c:=i
end;
write(m[i]:4);
end;
for i:=1 to c-1 do sum:=sum+m[i];
writeln('Количество элементов расположенных до max :',с-1);
writeln('Сумма элементов расположенных до max :',sum);
readkey;
end.
В пятом задании видимо имеется ввиду значения элементов массива меньшие чем сумма первого и последнего
5) Program Massiv5;
Uses Crt;
var k:array[1..15] of real;
sum:real;
i,c:integer;
begin
clrscr;
write('Введите элементы массива k:');
c:=0;
for i:=1 to 15 do readln(k[i]);
sum:=k[1]+k[15];
writeln;
writeln;
for i:=1 to 15 do
begin
write(k[i]:4:4);
if (k[i]<sum) tnen Inc(c);
end;
writeln;
writeln('Количество элементов :',c);
readkey;
end.
Поделитесь своими знаниями, ответьте на вопрос:
1. составьте программу, проверяющую, что введенное число является четным или нечетным 2. составьте программу, проверяющую, что введенное число делится без остатка на 3
var d:integer;
begin
readln(d);
if d mod 2 =0 then
Writeln('Четное')
else
Writeln('Не четное');
end.
//Задача 2
var d:integer;
begin
readln(d);
if d mod 3 =0 then
Writeln('Делится') else
Writeln('Не делится');
end.