19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
1 | |
Атрибут value в языке Алгол 6031.01.2022, 16:27. Показов 1490. Ответов 18
Тема: Что означает установка атрибута value при описании процедуры на языке Алгол 60
Вот пример: Код
real procedure Prcd (w,t,h); value t,h; real h; integer w,t; begin t:= 34; end
0
|
31.01.2022, 16:27 | |
Ответы с готовыми решениями:
18
Алгол Не могу понять ошибку (Алгол) Существует ли работающий компилятор языка Алгол? Как в классе создать атрибут типа массив (двумерный) и потом в других классах использовать этот атрибут? |
Администратор
|
|
31.01.2022, 16:53 | 2 |
Ixmil, однократное вычисление данного аргумента, если я правильно понял объяснение из Introduction to ALGOL 60 for those who have used other programming languages (стр. 23 PDF).
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
31.01.2022, 17:05 [ТС] | 3 |
Насколько я понял в Algol кроме процедур функций нет. А на макросы не похоже так как далее язык от Паскаля не очень отличается и вероятно процедуры предназначаются для подмены собой и функций то же. И в принципе интересует не означает ли атрибут value уточнения для переменных предназначенных для ввода данных в процедуру или же это уточнение для переменных назначаемых как те которые будут выдавать данные результата из процедуры хотя форма текста для этого бросковатая.
0
|
Администратор
|
|
31.01.2022, 17:21 | 4 |
Ixmil, я не знаю Алгол, но насколько я понял речь идет о параметрах процедуры, то есть то что вы описали как "означает ли атрибут value уточнения для переменных предназначенных для ввода данных в процедуру".
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
31.01.2022, 17:49 [ТС] | 6 |
У меня перевода нет. Значит volue может быть ограничение функциональности переменной когда она не глобальная и с ней не работает её рекурсивное преобразование когда переменную можно всё время увеличивать например на 1 и добиваться тем самым всякий раз разных чисел?
0
|
Супер-модератор
|
|
31.01.2022, 17:57 | 7 |
Еще одна цитата, из Algol Programming RM:
Часть value указывает, какие формальные параметры должны вызываться по значению. Когда формальный параметр вызывается по значению, формальному параметру присваивается значение соответствующего фактического параметра при вызове процедуры. После этого формальный параметр обрабатывается как переменная, локальная для тела процедуры. То есть любое изменение, внесенное в значение формального параметра, вызываемого по значению, не действует за пределами тела процедуры. Так понятнее? То есть, в приведенном выше примере, измененное значение t не будет передано в вызывающий код. Аналогично НЕ-var параметрам в Паскале, хоть заизменяйся, на выходе из подпрограммы об этом неизвестно.
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
31.01.2022, 22:18 [ТС] | 8 |
Как я понял с этими характеристиками
Характеристики: Переменная типа volue не распространяется за пределы процедуры где она одноразового типа и не может рекурсивно типово менять свои значения отталкиваясь всякий раз от значения собственного предыдущего. Вызывая процедуру с уточняемыми параметрами (вводом данных через переменные в процедуру) ввод в переменные означенные атрибутом volue выполняется не будет. Поскольку их значения меняется не будут. Спасибо. Так и не удалось проверить версию. Добавлено через 1 час 50 минут Компилятор кривой оказался и по одной команде после условного оператора или команды вывода текста на экран заглатывал. Но переменные объявленные при перечислении их в процедуре никуда не распространялись далее как и ожидалось.
0
|
Модератор
|
|
06.02.2022, 19:11 | 9 |
Ixmil, параметры без value (w в Вашем примере) передаются в Algol-60 "по имени", т.е. процедура
Prcd() должна выполняться так, как будто каждое упоминание w в тексте тела процедуры везде заменено на выражение, переданное как фактический первый параметр.value-параметры аналогичны обычным параметрам в Си.
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
08.02.2022, 17:51 [ТС] | 10 |
То что мне удалось набрать в компиляторе этого языка без парчи работало только соответственно известному мне синтаксису Паскаля. И практически Паскаль бы это всё и выполнил если бы на нём и писать.
Аналогии других языков обычно ссылаются на две разновидности которые потом выдают за что то эксклюзивное. Это Паскаль а в другом примере это Си. Зато учат то чему. Переводить высокий уровень на ассемблер.... Ихния ли это история. Спасибо за ваш ответ.
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
10.02.2022, 09:49 [ТС] | 12 |
Я решил глянуть этот язык что многие языки в сущьности повторяли синтаксис Паскаля. А потом я глянул что получалось не Паскаля а Аглола как какого-то образца которого они почему-то старались держаться. (Если не сказать что не способны были создать своё) Язык Оберон например - очередной клон Паскаля (Алгола). А у этого похоже на первый взгляд что функций нет (только процедуры), и прикрепляющихся модулей как в Паскале похоже тоже нет. С файлами похоже не работает принципиально.
0
|
Модератор
|
||||||
10.02.2022, 12:48 | 13 | |||||
Это оставлено на усмотрение реализаций за пределами стандарта.
Алгол не только для ЭВМ. Добавлено через 12 минут Есть встроенные функции. Нет отдельного ключевого слова для функций пользователя:
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
10.02.2022, 18:22 [ТС] | 14 |
Раньше не работало с объявлением типа переменной перед словом procedure. Но пока что не выяснил как доводить до обозначения переменной несущей результат «функции». В Паскале это общая то ли функция то ли переменная result. А процедура вида: integer procedure factorial(n) Пашет вот так: begin integer t t:= factorial(t); end finish »Символ стрелки в право» Добавлено через 29 минут Но почему-то когда отвечающий (врядли (ие)) хитрый - то он прав и не пойман и «сделал всё как надо» сделав 7 или 6 раскруток по мурыжению как и в любой другой своей теме с «ответом» и выгодами от вопросов (обсолютно с 13-но никакими). А я вожусь как со своими детьми. Замещать собой плохая примета она похожа на обмен ибо был неплохой самообман и чаще всего стрижка под возраст соответствующий. Вам зачем места то детские? Вы на болтунов не похожи ибо были для этого темы созданы. Я уже нашол ответ темы сам и там близко написанного не было. У меня для такого там отдельные есть темы со стихами например. Вы решили кого то проучить? Нечего выбирая учить после 18 тем более. После 18 - это чужое.
0
|
Модератор
|
||||||
10.02.2022, 19:21 | 15 | |||||
Есть на русском, например: Д. В. Бэкус, Ф. Л. Бауэр, Д. Грин, С. Кэтц, Д. Мак-Карти, П. Наур, Э. Д. Перлис, X. Рутисхаузер, К. Замельзон, Б. Вокуа, Д. Уэгстейн, А. Ван-Вэнгаарден, М. Вуджер, "Сообщение об алгоритмическом языке АЛГОЛ-60", Журнал вычислительной математики и математической физики, 1961, 1:2, 308–342 http://mi.mathnet.ru/zvmmf8039
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
11.02.2022, 18:22 [ТС] | 16 |
Ну хоть на этом спосибо. А то я задавал, задавал вопросы про физмат, про двигатели - и никто ничего водители не знал а далее ещё и осуждали. А кто осуждал - тот был общим молодцом (не носи его ноги).
Я уже стал задавать по профильные вопросы по программированию - и результат всё тот же. В Алгол-е ещё было когда описываемая процедура внутри себя имела описание другой процедуры по одинаковым правилам.
0
|
19 / 186 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
30.04.2022, 20:51 [ТС] | 18 |
Аглол отличный язык. Потому что его алгоритмы - содержат только алгоритмы построения логики. Этот язык обрабатывает только файлы, или выдаёт результаты вычисления на экран, он не работает с графикой, не работает со звуком. Поэтому в его алгоритмах - нет мусорного. Проблемы АйТи и толмуты все о ПК и айти были написаны только от замашки работы с графикой.
Без примеси проблем графики графики эти толмуты уменьшаются до вполне приемлемых, читабельных и усваиваемых. Не разбирая языка Аглол но беря его алгоритмы - не обманёшся в выборе актуальности. Алгол 60 более поздний и на 50-й не похож значительно. 50-й лучше.
0
|
Модератор
|
|||||||||||
01.05.2022, 07:08 | 19 | ||||||||||
- ох...
Алгол-60 - сильно устаревший язык. Когда-то он был неплох. Но сейчас... Хотя свое влияние он оказал. Алгол повлиял на многие языки. - передача по значению означает, что процедура/функция не получает доступ к области памяти, которая содержит значение параметра (копия создается в стеке). Передача по ссылке (раньше говорили "по наименованию") обеспечивает такой доступ. Другими словами, функция не может изменить значение переменной-параметра в вызывающей функции, если он передается по значению (и может - если по наименованию/ссылке). Вот иллюстрация этого принципа для языка VBA (MS Excel):
a до вызова= 6 36 a после вызова= 777 А теперь то же самое при передаче по значению:
a до вызова= 6 36 a после вызова= 6 Все ясно?
0
|
01.05.2022, 07:08 | |
01.05.2022, 07:08 | |
Помогаю со студенческими работами здесь
19
Получить атрибут href тега, если атрибут rel="canonical" Атрибут id и атрибут класса Для всех файлов, кроме текстовых, установить атрибут "Только для чтения", а для текстовых — атрибут "Архивный" Команды безусловного и условного переходов в языке Ассемблер. Реализация конструкции if-else на языке c++ как этот код на языке с++ будет выглядить на языке php? В соответствии с заданием, вычисления y1 и y2 запрограммируйте на языке ассемблера, вычисление y – на языке Конвертер для перевода программ на языке PHP в текст программы на языке Assembler Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |