Вот и выкручивайся с этим Паскалем!

Mar 05, 2024 21:50


Совсем недавно, кстати, рассказывая про алгоритм Краута разложения квадратной матрицы в произведение двух треугольных, столкнулся с недостатком языка Паскаль. Схема алгоритма там такая:

procedure UnsymDet (...; var fail: Boolean ( Read more... )

школа, программирование, computer science

Leave a comment

benjamin_vn March 6 2024, 21:45:51 UTC

Что значит нет в Паскале. А exit?

Reply

waspagv March 6 2024, 22:36:22 UTC

На какой странице тут про exit?
https://www.cs.utexas.edu/users/novak/iso7185.pdf

Reply

benjamin_vn March 6 2024, 22:56:57 UTC

Ты еще начни учить школьников четвертому фортрану :)

Де-факто стандартом паскаля является TP7.0, который поддерживает и некоммерческий freepascal, и коммерческий Delphi.

Reply

waspagv March 7 2024, 06:21:47 UTC

Ты, видимо, пропустил самый первый пост из этой серии: "Писать код ≠ программировать". Я учу не языку. А программы - это "алгоритмы + структуры данных", как писал классик. Коммерческие средства получают популярность по разным причинам, и их качество часто бывает не на первом месте. Поэтому я считаю, что начинать обучение на основе коммерческого языка - плохая идея. Поэтому четвертому Фортрану отдам дань только в исторической справке (хотя некоторым понадобится разбираться и в нем, но не на этапе школьного обучения, разумеется).

В те времена, когда Вирт придумывал Паскаль, основными коммерческими языками были как раз Фортран и Алгол-60, а так же очень специфический Кобол. И на них можно писать хорошие программы, но сначала хорошему программированию нужно научиться. Дейкстра в Нидерландах, Вирт в Швейцарии и, как ни странно, Ершов в СССР в разное время пришли к выводу, что коммерческие инструменты для обучения не годятся. А когда ты уже умеешь, освоить коммерческий язык труда не составит, но ты уже не вывалишь на нем несопровождаемое ( ... )

Reply

waspagv March 7 2024, 06:35:42 UTC

Кстати, про Delphi. Понадобился для одной студенческой задачи о движении ИСЗ эффективный (промышленный!) интегратор дифференциальных уравнений. Я обратился к Авдюшеву в Томский университет, где таких интеграторов высокого качества разработано несколько. Он мне прислал тексты программы. Попытка собрать их в среде Lazarus поначалу провалилась, потому что авторы использовали специфические особенности именно языка Delphi. К счастью, подходящими опциями Lazarus (а фактически - лежащий в его основе FreePascal) можно настроить на диалект Delphi. А ведь исходная задача - интегрирование ОДУ - вовсе не требовала каких-то специфических дельфийских средств. Студенты получили наглядный пример плохого подхода к созданию программ.

Приведу и противоположный (хороший) пример: Хайрер Э., Нёрсет С. "Решение обыкновенных дифференциальных уравнений: Нежесткие задачи".

Reply


Leave a comment

Up