Язык программирования ABC PASCAL - [10]
3. Проанализируйте пример и постройте аналогичную программу, вычисляющую площади круга (по формуле s = πr>2). (2 балла)
4. Напишите программу, которая вводила бы с клавиатуры значения времени и скорости, вычисляла бы пройденный путь. (3 балла)
5. Напишите программу, которая вводила бы с клавиатуры 10 вещественных чисел и вычисляла бы их среднее арифметическое. (5 баллов)
6. * Напишите программу, которая вводила бы градусы, минуты и секунды дуги переводила их в градусы и его десятичные доли.
- 26 -
Тема №9. Подпрограммы-функции
При решении сложных задач разумно разбить алгоритм на несколько более простых составляющих. В языке Pascal существуют специальные средства для этого – подпрограммы. Есть два вида подпрограмм: процедуры и функции. Функция получает информацию от вызывающей программы через свои параметры. Параметры, описанные в заголовке функции, называются формальными параметрами. Параметры, указанные при вызове функции называют фактическими. Типы и число фактических параметров должны соответствовать типу и числу формальных параметров. Следующий пример иллюстрирует работу функций.
>Program Table;
>Uses CRT; // Подключение модулей
> // Описания функций, требующихся в программе
>function cube(x:real):real; // возведение в куб
>begin
> cube:=x*x*x; // имени функции присваивается значение
>end;
>function sign(x:real):integer; // вычисление знака числа
>begin
>if x>0 then sign:=1
>else if x=0 then sign:=0
>else sign:=-1;
>end;
> // ==== Начало главной программы ==========
> var a : real; // блок описания переменных
> const a1 = -5.0; // блок описания констант (постоянных)
> a2 = +5.0;
> st = 0.5;
>begin
> a:=a1;
>while (a<=a2) do
>begin
> writeln(a:4:1,cube (a):10:3,sign(a):3); // вызов функций
> a:=a+st;
>end;
>end.
Обратите внимание, что внутри тела функции (заключенного в операторные скобки begin … end) вы обязаны хотя бы один раз имени функции присвоить значение. В этой программе также используется новый материал, не связанный с функциями, – это константы. Значение констант задается через знак равенства (а не присваивания). Тип константы определяется из типа присваиваемого значения. Константы, в отличие от переменных, не могут менять свое значение.
- 27 -
Рассмотрим еще один пример, в котором функция имеет два параметра разного типа.
>Program Power2;
>Uses CRT;
>function power(x : real; n : integer) : real; // возведение в степень
> var i : integer; // локальные переменные r : real;
>begin
> r:=1.0;
>for i:=1 to n do r:=r*x; // накопление произведения
> power:=r; // результат присвоить имени функции
>end;
> // ==== Начало главной программы ================
> var i : integer; // блок описания переменных
>begin
>for i:=1 to 10 do
> writeln(i:2,power (2.0,i):6:0);
>end.
В данном примере функция имеет два формальных параметра (типа real и типа integer), а также две локальных переменных. Имена локальных переменных действуют только внутри тела функции. Переменная i в главной программе, и переменная i внутри функции – это две разных переменных. При вызове функции первый фактический параметр соответствует первому формальному параметру. Второй параметр – второму.
Задание 9 1. Модифицируйте последний пример таким образом, чтобы функция power вычисляла правильно не только натуральные степени, но и отрицательные.
Напоминание:
x>-n = 1 / x>n.
Подсказка: следует использовать оператор if, а также функцию abs(n), которая вычисляет модуль числа.
(5 баллов)
2. Напишите функцию, вычисляющую факториал числа n! =1•2•3• ... •n.
Подсказка: ее несложно сделать, путем модификации функции power.
(5-8 баллов)
- 28 -
Тема №10. Подпрограммы-процедуры
Для выполнения каких-либо действий (а не вычислений значений) существуют подпрограммы-процедуры. Они также могут принимать параметры, как и подпрограммыфункции. Давайте сразу проиллюстрируем работу процедуры на примере графической программы.
В стандартной графической библиотеке нет процедуры, рисующей треугольники. Давайте создадим такую процедуру и проверим ее работу.
>Program UseProc;
>Uses GraphABC;
> Procedure Triangle(x1,y1,x2,y2,x3,y3:integer);
> // Процедура рисует треугольник
>begin
> line(x1,y1,x2,y2);
> line(x2,y2,x3,y3);
> line(x3,y3,x1,y1);
>end;
> // Главная программа
>begin
> SetWindowSize(500,500);
> Triangle(100,200,400,300,250,150);
> Triangle(10,20,30,40,50,10);
>end.
Как мы видим, процедура Trianlge имеет шесть целочисленных параметров и вызывает функции трижды функции Line для соединения точек. Создав такую процедуру, мы можем использовать ее столько раз, сколько нам надо в главной программе.
Задание 10
1. Создайте еще несколько новых графических процедур, которые бы расширили возможность стандартной библиотеки (ромб, параллелограмм, и т.п.) (по 3-4 балла за каждую)
- 29 -
Модули (Units)
Вы, наверное, обратили внимание на неудобство, связанное с тем, что все подпрограммы (как процедуры, так и функции) размещаются перед главной программой. Хотелось бы разместить их в отдельную библиотеку. Такая возможность есть, её предоставляют модули.
Поместим описание процедуры Triangle в модуль MyGraph.
Unit MyGraph;
// Заголовок модуля. Имя файла модуля должно совпадать
// с именем модуля! Т.е. в нашем случае оно должно быть

Здоровые семейные отношения – это залог успешной полоролевой идентификации ребёнка. Начинаясь с рождения, процесс идентификации протекает непрерывно, с заострениями и актуализациями переживаний на кризисных этапах психосексуального развития. Одним из таких этапов является возраст эдипова комплекса. Конфликты и искажения воспитательного процесса на этом этапе никогда не проходят бесследно и могут с новой силой реанимироваться уже в подростковом возрасте. В пособии представлены основные критерии анализа и подходы к пониманию проблем половой идентификации ребёнка с помощью популярной рисуночной методики.

Предлагаемое методическое пособие рассчитано на студентов 1 курса всех форм обучения: очной (дневной, вечерней), при которой студенты слушают полный курс лекций по всем заявленным в пособии темам, и заочной, при которой студенты слушают краткий курс лекций и занимаются самостоятельной подготовкой к экзаменам и зачетам. Пособие содержит изложенную в краткой форме программу занятий, подробный тематический план-конспект по тридцати двум темам изучаемым в течение семестра, список рекомендованной к курсу лекций литературы, вопросы к экзаменам, темы рефератов, семинарских занятий, а также приблизительные темы дипломных и курсовых работ.

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.

Книга является пособием по истории русской литературы XX века (20-90-е годы). Она представляет собой первый том, за которым последует продолжение — «Литературный процесс» (в двух частях). Пособие призвано отразить современный научный взгляд на основные художественные ценности и тенденции развития русской литературы XX века.Издание предназначено для студентов филологических факультетов российских университетов, а также для аспирантов и преподавателей, — всех, кто занимается русской литературой.

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

В данном конспекте лекций в доступной форме изложены все основные вопросы по дисциплине «микроэкономика».Книга поможет получить основные знания и подготовиться к зачету или экзамену. Рекомендуется студентам экономических специальностей.