Изучение задачи, которую нужно решить через программу
<span> 1. </span>Определение:
-исходных данных
- результат
2. алгоритм будущей программы
3. создание программы
4. тестирование("контрольные точки" рассчитываются "руками" )
5. устранение ошибок
Var n,i,s:integer;
begin
write('n = '); readln(n);
s:=0;
for i:=1 to n do
if i mod 2 =0 then s:=s-i else s:=s+i;
writeln('s = ',s);
end.
Пример:
n = 10
s = -5
Можно так:
Const N = 10;
Var A:array[1..N] of integer;
i:integer;
Begin
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ');
End;
WriteLn;
For i:= N downto 1 do
Write(A[i],' ');
End.
и так:
Const N = 10;
Var A:array[1..N] of integer;
i:integer;
Begin
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ');
End;
WriteLn;
For i:= 1 to N do
Write(A[N-i+1],' ');
End.
1. Товарняк заезжает жопой в тупик, оставляет там 4 вагона и проезжает вперед по главной ветке.
2. Пассажирский проезжает тупик, затем сдает назад в тупик и забирает эти 4 вагона, затем проезжает вперед и сдает назад на главную ветку, где отцепляет 4 товарных вагона.
3. Пункты 1 и 2 повторяются еще два раза и позади пассажирского поезда окажется 12 вагонов товарняка.
4. Товарняк с оставшимися 3 вагонами сдает назад в тупик и пассажирский спокойно проезжает по своим делам. Миссия выполнена - пассажирский пропущен.
5. Товарняк проезжает вперед, затем сдает назад по главной ветке и забирает свои 12 вагонов.