Расширенный синтаксис вызова функций

В Паскале есть возможность вызывать функцию и не использовать то значение, которое она возвращает.

Иными словами, вызов функции может внешне выглядеть как вызов процедуры, например:

{$Х+} {Включаем расширенный синтаксис}

Function My.Func (var x : Integer) : Integer;

begin

if x<0 then x:=0

else MyFunc := x+10

end; {MyFunc}

var

i : Integer;

begin {main}

i := 1;

i := 2*MyFunc(i) -100; {Стандартный вызов функции}

MyFunc ( i ) {Расширенный синтаксис вызова}

end. {main}

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

С помощью расширенного синтаксиса нельзя вызывать стандартные функции.

Компиляция с учетом расширенного синтаксиса включается активным состоянием опции EXTENDED SYNTAX диалогового окна OPTIONS/COMPILER или глобальной директивой компилятора {$Х+}.

19.4.3 Решить задачу, используя рекурсивную подпрограмму

Номер варианта Выражение
Найти сумму цифр заданного натурального числа
Подсчитать количество цифр в заданном натуральном числе
Описать функцию С(m,n), где 0≤m≤n, для вычисления биномиального коэффициента Сmn по следующей формуле: С0nnn =1; Сmnmn-1m-1n-1 при 0<m<n
Описать рекурсивную функцию Root(a,b,ε), которая методом деления отрезка пополам находит с точностью ε корень уравнения f(x)=0 на отрезке [a,b] (считать , что ε>0, a<b), f(a)f(b)<0 и f(x) непрерывная и монотонная на отрезке [a,b] функция).
Описать функцию min(x) для определения минимального элемента линейного массива X? Введя вспомогательную рекурсивную функцию min1(k), находящую минимум среди последних элементов массива X, начиная с k- того.
Описать рекурсивную логическую функцию Simm(S,I,J), проверяющую, является ли симметричной часть строки S, начинающаяся i- м и заканчивающаяся j- м ее элементами.
Составить программу для вычисления наибольшего общего делителя двух натуральных чисел.
Составить программу для нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например для числа 1234 получаем результат 4321.
Составить программу для перевода данного натурального числа в двоичной системе счисления (2≤ p ≤9).
Дана символьная строка, представляющая собой запись натурального числа p- ичной системе счисления (2≤ p ≤9). Составить программу для перевода этого числа в десятичную систему счисления.
Составить программу для вычисления суммы: 1!+2!+3!+…..+n! (n≤15) Примечание. Тип результата значения функции – LongInt.
Составить программу для вычисления суммы: 2!+4!+6!+…..+n! (n≤16, n- четное) Примечание. Тип результата значения функции – LongInt
Дано n различных натуральных чисел. Напечатать все перестановки этих чисел.
Логическая функция возвращает true, если ее аргумент - простое число.
Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет более двух, если они стоят в конце строки после последней точки, если стоят после открывающегося парного знака препинания.

Программирование алгоритмов с использованием графического режима

Цель работы

20.1.1 Познакомиться со средствами компьютерной графики в Паскале

20.1.2 Составление программ с использованием графического режима

Приборы и оборудование

20.2.1 Free Pascal

20.2.2 ПЭВМ IBM PC/XT

20.2.3 Microsoft Word

20.2.4 Задание на выполнение работы в электронном варианте.

Порядок выполнения работы

20.3.1 Изучите средства компьютерной графики в Паскале

20.3.2 Выберите номер варианта, согласно списка в учебном журнале (Приложение А).

20.3.3 Составьте программу, используя команд графического режима

20.3.4 Результаты работы распечатайте на принтере.

20.3.4 Оформите лабораторную работу для сдачи преподавателю

Этапы работы

Основные понятия и средства компьютерной графики в Паскале

До сих пор мы использовали экран компьютера только для вывода символьной информации – чисел, текстов.

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

Появилась мощная графическая библиотека, организованная в модуль Graph.

Для его подключения в начале программы необходимо написать строку:

Uses Graph;

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

В графическом режиме можно из программы управлять состоянием каждого пиксела (точечного элемента) экрана.

Графические режимы отличаются:

• размером графической сетки (М х N, где М— число точек по горизонтали, N — число точек по вертикали);

• цветностью (число воспроизводимых на экране цветов).


Допустимые режимы зависят от типа монитора и соответствующего графического драйвера, используемого на компьютере.

Для установки графического режима экрана существуют соответствующие процедуры. В модуле Graph процедура установки графического режима экрана имеет следующий заголовок: Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Здесь Driver - переменная типа Integer, определяет тип графического драйвера;

Mode - переменная того же типа, задающая режим работы графического адаптера;

Path - выражение типа String, содержащее имя файла драйвера и, возможно, маршрут его поиска.

Наши рекомендации