Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Pascal

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Pascal, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...
О решении конкретной задачи можно спросить в разделах
 
  • Задачи на Turbo Pascal 7.0
  • Платное решение задач
     

    просьба: все большие листинги оформлять тегом more
    и отключать графические смайлики при размещении кода (чек-бокс внизу под формой ввода)


    некоторые ссылки
     
    Общие ресурсы
     
  • Pascal на wiki (откуда можно начать :)
     
    Pascal на Руборде
     
  • общие вопросы программирования на языке Pascal
  • Задачи на Turbo Pascal 7.0
  • Компоненты и библиотеки Delphi
  • Свободные компоненты и утилиты для Delphi/FreePascal/Lazarus
  • Вопросы по IDE Embarcadero RAD Studio
     


    как правильно задавать вопросы
    для общей форумной культуры

  • Всего записей: 18473 | Зарегистр. 06-12-2002 | Отправлено: 08:42 01-03-2017 | Исправлено: akaGM, 06:47 21-05-2018
    KDPoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Последние пару раз, когда в моей жизни бывало goto...
    это было как-то так:

    Код:
     
    function Raschet: real;
    ...
    begin
      Result := 0;
      ... // много букв предварительной подготовки
      for i1 := b1 to e1 do
        for i2 := b2 to e2 do
    ...
          for i15 := b15 to e15 do
          begin
             tmpR := DoIt(i1, i2, ... i15, ...);
             if tmpR < 0 then
               // Всё пропало, решение не будет достигнуто, надо прибраться за собой и сваливать.
               goto ArcticFox;
          end;
    ...
        end;
      end;
      ArctixFox:;
    ... // много букв возвращения всего на исходные места.
    end;
     

    Когда больше двух вложенных циклов, условие прекращения внутри и нужно выбраться из всех, goto выглядит изящнее, чем if... break, на каждом уровне циклов или оборачивание try-ем и генерация exception внутри.
     
    Но потом, я стал пользоваться FixInsight...
    который нудит про методы больше 70 строк. В результате, не все методы стали меньше этого порога, но goto при этом исчез окончательно
    Получишь от анализатора тычок: "Ты что, Толстой?", посмотришь ещё раз на код, разобьёшь на три процедуры, и некошерное goto превращается в логичный exit

    Всего записей: 390 | Зарегистр. 08-08-2006 | Отправлено: 07:08 09-03-2017 | Исправлено: KDPoid, 07:10 09-03-2017
    asutp2

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM, эксепшены в делфи - один из основных способов обработки ошибок. Не знать этого - ай ай ай
     
    2All, лично я уже забыл, когда последний раз использовал goto. Наверное еще когда использовал Turbo Pascal 7 С тех пор много времени прошло, и мне сложно представить код, где goto нужен. while/repeat/if/case/raise/try..except покрывают абсолютно все алгоритмы....

    Всего записей: 619 | Зарегистр. 22-10-2004 | Отправлено: 07:40 09-03-2017 | Исправлено: asutp2, 07:48 09-03-2017
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    я всем сдаюсь...
     
    только перед этим последний ремарк:
     
    _доказано_ что в языке достаточно двух конструкций -- IF и GOTO
    а более -- он переопределён...
     

    Цитата:
    Не знать этого - ай ай ай
    я много чего не знаю...
    а ещё больше забыл...

    Всего записей: 18473 | Зарегистр. 06-12-2002 | Отправлено: 10:51 09-03-2017 | Исправлено: akaGM, 10:52 09-03-2017
    asutp2

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кем доказано? Пруфы в студию...

    Всего записей: 619 | Зарегистр. 22-10-2004 | Отправлено: 21:54 30-11-2017
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    или Кнут или Дейкстра...
    Цитата:
    я много чего не знаю...
    а ещё больше забыл...

     
    Добавлено:

    Цитата:
    двух конструкций
    ошибочка, не двух, а трёх:
    плюс оператор присваивания...

    Всего записей: 18473 | Зарегистр. 06-12-2002 | Отправлено: 10:32 03-12-2017
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а вот за последнее время я запсевдокодил два алгоритмана (на паскале), и думаю:
    ну и *удак я -- сейчас надо всё продавать...
    и это правильно, блин :(

    Всего записей: 18473 | Зарегистр. 06-12-2002 | Отправлено: 23:08 30-01-2018
    asutp2

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    akaGM
     
    не обязательно продавать) заливаешь на гитхаб проект (с реализацией алгоритмов), пиаришь его, получаешь моральный профит

    Всего записей: 619 | Зарегистр. 22-10-2004 | Отправлено: 23:12 27-02-2018
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Pascal

    Имя:
    Пароль:
    Сообщение

    Для вставки имени, кликните на нем.

    Опции сообщенияДобавить свою подпись
    Подписаться на получение ответов по e-mail
    Добавить тему в личные закладки
    Разрешить смайлики?
    Запретить коды



    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2018

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru

    Рейтинг.ru