Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Подготовка к экзамену

Автор: -Мариша- 11.01.2008 22:44

Здравствуйте! Помогите со следуюшими вопросами:
1) Нужна инфо по трансляторам: интерпритаторы и компиляторы.
2) Оснвные операции в Pascal. Приоритет операций. Операции с битами информаций.
3) Как описывается константа-"запись".
4) Основные отличие процедур и функций.
Буду рада любой информации.

Автор: Client 11.01.2008 23:22

Интерпретатором называется транслятор , производящий покомандную обработку и выполнение исходной программы.

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

Отличия процедуры от функции:
1.В заголовке функции указывается имя типа описываемой функции
2.В теле функции должен быть хотя бы 1 оператор, который присваивает имени функции значение
3.Вызов функции может использоваться только в качестве операнда какого-либо выражения

Автор: volvo 11.01.2008 23:36

Цитата
3.Вызов функции может использоваться только в качестве операнда какого-либо выражения
Дезинформация... Функцию - как хочу, так и использую (Extended Syntax никто не отменял), а вот процедура - в любом случае НЕ может использоваться в выражениях smile.gif

Автор: Client 11.01.2008 23:38

Цитата
Функцию - как хочу, так и использую
Можно пример?
Ведь просто так нельзя написть, например
F(a);
F-имя функции

Автор: volvo 11.01.2008 23:44

Пример? Да пожалуйста:

{$X+}
function example(var x: integer): boolean;
begin
example := (x > 100);
inc(x);
end;

var x: integer;
begin
x := 10;
writeln(x);
example(x); { <--- Вот здесь меня не интересует, произошло ли превышение значения }
writeln(x);

x := 150;
writeln(example(x)); { <--- А здесь - заинтересовало... }
end.

Автор: Client 11.01.2008 23:56

Цитата
Пример? Да пожалуйста:
Спасибо, хороший пример good.gif
Тока я запутался…
Это получается что мы как бы записываем
writeln(x);
true;
но при этом не вызывает ошибки… Буду разбираться unsure.gif

Автор: мисс_граффити 12.01.2008 1:33

в помощь...

Цитата
Включает или выключает расширенный синтаксис Turbo Pascal.

Синтаксис: {$X+} или {$X-}
Значение по умолчанию: {$X+}
Тип: Глобальная
Команда меню: Options|Compiler|Extended syntax

Состояние $X+:
В состоянии $X+, функции могут использоваться как простые операторы - результат функции может быть отброшен.
Вообще, вычисления, выполняемые функцией представляются ее результатом, так что немного смысла его отбрасывать. Однако, в некоторых случаях, функция может выполнять несколько операций, основываясь на параметрах. В некоторых из этих случаев она может не производить результат.
В таких случаях, $X+ позволяет обрабатывать функцию как процедуру.
Директива $X+ не относится ко встроенным функциям (функциям, определенным в модуле System).
Режим $X+ также включает поддержку строк с заверщающим нулем, активизируя специальные правила, относящиеся ко встроенному типу PChar и нуль-основанным символьным массивам. Смотри модуль Strings для подробной информации.

Состояние $X-:
В заданном по умолчанию состоянии $X-, расширенный синтаксис выключен. Попытка использовать его вызовет ошибку.

Автор: -Мариша- 12.01.2008 16:21

Спасибо! А не подскажите, где найти информацию про модули. Особенно нужны назначения Strings и WinDos.

Автор: Гость 12.01.2008 16:40

Цитата(-Мариша- @ 12.01.2008 12:21) *

Спасибо! А не подскажите, где найти информацию про модули. Особенно нужны назначения Strings и WinDos.

И ещё что такое итерация?

Автор: volvo 12.01.2008 21:55

http://zeus.sai.msu.ru:7000/programming/bp70_lr/lr12.shtml

Более детальное описание Strings - здесь: http://zeus.sai.msu.ru:7000/programming/bp70_lr/lr18.shtml

Автор: -Мариша- 12.01.2008 23:34

Volvo, большое спосибо. Но у меня еще вопросы: Graph обеспечивает использование всех возможностей наиболее распрастроненных типов дисплейных адаптеров. А что такое адаптер?

Автор: Ozzя 14.01.2008 17:46

Цитата
А что такое адаптер?

http://www.glossary.ru/cgi-bin/gl_sch2.cgi?RCoklugkgvylw: