Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф(Лаб)ХТФ+ЭнФ(2).doc
Скачиваний:
30
Добавлен:
11.04.2015
Размер:
708.61 Кб
Скачать

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

  1. Зайти в Borland Pascal.

  2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера.

  3. Получить ответ для своих исходных данных.

  4. Набрать текст программы для решения задачи № 2 и получить ответ для контрольного примера.

  5. Получить ответ для своих исходных данных.

Дополнительное задание

  1. Вычислить с использованием подпрограммы-функции вычисления тангенса.

  2. Вычислить с использованием подпрограммы-функции вычисления котангенса.

  3. Вычислить с использованием подпрограммы-функции вычисления десятичного логарифма.

  4. Вычислить с использованием подпрограммы-функции вычисления логарифма по произвольному основанию.

  5. Вычислить с использованием подпрограммы-функции вычисления корня произвольной степени.

  6. В двумерном массиве Aизmстрок иnстолбцов вычислить сумму и среднее значение всех элементов с использованием подпрограммы-процедуры.

  7. В двумерном массиве Aизmстрок иnстолбцов вычислить максимальный и минимальный элементы с использованием подпрограммы-процедуры.

  8. В двумерном массиве Aизmстрок иnстолбцов вычислить сумму и количество элементов выше главной диагонали с использованием подпрограммы-процедуры.

  9. В двумерном массиве Aизmстрок иnстолбцов вычислить произведение и среднее значение элементов на главной диагонали с использованием подпрограммы-процедуры.

  10. В двумерном массиве Aизmстрок иnстолбцов вычислить максимальный и минимальный среди элементов ниже главной диагонали с использованием подпрограммы-процедуры.

Примеры задач

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

Program Lab6a;

Var

A:array[0..100] of real;

B,C,x:real;

i,n:integer;

Function Step(a,b:real):real;

begin

Step:=exp(b*ln(a));

end;

Begin

writeln('Введи n,x'); read(n,x);

writeln('Введи массив A');

for i:=0 to n do read(A[i]);

B:=Step(2.1,5)+Step(7,0.3);

C:=0;

for i:=0 to n do C:=C+A[i]*Step(x,i);

writeln('B=',B:10:3,' C=',C:10:3);

End.

Контрольный пример.

Исходные данные:

;

;

.

Результаты:

;

.

Задача 2. В двумерном массивеAиз 3 строк и 4 столбцов вычислить сумму и произведение отрицательных элементов с использованием подпрограммы-процедуры.

Program Lab6b;

Const m=3; n=4;

Type TT=array [1..m,1..n] of real;

Var A:TT; i,j:integer; s,p:real;

Procedure SumPro(B:TT; m,n:integer; var s,p:real);

var i,j:integer;

begin

s:=0; p:=1;

for i:=1 to m do

for j:=1 to n do

if B[i,j]<0 then

begin

s:=s+B[i,j];

p:=p*B[i,j];

end;

end;

Begin

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

SumPro(A,3,4,s,p);

writeln(s,p);

End.

Контрольный пример.

Исходные данные:

.

Результаты:

;

.

Контрольные вопросы

  1. Что такое подпрограмма? Перечислите виды подпрограмм.

  2. Какие элементы входят в описание подпрограммы?

  3. Что такое формальные и фактические параметры? Чем они отличаются?

  4. Что такое параметры-значения и параметры-переменные? Чем они отличаются?

  5. Что такое локальные и глобальные параметры? Чем они отличаются?

  6. Какой вид имеет заголовок описания функции? Что это означает?

  7. Какой вид имеет вызов функции? Что это означает?

  8. Какой вид имеет заголовок описания процедуры? Что это означает?

  9. Какой вид имеет вызов процедуры? Что это означает?

  10. Напишите, что означает каждая строка в вышеприведённых программах.

  11. Напишите программу к одной из задач дополнительного задания.