ВНИМАНИЕ! На форуме началось голосование в конкурсе - астрофотография месяца - ИЮНЬ!
0 Пользователей и 1 Гость просматривают эту тему.
А есть ли возможность узнать TLE МКС не актуальные данные, а на определенную дату (несколько месяцев назад), может где-то хранится история изменений TLE?
program Z_16_D;var n : byte; { начальное направление движения: 1, 2, 3, 4 } k : byte; { управляющая команда 1-- поворот направо, 2-- поворот налево, 3-- поворот кругом } S : string;BEGIN Write('Ведите направление движение танка от 1 до 4 '); Read(n); { задали начальное направление } repeat Write('Задайте команду от 1 до 3 '); Read(k); if k=0 then break; { выход из цикла } case k of 1 : begin { определяем направление при команде --1-- направо и сожраняем в n новое значение направления } case n of 1 : begin S:='восток'; n:=2; end; 2 : begin S:='юг'; n:=3; end; 3 : begin S:='запад'; n:=4; end; 4 : begin S:='север'; n:=1; end; end; end; 2 : begin { определяем направление при команде --2-- налево и сохраняем в n новое значение направления } case n of 1 : begin S:='запад'; n:=4; end; 2 : begin S:='север'; n:=1; end; 3 : begin S:='восток'; n:=2; end; 4 : begin S:='юг'; n:=3; end; end; end; 3 : begin { определяем направление при команде --3-- кругом и сохраняем в n новое значение направления } case n of 1 : begin S:='юг'; n:=3; end; 2 : begin S:='запад'; n:=4; end; 3 : begin S:='север'; n:=1; end; 4 : begin S:='восток'; n:=2; end; end; end; else S:='кудыкину гору!' { выводит сообщение при ошибочных данных } end; Writeln('танк едет на ', S); { выводит результат-- направление танка } Readln; { останов } until false; { бесконечный цикл } END.
program Panzer;procedure change_direct(com:Byte; var direct:Byte); // типовые действия оформить как подпрограмму процедуру или функциюbegin case com of 1:if direct=4 then direct:=1 else Inc(direct); 2:if direct=1 then direct:=4 else Dec(direct); 3:if direct<3 then direct:=direct+2 else direct:=direct-2; end;end;var dire, cmnd : byte; // лучше присваивать говорящие идентификаторыconst NAME_DIR:array [1..4] of string=('North','East','South','West');begin Write('initial direction:1 -North, 2 - East, 3 - South, 4 -West '); ReadLn(dire); repeat Write('command: 1--turn right, 2-- turn left, 3-- turn around, 0 - quit '); ReadLn(cmnd); change_direct(cmnd,dire); if cmnd < 5 then Writeln('the tank is driving ', NAME_DIR[dire]) else Writeln('to hell ! '); until cmnd = 0; end.
x=int(input('Ведите направление движение танка от 1 до 4 '))-1a=[1,3,2]b=['север','восток','юг','запад']while True: print('танк едет на '+b[x]) c=int(input('0 - СТОП, 1 - направо, 2 - налево, 3 - кругом ')) if c==0: break x=(x+a[c-1])%4
Так чуть покороче, и легче воспринимать
Никакие массивы и процедуры я ещё не проходил.
change_direct(cmnd,dire);
case cmnd of 1:if dire=4 then dire:=1 else Inc(dire); 2:if dire=1 then dire:=4 else Dec(dire); 3:if dire<3 then dire:=dire+2 else dire:=dire-2; end;
dire -- это какая-то команда, или переменная?..
..Так, в принципе, решение у меня правильное, либо огород нагорожен?
const arr: array [1..3, 1..4] of Integer =((2, 3, 4, 1), (4, 1, 2, 3), (3, 4, 1, 2));direct := arr[cmd, direct];
Я так понимаю, что задача была на составление множественного выбора. Просто он не объясняет по тексту в главе, как решаются такие задачи, что надо вводить вложенные операторы CASE и вместо одного оператора пихать два в операторных скобках. Я, как бы, раньше учил программирование и то не сразу въехал, как надо изголиться, а те кто изучает с чистого листа, так, вообще, без подсказки не разберутся.dire -- это какая-то команда, или переменная? Для использоания MOD, там была предыдущая задача и при этом он дал подсказку, как осуществить решение, здесь он подсказки не дал.Так, в принципе, решение у меня правильное, либо огород нагорожен? То бишь, я сделал перебор команд и в каждой команде перебор направлений с запоминанием нового направления. Это правильно?Я сначала хотел найти сумму направление + команда, но оказалось, что эта сумма не образует никакой закономерности.
Проверил вашу прогу, обнаружил, что если даёшь команду = 4, то программа выдаёт ответ и не говорит, что это ошибка, т.к. команды 4-- нету.
обнаружил, что если даёшь команду = 4
сайты с олимпиадными задачами по программированию и автоматизированной системой тестирования
Я бы вам рекомендовал посмотреть сайты с олимпиадными задачами по программированию
Да и вообще тратить на них время, если вы не школьник, собирающий бонусные баллы для поступления. Потому что практического смысла они обычно не имеют и предназначены для вывихивания моска.
кто-то формочки рисует в бильдере/дельфи, там ессно не нужно знание алгоритмов и моск может быть как у первокурсницы чистый и наивный
А потом переписать их в духе ООП - уже для понимания объектно-ориентированной парадигмы.
А вот алгоритмы иногда приходится довольно замысловатые создавать.
break, а в ответах не прерывает