Авторизация
или
или
Зарегистрироваться на сайте
Возник вопрос? Столкнулись с проблемой? Есть предложение?

Мы вам поможем!

Пишите нам на почту: [email protected] и мы вам ответим в ближайшее время, так же вы можете воспользоваться формой обратной связи прямо с сайта.

Последние комментарии
Сегодня, 10:44
Сделай красиво и полезно! Слетай на Дрес, его никто не любит, туда мало летают.
Вчера, 20:40
Тем, что когда в одной еще можно сидеть, другая является какой-то чертовщиной перепутанной
Вчера, 19:56
Извините, а чем отличается версия Тьмы от версии Тёмной стороны Силы?
Вчера, 18:48
Бесспорно заслужил плюс. Я бы так не смог!
zzz
Вчера, 00:37
эх, как давно это было...
16 октября 2017 23:41
Ну чота вот вообще не а-ля...
16 октября 2017 22:58
Надпись "АЛЯ - МРИЯ" как бы намекает нам о том, что это совсем и не реплика, а произведение технического гения по мотивам.
16 октября 2017 20:58
Твой комент принят к сведению.
16 октября 2017 20:51
Так оно и есть! Хотя, если посмотреть список моих произведений(ЭТО(МРИЯ) - всего единственный в нем)...
16 октября 2017 18:53
Ойб-----------я. 8 двиглов не у ан-225, хвост криво пародирует оригинал. Вспомнил статью года 2-3 назад в 0.25 с похожим творением. Завод на Магадане все также хорош.
16 октября 2017 17:34
Как-то навевает 0.25. Скорее даже напоминает первые самолёты начинающего игрока. Cодомит
16 октября 2017 15:37
все делалось по приколу, хотелось разработать что-то большое, летающее и грузоподъемное. Когда собрал, вспомнил про "МРИЮ". Но спасибо за советы. Скоро вашей критике предоставлю достаточно красивое, но абсолютно бесполезное сооружение. Скажу только название - "НЛО".
16 октября 2017 15:18
На телефоне и планшете открывалась полная или очень близкая к полной версия. Со всеми блоками полной версии. А не с одним блоком новостей.
16 октября 2017 14:50
Г-споди, зачем?..
16 октября 2017 14:28
Дизайн, который был на телефонной версии, это какая то жесть, постоянно уезжает, с этим хоть сайт нормально выглядит, никуда не ерзает.
16 октября 2017 12:24
Ущербную мобильную версию надо отключить и не включать, пока там не будет хотя бы кнопки "перейти на нормальную версию".
16 октября 2017 01:18
Кошмар верхних дыхательных путей.
16 октября 2017 00:15
Так о том и речь - без подписи что-то трудно догадаться, что это реплика Ан-225 - тут 8 движков и хвост вообще не такой. Можно посмотреть этот или этот пост, как мрию делали тут
16 октября 2017 00:10
Смотрим по любому скрину(кроме последнего). На крыле 3 двигателя, на хвосте - 1. Умножаем на 2 , получаем 8. А расположение... Как получилось. Хотя реальную "МРИЮ" поднимало всего 6 двигателей...
16 октября 2017 00:03
Есть некоторые сомнения по поводу числа и расположения двигателей... да и вообще страшненький самолет...
15 октября 2017 15:37
Внизу есть список "лучших". Я чойта не могу себя найти в списке. Зато там есть Space kraken, который забанен, и общий рейтинг которого меньше, чем рейтинг одного моего поста
15 октября 2017 15:05
А где картинки оценки рейтинга? Вон например чуть выше Panda5461 с рейтингом 9 а картинок "плюс" и "минус" возле цифры 9 нет.
15 октября 2017 15:05
Некорректно отображается после обновлений на сайте от 14.10.17 страница http://spacedock.ru/ksp/gaydy/5157-kratkoe-rukovodstvo-polzovatelya-remote-tech -2.html
15 октября 2017 13:31
надо будет станцию альфа-11 мой вариант сделать...
15 октября 2017 13:14
Пока на первое время убрали.
KMS
15 октября 2017 12:41
ни последних сообщений. И новости открываются лишь по клику на название - картинка не кликабельна.
15 октября 2017 12:30
Может быть сделать её отключаемой в настройках для авторизированных пользователей?
15 октября 2017 12:26
На огнелйсе с мобйлкй в новом старом дизайне нет ни чата, ни кнопки перехода на другой дизайн.
15 октября 2017 07:09
Не знаю... Мне понравилось. Только сделайте чтоб анимашка отображалась при посещении главной, а не на каждой странице.
Показать все

