Самая сложная программа в паскале

Сколько миллионов строчек кода имеет самая сложная программа в мире? Что это за программа? На каком языке она написана?

  • Вопрос задан более трёх лет назад
  • 13885 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 12
[object Object]
/irony/ Если я скажу вам, что это за программа, мне придется вас убить
Ответ написан более трёх лет назад
Нравится 4 2 комментария

tuccar

Если это большой секрет, тогда просто скажите, к какой категории относится эта программа (операционная система, экспертная система и т.д.).

tuccar: скорее я имел в виду то, что она скорее всего имеет отношение к военной промышленности ибо она зачастую двигатель прогресса, как например произошло с интернетом. А военные тайны разглашать не любят

GavriKos

Все субъективно. Ядро линукса например реально большое, но если оно хорошо документировано, сделано по правилам ООП или чем то таким — то вполне можно разобраться. С другой стороны — погуглите на gamedev исходники игры «Щи». Вроде и не сильно много кода, но разобраться нереально без поллитры.

МОЯ ПЕРВАЯ ИГРА!(и она на языке Pascal ABC) «Hit the Casino».

Ответ написан более трёх лет назад
Нравится 3 3 комментария
ядро линукса написано на Си. Это к вопросу о ООП.

Сергей Протько: Не смотря на то, что ядро Линукса написано на Си, оно в полной мере использует концепцию ООП. В его коде полно примеров наследования и полиморфизма.

GavriKos

Сергей Протько ок, возможно, но пример я думаю понятен и так.
Недавно видел статью на хабре что в данный момент ядро на Linux имеет почти 7 млн строк кода
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Самая сложная? Помню в том году, меня попросили сайтик поправить. А там значительная кучка кода на php — на мой взгляд это была самая сложная программа в мире, особенно забавные куски полетели на говнокод. Но она не очень большая была — десяток файлов, да пяток тысяч строк кода, хотя не считал

Ответ написан более трёх лет назад
Нравится 2 1 комментарий

tuccar

Да, без юмора тоже нельзя.))
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
я просто оставлю это здесь pikabu.ru/story/petooh_2891418

maaGames

Погроммирую программы
1000 строк на ассемблере сложнее 10000 строк на паскале.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Suntechnic

Считается что OOo/LO. Over10000000 строк кода. И там сам черт ногу сломит.
Ответ написан более трёх лет назад
Нравится 1 2 комментария

tuccar

Поясните, пожалуйста, что это за программа?

Suntechnic

OpenOffice.org и LibreOffice.

globuzer

gezgrouvingus progreszive ombusgrander greyderzux

Читайте также:
Что значит оптимизировать программу

понятие сложности очень субъективно в нашем мире абстракций.
даже
int main()
< coutreturn 0;
>
с определенной степенью может показаться сложной. 🙂
а под понятие «самая сложная с количеством строк кода» лучше тогда задать вопрос — какая самая большая программа в исчислимости строк кода?
на этот счет , по количеству строк кода тоже можно развести много дискуссий, ибо понятие SLOC тоже в разных интерпретациях встречается и определяется на практике по разному.
для прикола: «самая сложная программа это та, которая рекурсивно запускает сама себя, плодя исходный код бесконечно, заполняя все вычислительные ресурсы вселенной. «

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Всё в мире относительно.
Сложные вещи могут быть и в совершенно небольшом количестве строк кода.
К примеру какой-нибудь код, который бы строил гиперболический параболоид, или другие сложные 3D фигуры по каким-то входным данным.

Хотя для кого-то это простая задача)

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
https://sitecoder.blogspot.com
ответ на вопрос кроется где-то тут
Ответ написан более трёх лет назад
Комментировать

Нравится Комментировать

Mrrl

Заводчик кардиганов

Может быть, это программа для машины Тьюринга с 6 состояниями, которая выводит 3.5*10^18267 единиц и останавливается? en.wikipedia.org/wiki/Busy_beaver

Ещё один вероятный кандидат — эмуляция игры «Жизнь» на ней самой (со скоростью 1/10000000). Там даже про язык сложно говорить.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Разработчик программного обеспечения

Не знаю что это за программа, но заниматься её поддержкой и доработкой не пожелаю и врагу)) Можно представить себе сколько за время её написания в ней накопилось говнокода))

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

программирование

  • Программирование

Можно ли получить цвет пикселя sampler2D в шейдерах?

  • 1 подписчик
  • вчера
  • 25 просмотров

программирование

  • Программирование

Нужно ли при разработке библиотеки следовать принципу одной ответственности?

  • 1 подписчик
  • 08 июн.
  • 118 просмотров

Источник: qna.habr.com

Сложные условия в паскале. алгоритм и пример программы реализации.

Информатика, информационные технологии

Циклы в Паскале. Цикл с уменьшением переменной. Цикл с переменной.

Цикл — многократно повторяющийся участок вычислительного процесса.

Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят об итерационном цикле.

