- •Министерство российской федерации по связи и информатизации санкт-петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-бруевича
- •3. Оформить материалы домашнего задания в виде заготовки отчета, включающего:
- •1. 3. Методические указания по выполнению лабораторной работы
- •1. 4. Пример оформления отчета по лабораторной работе
- •А. Постановка задачи
- •Б. Разработка алгоритма
- •Г. Схема алгоритма
- •Д. Контрольный расчет
- •Е. Программа на языке Pascal
- •Линейные вычислительные процессы
- •Ж. Выводы
- •1. 5. Контрольные вопросы
- •2. 3. Методические указания по выполнению работы
- •Метод 1. Использование вложенных инструкций if then else
- •Метод 2. Использование сокращенной формы инструкции if
- •Д. Программа на языке Паскаль
- •2. 5. Контрольные вопросы
- •3. 4. Методические указания по выполнению работы
- •3. 5. Методические указания по выполнению контрольного расчета
- •3. 6. Контрольные вопросы
- •4. 3. Методические указания по выполнению лабораторной работы
- •Указания по организации циклического подалгоритма (ца).
- •4. 4. Вычисление суммы (произведения ) знакопеременного ряда
- •4. 5. Вычисление очередного слагаемого по рекуррентной формуле
- •4. 6. Методические указания по выполнению контрольного расчета
- •4. 7. Контрольные вопросы
- •5.3. Методические указания по выполнению работы
- •6. 4. Методические указания по выполнению лабораторной работы
- •6. 5. Контрольные вопросы
- •7. 3. Методические указания по выполнению лабораторной работы
- •Лабораторная работа 8 Обработка двумерных массивов
- •8. 1. Постановка задачи
- •8.2. Варианты заданий
- •8. 3. Методические указания по выполнению лабораторной работы
6. 4. Методические указания по выполнению лабораторной работы
В настоящей лабораторной работе необходимо вычислить значение величины в расчетную формулу, для которой входит несколько “похожих” сумм. Это делает целесообразным организацию функцию пользователя для вычисления входящих в расчетную формулу сумм.
При разработке функции пользователя можно поступить следующим образом. Вначале на основе анализа отдельных сумм напишем такое выражение для вычисления суммы, модификация которого позволит определить значения исходных сумм. Это оказывается возможным при введении некоторого количества параметров. Обратимся к задаче варианта 31. В расчетной формуле для этого варианта необходимо вычислить значение следующих двух сумм:
В данном примере искомое выражение для вычисления суммы может быть записано в следующем виде.
Сумма S1 может быть вычислена с помощью следующего вызова функции summa(1, n, 4, 1, 2), а сумма S2 – с помощью вызова функции summa(2, m, 1, 0, x).
Приведем реализацию программы для решения задачи варианта 31.
Program Lab6;
Uses
Crt;
Function Summa(n1, n2 : integer; a2, a1, a0 : Single) : Single;
Var
I : Integer;
S : Single;
Begin
S := 0;
For I := n1 To n2 Do
S := S + a2 * Sqr(I) + a1 * I + a0;
Summa := S;
End;
Var
n, m : Integer;
x, y : Single;
Begin
Write(‘n=’);
Readln(n);
Write(‘m=’);
Readln();
Write(‘x=’);
Readln(x);
Y := (1 + Summa(1, n, 4, 1, 2)) / (3 + Summa(2, m, 1, 0, x));
WriteLn(‘y=’, y : 8 : 3);
End.
В отчете по лабораторной работе следует привести две схемы алгоритма. Первая из них должна относиться к головной части программы, а вторая - к подпрограмме.
6. 5. Контрольные вопросы
-
Назначение подпрограмм.
-
Структура Pascal – программы при использовании подпрограмм.
-
Сравните два способа организации связи с подпрограммой: внешние переменные и параметры.
-
Почему переменные, действующие в головной части программы и “не работающие” в подпрограммах, следует описывать после описания подпрограмм.
-
Какие существуют способы передачи параметров в подпрограмму?
-
Опишите механизм передачи параметров по значению.
-
Опишите механизм передачи параметров по ссылке.
-
В чем состоит побочный эффект при использовании подпрограмм?
-
В чем состоит назначение локальных переменных?
-
Какова область видимости локальных переменных?
-
Достоинства и недостатки вложенных подпрограмм.
Лабораторная работа 7
Обработка одномерных массивов
7. 1. Постановка задачи
В настоящей лабораторной необходимо выполнить заданную обработку одномерного массива. Все основные действия необходимо выполнять с помощью подпрограмм (ввод исходных массивов, формирование новых массивов).
Даны числовые последовательности, состоящие из n элементов вещественного типа (n <= 20). Сформировать новые числовые последовательности в соответствии с заданным правилом (см. табл. 7.1).
7. 2. Варианты заданий
Варианты заданий приведены в табл. 7.1
Таблица 7. 1
N |
Задание |
1 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = (max_a + max_b) – (ai + bi) / 2, yi = (max_b + max_c) – (bi + ci) / 2, i = 1, 2, …, n. Здесь max_a, max_b и max_c – значения максимальных элементов числовых последовательностей a, b и c |
2 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = max ( ai, bi) / 2, yi= max (bi, ci ) / 2, i = 1, 2, …, n |
3 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = min (ai, bi) / 2, yi = min (bi, ci ) / 2, i = 1, 2, …, n |
4 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = max ( ai, bi , d) / 2, yi = max (bi, ci , d) / 2, i = 1, 2, …, n.; d – произвольное число
|
Продолжение табл. 7.1
N |
Задание |
5 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = min (ai, bi , r), yi= min ( bi, ci , r) , i = 1, 2, …, n.; r – произвольное число |
6 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = ( ai+ bi ) / 2, yi = ( bi+ci ) / 2, i = 1, 2, …, n |
7 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = , yi =, i = 1, 2, …, n |
8 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = , yi =, i = 1, 2, …, n |
9 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y. Формирование выполняется в два этапа. На первом этапе осуществляется нормировка исходных последовательностей a, b и с. В результате нормировки получаются последовательности а', b' и c'. Затем формируются последовательности x и y. , , , xi = а'i + b'i . yi = b'i + c'i, i = 1, 2, …, n |
10 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = max (), yi = max ( , ), i = 1, 2, …, n
|
Продолжение табл. 7.1
N |
Задание |
11 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y. Формирование выполняется в два этапа. На первом этапе осуществляется нормировка исходных последовательностей a, b и с. В результате нормировки получаются последовательности а', b' и c'. Затем формируются последовательности x и y. , , , xi = а'i + b'i .. yi = b'i + c'i, i = 1, 2, …, n |
12 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y. Формирование выполняется в два этапа. На первом этапе осуществляется нормировка исходных последовательностей a, b и с. В результате нормировки получаются последовательности а', b' и c'. Затем формируются последовательности x и y. , , , xi = а'i - b'i yi = b'i - c'i,
|
13 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi= ai + bn-i+1, yi = bi + cn-i+1, i = 1, 2, …, n |
14 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi= min (an-i+1, bi, r), yi= min ( bn-i+1 , ci, r) , i = 1, 2, …, n.; r – произвольное число |
15 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = min (an-i+1, bi), yi= min ( bn-i+1 , ci) , i = 1, 2, …, n.; r – произвольное число |
Окончание табл. 7.1
N |
Задание |
16 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi= max(an-i+1, bi , r), yi = max ( bn-i+1, ci, r) , i = 1, 2, …, n.; r – произвольное число |
17 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = ai* bi - yi = bi *ci - , i = 1, 2, …, n. |
18 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующими правилами ai, если ai >0 и bi >0 xi = bi , если ai< 0 и bi <0 0 в оставшихся случаях
bi , если bi >0 и ci>0 yi = ci, если bi<0 и ci<0 0 в оставшихся случаях i = 1, 2, …, n. |
19 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом xi = ai- bi - yi = bi - ci - , i = 1, 2, …, n. |
20 |
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующими правилами
ai, если ai >0 и bi <0 xi = bi , если ai< 0 и bi >0 0 в оставшихся случаях
bi , если bi >0 и ci<0 yi = ci, если bi<0 и ci>0 0 в оставшихся случаях i = 1, 2, …, n. |