Изучаем kOS - Циклы [Гайд по kOS часть 2]

Доброго времени, друзья!


Если вы не читали первую часть гайда, то вам сюда -> ТЫКНИ МЕНЯ!

Добро пожаловать во вторую часть гайда по kOS. В этом разделе мы разберемся в циклах. Циклы по сути являются практически основной опорой работы большинства программ. Так почему же?

Цикл, позволяет нам проверять какие-либо значения и даже несколько значений одновременно и совершать для тех или иных условий необходимые нам действия. Если приведем небольшую аналогию. Дома,к примеру, мы должны проследить за чайником и ванной. Чайник греется и ванна набирается одновременно. Если бы мы следили без цикла, то мы бы стояли у чайника и ждали пока он вскипит, когда ванна затапливала уже крыс в подвале. Если бы мы следили циклом то мы бы постоянно бегали между кухней и ванной и смотрели бы за обоими предметами с небольшим промежутком времени. Аналогия понятна думаю.

Для чего нужны циклы:
- Для серьёзных программ с разветвленной системой выборов. (Посадка, КруизКонтроль, Перелёты, Авионики-помошники и т.п.)
- Для инфоэкранов, что бы всегда видеть на консоле актуальную информацию.
- Для тестов команд и изучения кОС. (Даже самую непонятную команду можно удачно прогнать циклом и точно понять как она работает)

Для простоты обучения я буду разбирать один цикл. Его хватит для всего. К тому же раньше особо больше циклов и не было, возможно с новыми обновлениями добавили еще чего, но это не имеет значение. 99,9% программ вы сможете заточить под этот цикл.

Итак-с команда UNTIL.

UNTIL с англ. переводится как - ДО, НЕ РАНЬШЕ, ДО ТЕХ ПОР ПОКА. И эти слова полностью описывают работу этой команды.

Пишеться это так:
UNTIL "УСЛОВИЕ"{
"ТЕЛО ЦИКЛА"
}

Фигурные скобочки обязательны(!) ставьте их сразу, и внутри них пишите цикл. Главное не перепутать принцип работы к примеру цикл:

UNTIL X=1{"ТЕЛО ЦИКЛА"
}

Будет работать до тех пор пока X не станет равен единице(!), а НЕ ПОКА Х=1. Это разграничение как раз есть в паскале, но тут я об этом решил не писать.

Тоесть к примеру нижеприведенная программа, пишет в столбик числа от 10,9,8.. и так до 1. Как только значение Х примет единицу и закончится тело цикла, цикл остановиться и код пойдет дальше. Просто в данном случае после цикла ничего нет поэтому программа завершиться.

SET X TO 10.
UNTIL X=0{Print X. SET X TO X-1.} \\ Напоминаю что можно писать команды в одну строку, главное правильно расставлять точки.

Очень важно понимать, что проверяется чему равен в вышеприведенном случае Х не 24 на 7, а только когда цикл заканчивается и идет на следующую итерацию. Один прогон цикла - называется Итерацией. Запомните это хорошее слово. В Вышеприведенном случае, на первой итерации цикла напечатается 10, на второй 9 и т.д.

Еще раз усвоили и повторили. Цикл UNTIL проверяет своё условие (работать ему или нет) ПЕРЕД каждой итерацией, не во время итерации, не после, а именно ПЕРЕД. Это на самом деле важно, потому что при составлении сложных программ это будет иметь значение, и нужно будет учитывать что именно ПЕРЕД. Опять же в паскале существует три вида циклов два из которых отличаются друг от друга тем, что один смотрит на условие перед выполнением цикла, а другой после его выполнения, но это так, лирическое отступление.

UNTIL можно использовать в команде WAIT. Сама комбинация слов Wait Until переводиться как - Жди до тех пор.

К примеру так:
Wait until GroundSpeed > 5. \\ Если перевести опять же дословно, то будет так - Жди до тех пор пока скорость относительно поверхности не будет выше 5 м\с
Wait until Altitude > 2000 \\ Жди до тех пор пока высота не будет выше 2000 м. Главное не перепутать.

К тому же Until немногочисленная команда после которой не стоит ставить точку, правда обязательно надо ставить квадртаные скобки.

Цикл Until можно сделать бесконечным, указав выходом из цикла переменную с таким значением, которого она никогда не достигнет или поступить еще проще написав
Until 0{"ТЕЛО ЦИКЛА"}

Для выхода из бесконечных циклов существует несколько команд (по сути одна, но если у вас после цикла кода больше нет, то можно изучить еще одну команду.)

Итак пример бесконечного цикла и команды BREAK.

Set x to 0. \\ Задаем Х значение 0
Until 0{ \\ Задаем бесконечный цикл
clearscreen. \\ Чистим экран. На каждой итерации очищает экран.
print X. \\ Пишим X на экран
set x to x+1. \\ Добавляем к Х единицу
wait 0.5. \\ Ждем пол секунды
IF X>10 BREAK.} \\ Если Х>10 используем команду BREAK.


Итак команда BREAK. Прерывает цикл. Ей неважно какие условия, какой цикл, что было в цикле и что будет, она просто его завершает и ваша программа продолжает выполнятся дальше(все что стоит после закрытие фигурных скобок.) Забавно, но BREAK не работает по условию WHEN THEN, а так же по условиям Action Group-ов. Вполне корректно она ведет себе на условии IF(если), и просто сама по себе без всяких условий. (Об условиях и мат логике мы поговорим в следующем гайде).

Если ваша программа состоит из Цикла и команд написанных до этого цикла, то остановка цикла, в большинстве случае будет эквивалентна завершению программы. Завершить программу можно простой командой REBOOT - перезагружает консоль. Команда REBOOT работает везде и в WHEN THEN и с помощью Action Group-а, и куда только его не вставь, но эта программа перезагрузит консоль и по сути сразу же завершит программу, как только сработает. К примеру в вышеописанном примере замена BREAK на REBOOT, имела по сути одинаковый результат.

Закрепим материал, подкрепив всё это дело основными тезисами о нашем цикле UNTIL.
Цикл UNTIL:
1. Переводиться как ДО, ДО ТЕХ ПОР ПОКА, НЕ РАНЬШЕ.
2. Повторяет ТЕЛО ЦИКЛА написаное в фигурных скобках после условия выполнения Цикла
("КОМАНДА UNTIL""УСЛОВИЕ"{"ТЕЛО ЦИКЛА"})
3. Проверяет условие на истинность ПЕРЕД каждой итерацией.
4. Можно использовать с командой Wait.
5. Можно задавать бесконечный цикл написав UNTIL 0 {"ТЕЛО ЦИКЛА"}
6. Не требует точек НИ ПЕРЕД открытием фигурных скобок НИ ПОСЛЕ ИХ ЗАКРЫТИЯ. (Внутри скобок точки обязательно должны быть расставлены)
7. Из бесконечного цикла можно выходить командой BREAK. или завершив программу и перезагрузив консоль командой REBOOT.
8. Может быть вложенным (Пока что не разбираем)

Ну и небольшая программка-бонусом:
Обратный отсчет перед стартом, отсчитывает от 10 до 1 после чего активирует ступень.

SET CD TO 10.
Until CD=0{
Set CD TO CD - 1.
WAIT 1.
PRINT "COUNTDOWN IS... "+CD.}
STAGE.


