русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программирование с использованием процедур


Дата добавления: 2014-11-28; просмотров: 1033; Нарушение авторских прав


Цель работы: научиться разрабатывать и отлаживать программы с использованием процедур

Структура оформления процедуры:

PROCEDURE <имя>(формальные параметры);

{раздел описаний процедуры}

{описания вложенных процедур и функций}

BEGIN

{операторы подпрограммы}

END;

Пример. Ввести три массива A[1..3], B[1..4], C[1..5] процедурой "ввод". Вычислить средние арифметические значения в каждом из них.

Для решения задачи pазpаботана СА (pис.11), состоящая из ос­новной программы (а) и двух процедур: одной - для ввода элементов массива (б), другой - для определения среднего арифметического значения в массиве (в), а также следующая пpогpамма для реализации алгоритма:

Program lr9;

type mass = array[1..5] of integer;

var ka, kb, kc:byte;

a, b, c: mass;

PROCEDURE VVOD(Var d:mass; Var k:byte); {заголовок процедуры ввода}

Var

i: integer;

Begin {тело процедуры}

writeln('введите число элементов');

read(k);

writeln('введите массив из ', k,' элементов');

FOR i:=1 to k do read(d[i]);

end; {конец процедуры VVOD}

 

FUNCTION SR(k:byte;f:mass):real; {заголовок функции}

var i: byte;

S: integer;

Begin

S:=0;

for i:=1 to k do

S:=S+f [i];

SR:=S/k

End; {конец функции}

 
 

 

 


 

BEGIN {основная программа}

VVOD(a,ka); {обращение к процедур возвращающей в основную программу массив А и его размер}

writeln(‘srA=’,SR(ka,a):5:2); {обращение к функции SR}

VVOD()b,kb;

Writeln(‘srB=’,SR(kb,b):5:2);

VVOD(c,kc);

Writeln(‘srC=’,SR(kc,c):5:2);

END.

Задание 1 (программа 9_1)

Написать и отладить программу для задачи из лабораторной работы 7 с выделением алгоритма обработки или формирования массива. Организовать вызов процедуры с параметрами- массивами для двух наборов исходных данных. (Для ускорения отладки массив можно задать типизированной константой).



 

Задание 2 (программа 9_2)

1. Даны массивы A [1..6], B [1,,6], C [1..6]. Получить *B, B*С, *C.Вычисление произведения массивов оформить процедурой.

2. Даны массивы A [1..5], B [1..6]. Получить новые массивы путем сдвига элементов в массиве А на один разряд, а в массиве В - на два разряда вправо, освободившиеся слева элементы обнулить. Сдвиг элементов в массиве оформить подпрограммой.

3. Даны два одномерных массива А [1..6] и C [1..6]. Получить A2, С2, А*С. Перемножение массивов выполнить в подпрограмме.

4. Даны две матрицы целых чисел S [1..3,0..2], K [1..3,0..2], в которых имеется по два одинаковых числа. Найти и распечатать их значение и индексы.

5. Вычислить значение функции Z = x1+ex2, где x1, x2 - корни уравнения Aix2+Bix+Ci = 0, i = 1,2,..,N. Коэффициенты уравнения заданы в массивах A [1..N], B [1..n], C [1..N]. Для вычисления корней использовать процедуру.

6. Составить процедуру для переменных двух квадратных матриц, с помощью которой вычислить вторую, третью и четвертую степени матрицы M [1..5,1..5].

7. Даны массивы A [1..6], B [1..6], C [1..6]. Преобразовать их, каждому элемен-ту массива, присваивая значение, соседнего с ним справа. Последнему элементу присвоить значение первого.

8. По заданным вещественным массивам A[1..6], B[1..6] и С[1..6] вычислить (minAi)/maxAi+(maxCi)/min(Ci)+max(B+C)I/min(B+C)i.

9. Даны массивы A [1..6], B[1..8]. Выбрать из них положительные элементы и записать соответственно в массивы A [1..k] и B [1..k], где k<6, n<8; из отрицательных элементов сформировать массивы A2 [1..6-k],B2 [1..8-n].

10. Даны массивы A [1..6], B [1..6], C [1..6]. Переставить элементы в них таким образом, чтобы слева подряд были записаны отрицательные, а справа положитель-ные.

11. Даны две целые квадратные матрицы четного порядка. Элементы массивов с четными номерами строки и столбца заменить нулем (стереть). Напечатать полученные массивы.

12. Даны одномерные массивы A[1..6], B[1..8], C[1..10]. Записать их в виде матриц AA [1..3,1..2], BB [1..2,2..4], CC [1..5,1..2].

13. Даны две целые квадратные матрицы шестого порядка. Распечатать элементы главных диагоналей каждой из них и определить симметричность каждой матрицы относительно главной диагонали.

14. По заданным 10 элементам вещественных массивам A, B и С вычислить

15. Даны две матрицы целых чисел V (-1..2,0..3) W [1..3,0..2]. Сформировать из них одномерные массивы VV и WW, записывая элементы построчно.

16. Дана матрица чисел H [1..5,1..6]. Переставить столбцы матрицы таким образом, чтобы элементы первой строки матрицы были расположены в порядке возрастания их модулей. Перестановку двух столбцов матрицы реализовать процедурой.

17. Дана матрица чисел G [1..4,1..6]. Переставить элементы в матрице так, чтобы элементы каждого столбца матрицы были расположены в порядке возраста-ния их модулей. Перестановку элементов в столбце реализовать процедурой.

18. Даны массивы A [1..6], B [1..6], C [1..6]. Упорядочить элементы в них в порядке убывания их модулей.

19. Даны две матрицы целых чисел V [1..2,1..3], W [1..3,1..2]. Найти общие суммы элементов строк и столбцов, результаты сформировать в виде двух масси-вов.

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

 

 



<== предыдущая лекция | следующая лекция ==>
Программирование с использованием функций | Обработка символьных и строковых данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.049 сек.