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

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

- для передачи данных в функцию или процедуру надо использовать только параметры (глобальные переменные, т. е. переменные, объявленные вне функции, применять не рекомендуется);

- среди выполняемых инструкций функции обязательно должна быть инструкция присваивания имени функции значения функции;

- тип каждого фактического параметра (константы или переменной) в инструкции вызова функции или процедуры должен быть таким же, как тип соответствующего формального параметра, указанного при объявлении функции;

- если в инструкции объявления функции или процедуры перед именем формального параметра не стоит слово var, то при вызове функции или процедуры можно использовать в качестве формального параметра константу или переменную соответствующего типа. Если слово var указано, то формальным параметром может быть только переменная;

- если параметры функции используются для возврата результата в программу, вызвавшую функцию, то в объявлении функции перед именем соответствующего параметра должно присутствовать слово var.

Примеры решения задач

Задача 1.Даны действительные числа a, b, c. Вычислить

Основные теоретические сведения. Приступая к решению задач этого раздела, следует вспомнить, что: - student2.ru

Система тестов:

Значение A Значение B Значение C Результаты
-2 -3 0,25

Решение задачи:

Program Max_X_Y;

var

a, b, c, s : Real;

function f_max(x, y : real) : real; {описание функции}

begin {начинается тело функции}

if X>y then

f_max:=x

else

f_max:=y;

end;

begin {начинается тело программы}

Writeln('Введите a, b, c ');

Read(a,b,c);

s:= (f_max(a, a+b) + f_max(a, b+c)) / (1+f_max(a+b*c, 5));

Writeln('S= ',s);

Readln;

end.

Задача 2.Даны три вектора А, В, С, заданные своими координатами. Найти сумму А*В+B*С+A*C.

Система тестов:

Значение A Значение B Значение C Результаты
1,1,1 1,1,1 1,1,1
1,2,0 0,1,2 2,1,1

Решение задачи:

Program Vectors;

Type

Vect=array[1..3] of real; {объявление структуры типа вектора}

var

A,B,C:Vect;

function ProizvVect(x, y : Vect) : real;

var {объявлениелокальных переменных I и p}

i:integer; {I и p могут быть ипользаваны только в теле}

P:real; {функции}

Begin {начало тела функции}

For i:=1 to 3 do

P:=P+x[i]*y[i];

ProizvVect:=P;

end;

procedure ReadVect(var x:Vect); {процедура чтения массива}

var

i : integer;

begin

Writeln('Введите координаты вектора?');

For i:=1 to 3 do

read(x[i]);

end;

begin {начинается тело программы}

ReadVect(A);

ReadVect(B);

ReadVect(C);

Writeln('S= ', ProizvVect(A,B)+ProizvVect(B,C)+ProizvVect(A,C));

Readln;

Readln;

end.

Варианты заданий для самостоятельной работы

1. Даны натуральные числа n,m. Получить

S=(n!+(n-1)!+(n-2)!)/m!, n>=2;

2. Даны натуральные числа n. Получить

Основные теоретические сведения. Приступая к решению задач этого раздела, следует вспомнить, что: - student2.ru

3. Даны три вектора А, В, С, заданные своими координатами. Найти сумму S=А+B+A+C (Описать процедуру сложения векторов).

4. Даны три вектора А, В, С, заданные своими координатами. Найти сумму 3А+2В+4С (Описать процедуру умножения вектора на число.).

5. По заданным 5-элементным вещественным массивам A, B и C вычислить:

Основные теоретические сведения. Приступая к решению задач этого раздела, следует вспомнить, что: - student2.ru

здесь запись min – означает минимум по всем элементам массива.

6. По заданным 5-элементным вещественным массивам A, B и C вычислить:

Основные теоретические сведения. Приступая к решению задач этого раздела, следует вспомнить, что: - student2.ru

здесь запись Sum(X,n) – означает сумму n первых элементов массива.

7. Дан четырехугольник ABCD, заданный координатами его вершин на плоскости. Найти кратчайший путь от точки A до точки С.

8. Дан массив 10x10 (Array[1..10, 1..10] of char)- образ экрана. Определите процедуры построения:

а) горизонтальной линии;

b) вертикальной линии.

Нарисовать два прямоугольника на «экране».

9. Даны числа a, b, c, ….. Выяснить в каком из них сумма цифр больше (определить функцию.)

10. Дан массив целых чисел x [10]. Вывести на экран представление каждого из этих чисел в двоичной системе счисления (определить функцию.)

Список литературы

1. Андреева Т.А. Программирование на языке Pascal. - М.: Интернет-Университет Информационных Технологий, 2006.

2. Великович Л.С. , Цветкова М.С. Программирование для начинающих. - М.: БИНОМ, 2012.

3. Грызлова Т.П., Грызлов В.И. Туpбо Паскаль 7.0. - М.: ДМК Пресс, 2006.

4. Ильина С.В., Бурменский А.Д., Гринкруг Л.С., Тарануха Н.А. Обучение программированию: язык Pascal. Учебное пособие. - М.: СОЛОН-ПРЕСС, 2009.

5. Марченко А.И. Программирование в среде Turbo Pascal 7.0: Учеб. пособие для вузов / Под ред. В.П.Тарасенко. - 6-е изд. - Киев : ВЕК+, 2003.

6. Мишенин А.И. Сборник задач по программированию. Учебное пособие. - М.: Финансы и статистика, 2009

7. Окулов С.М. Основы программирования. - М.: БИНОМ, 2012.

8. Павловская Т.А. Программирование на языке высокого уровня Паскаль. - М.: Интернет-Университет Информационных Технологий, 2010.

9. Тишин В.И. Программирование на Паскале. Практикум. - М.: БИНОМ, 2013.

10. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: Издательство «ОМД Групп», 2003.

Электронные ресурсы:

1. www.agulib.adygnet.ru – Научная библиотека Адыгейского государственного университета.

2. www.biblioclub.ru – Университетская библиотека Online.

3. www.intuit.ru – Национальный открытый университет.

4. http://ips.ifmo.ru/courses/pascal – Учебный курс по языку программирования Pascal.

5. http://www.pascaler.ru – Курс обучения программированию на Turbo Pascal.

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