Итак, гайд получился достаточно компактным и разобрал одну небольшую тему. Тем не менее, тема достаточно важная и, я надеюсь, вы её хорошо усвоили. Следующий гайд будет по условиям и мат логике, по формату такой же как и этот. Ну а дальше мы уже в полной мере сможем без зазрения совести приступить к самому интересному - прикладной части нашего программирования. К сожалению, я немного не уложился в свои планы, я хотел выдать циклы, и условия одним гайдом, но боюсь у вас в головах возникнет каша "дружба народов":)

Надеюсь всем было интересно. Оставляте вопросы в теме на форуме и пишите свои отзывы в комментариях. С вами был Finn, до новых встреч!!
    Комментарии
    Подсветить мои комментарии
    1. veld 17 декабря 2015 22:59, Посетители, 22 #1
      Первейший бысть, и с отроковицей не возлежал!

      (читаю,хоть и не использую...Ибо интересно)
      -2
    2. Finn 17 декабря 2015 23:04, Стримеры, 14 #2
      Ая-яй переделаю завтра. В тексте есть вставки заключенные в знаки > и < и они не работают, видимо сайт их видит по другому. Не работают в плане там был текст, а в итоге он не показывается.... Завтра переделаю...
      -2
    3. Kerbiter 17 декабря 2015 23:06, Администраторы, 126 #3
      Мне интересно - что это за язык (к какому наиболее приближен?)
      -2
    4. Silver 18 декабря 2015 00:31, Гости, #4
      Мне Паскаль напоминает, когда я в него умел. Но это было так давно...
      -1
    5. veld 18 декабря 2015 02:40, Посетители, 22 #5
      Извините дилетанта....вначале UNTIL X=0{Print X. SET X TO X+1.}....может Х-1 ?
      -2
    6. Finn 18 декабря 2015 06:41, Стримеры, 14 #6
      *ИСПРАВЛЕНО* поправил пару очевидных смысловых ошибок, и переносов.
      -1
    7. DamnMan 18 декабря 2015 16:54, Посетители, 3 #7
      Цитата: Silver
      Но это было так давно...

      ...и неправда peka
      На самом деле тоже Паскаль изучал, и чет неинтересно стало, забросил(
      0
    8. Kerbiter 18 декабря 2015 17:51, Администраторы, 126 #8
      А я в нём щас разбираюсь)
      -1
    9. Finn 18 декабря 2015 19:42, Стримеры, 14 #9
      Паскаль некуда прикладывать, а кОС очень даже есть. В этом он конечно замечателен. Т.к. прикладной по кох некуда.
      -1
    10. Gonzales_Gonzo 20 декабря 2015 18:35, Посетители, 1 #10
      Плюс конечно по умолчанию за kOS,но циклы очень жиденько разобраны, одним UNTIL-ом мир не ограничивается.
      0
    11. Finn 20 декабря 2015 21:37, Стримеры, 14 #11
      В kOS других особо и нет\не было на момент моего изучения онного. Какие циклы ты предложил бы мне разобрать?
      -1
    12. Gonzales_Gonzo 20 декабря 2015 22:23, Посетители, 1 #12
      Как минимум если часть касается разборов циклов, стоит упомянуть что-то, кроме UNTIL и показать отличия в применении, например для FOR или FROM.
      Для гайда "запустить здесь и сейчас" в принципе достаточно любого работающего, но статья могла быть полнее, если показывать и другие варианты.
      -1
    13. lllypa 21 декабря 2015 17:35, Хорошие люди, 7 #13
      Оформляй в ворде, в виде одной книги. Получится пухленький мануал. Пока в рамках еже.. дневных ...недельных публикация хорошо, но когда работа будет завершена хотелось бы иметь сборничек.
      +1
    Гостям запрещено оставлять комментарии.
    Вам надо авторизироваться или зарегистрироваться на сайте.
    Войти или зарегистрироваться
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.