В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл пока), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл до).

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

Читайте также:
Можно ли программу с одного компьютера на другой с помощью флешки

for переменная := значение 1 to значение 2 do оператор

for переменная := значение 1 downto значение 2 do оператор

Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.

Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.

Как и в случае использования оператора условного прехода, следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова do, поэтому, если вы хотите в цикле выполнить группу операторов, обязательно надо объединить их в составной оператор (окаймить операторными скобками begin … end). В противном случае будет сделана логическая ошибка программы.

Пример 1. Квадраты чисел от 2-х до 10-и.

for x:=2 to 10 do WriteLn(x*x);

Пример 2. Латинский алфавит.

for ch:=’A’ to ‘Z’ do Writeln(ch);

Пример 3. Использование цикла с downto.

for i:=10 downto 1 do WriteLn(i);

Пример 4. Использование составного оператора.

for x:=1 to 10 do begin

Циклы с условием. Алгоритм и пример программы-реализации.

Итерационные циклы с предусловием

while выражение do оператор

Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while.

Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.

Здесь также следует помнить, что позволяется использовать только один оператор после ключевого слова do. Если необходимо выполнить группу операторов, то стоит использовать составной оператор.

while xeps do x:=x/2;

Циклы с постусловием. Алгоритм и пример программы-реализации.

Статьи к прочтению:

  • Сложный полиморфизм или создание полиморфных объектов.
  • Сложное форматирование документов

Паскаль с нуля [ч6]. Циклы. While, repeat-until, for.

Похожие статьи:

  • Операторы цикла с пред и пост условием. различие. пример использования. Цикл с предусловием -цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела…
  • Основные структуры алгоритмов. реализация алгоритмов. Основные структуры алгоритмов — это ограниченный набор стандартных способов соединения отдельных блоков или структур блоков для выполнения типичных…

Источник: csaa.ru

Циклы в паскале

Циклы в паскале

Циклы — одна из самых больших тем в паскале , по совместительству одна из самых сложных.
Но так как сам по себе язык паскаль довольно простой , то и циклы не будут такими трудными для понимания.

Что такое цикл , для чего он нужен , как используется и другое

Читайте также:
Программа или программный продукт

Что такое цикл. Цикл — это повторения определенного участка кода N количество раз. Циклы также можно встретить в повседневной жизни и при этом довольно часто. Например : мыть посуду пока она не закончится.
Циклы имеют свои условия окончания , например : пока a больше b.

В языке программирования pascal предусмотрено 3 вида циклов. Первый цикл это for , второй — while, третий — repeat. Все они немного отличаются друг от друга и все же они довольно простые.

Цикл for :

Цикл for

Результат выполнения данной программы будет таким — на экран будут выведены цифры 1 , 2 , 3 , 4 и 5.
На картинке показано как именно записывается этот самый цикл for. Вначале пишется слово for далее мы обозначаем переменную — счетчик и задаем ей начальное значение , в нашем случае это переменная i ( i:= 1 ).
Её значение ( которое мы задали ) равно 1 , переменной — счетчику можно задать любое целое значение , например : 0,1,2,3 .
Важно запомнить , что переменная счетчик ( её тип ) должен быть целым !
Далее пишется слово to и после него целое число ( конечное значение переменной -счетчика ). В конце слово do ( делай ).

После слова do идет тело цикла ( команды ). Следует помнить о том , что в теле цикла выполняется только первая команда. Для того , чтобы в теле цикла выполнялось сразу несколько команд их следует заключать в блок begin end.

Цикл for

Коротко о том , как работает этот цикл , в чем его преимущество и как его можно использовать. Вначале работы цикла переменная i равна 1 , далее выполняется первый шаг цикла . После того , как тело цикла будет выполнено , переменная счетчик возрастает на 1.
Поэтому после переменная i равна двум. И так далее пока i не станет равна 5 , при этом тело цикла выполнится , когда переменная i равна 5.

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

Цикл for

Цикл while :

Отличие цикла while от цикла for заключается в том , что цикл while не имеет переменную счетчика . Аналог работы программы , которая выводит циклом for 5 цифр будет выглядеть так :

Цикл while

Как видно по картинке , в этом виде цикла есть только условие , в нашем случае это — пока i меньше либо равно 5 ( до цикла мы задали переменной i значение 1 ). Тело цикла заключается в блок begin end , так как они нужны для использования нескольких команд ( больше одной ) в цикле.
Внутри тела цикла увеличиваем переменную i , для того чтобы наш цикл мог закончиться , когда переменная i станет больше 5.

Немного о том , как работает данные цикл. Вначале работы цикла проверяется условие , если оно истинно , то выполняется тело цикла. После выполнения тела цикла снова проверяется условие , если оно истинно то тело выполнится ещё раз. И так далее пока условие не станет ложным. Как только условие становится ложным , тело цикла не выполняется и программа идет дальше.

Цикл repeat :

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru