русс | укр

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

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

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

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


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

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


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


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

Стpуктуpа оформления функции в программе:

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

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

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

BEGIN

{операторы функции}

<имя>:= <выражение>{обязательный оператор}

END;

Пример. Даны три массива A (5), B (5), C (5). Найти среднее арифме­тическое значение наименьших элементов массивов.

До написания программы разрабатывается СА главной программы (рис.10, а) и СА для подпрограммы нахождения наименьшего элемента в любом массиве (рис.10, б).

Отлаженная программа решения задачи имеет следующий вид:

Program lr8;

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

const a: mass=(5,2,7,1,8);

b: mass=(3,4,5,6,6);

c: mass=(3,8,5,2,6);

var

n: integer;

sr: real;

FUNCTION minim(d:mass):integer; {заголовок функции}

var

i, min: integer;

begin {начало блока операторов функции}

min:=d[1];

for i:=2 to 5 do

if d[i]<min then

min:=d[i];

writeln('минимальный элемент равен ',min);

minim:=min {имени функции присваивается значение}

end; {конец блока функции}

BEGIN

sr: = (minim(a) + minim(b) + minim(c))/3; {блок основной программы}

writeln('sr = ',sr:5:2); {три обращения к функции}

END.

 
 


 

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

Написать и отладить программы для задач из лабораторных работ 1 и 6 с применением подпрограммы - функции с параметрами. Вычисление функции (или обработку массива) выполнить в подпрограмме, а ввод ис­ходных данных и вывод результатов - в основной программе. Предусмот­реть, по крайней мере, два обращения к функции с различными фактичес­кими параметрами.

Для отладки программ использовать средства среды Турбо Паскаля (прил. 2): пошаговое исполнение программы (трассировку) с контролем значений переменных в окне отладчика Watch.



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

1. По заданным вещественным массивам A [1..6], B [1..6] и C [1..6] вычислить

(max B)/max A + (max C)/max(B+C) при min A < max B,

max(B+C) + max C в противном случае.

2. Даны две квадратные вещественные матрицы шестого порядка. Напечатать квадрат той из них, в которой наименьший след (сумма диагональных элементов), считая, что такая матрица одна.

3. Определить координаты центра тяжести трех материальных точек с массами m1,m2,m3 и координатами (x1,y1), (x2,y2), (x3,y3) по форму­лам

xc = (m1x1+m2x2+m3x3)/(m1+m2+m3), yc = (m1y1+m2y2+m3y3)/(m1+m2+m3).

Вычисление координаты оформить функцией с параметрами.

4. Вычислить все медианы для каждого из трех треугольников по заданным в массивах A, B, C сторонам: ma=0.5 , mb= 0.5 , mc=0.5 . Вычисление медианы оформить функцией.

5. Даны три одномерных массива вещественных чисел A [1..6], B [1..8] и С[1..7]. Найти общую сумму положительных элементов в масси­вах. Нахождение суммы элементов в массиве оформить функцией.

6. Даны два двумерных массива целых чисел с размерами (4х5) эле­ментов. Подсчитать количество отрицательных элементов в каждом из них.

7. Даны два одномерных массива целых чисел A [1..8] и B[1..8]. Найти сумму их максимальных элементов. Для нахождения максимального элемента в массиве использовать функцию.

8. Даны два двумерных массива целых чисел с размерами (5х5) эле­ментов каждый. Подсчитать произведение элементов главных диагоналей в каждом из них.

9. Даны три одномерных массива вещественных чисел A[1..6], B[1..8] и С[1..7]. Найти среднее геометрическое значение положитель­ных элементов для каждого.

10. Даны две матрицы целых чисел M[1..3,0..1], К[1..3,0..2]. Найти среднее арифметическое значение для каждой из них.

11. Даны три одномерных массива целых чисел A[1..6], B[1..8] и С[1..7]. Подсчитать количество неотрицательных элементов в каждом.

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

13. Даны два одномерных массива целых чисел A[1..6] и B[1..8]. Вычислить значение Z=(min A[i] + min B[j]) / min (A[i]+B[j]).

i j i, j

14. По заданным целым массивам X[0..7] и Y[8..15] вычислить

xi2 при xi yi+8>0,

yi2 в противном случае.

15. Дана матрица целых чисел D[1..6,1..5]. Найти наименьшую из сумм неотрицательных элементов строк матрицы. Для вычисления суммы использовать подпрограмму (функцию).

16. Дана матрица целых чисел E [1..3,1..5]. Используя функцию, найти среднее геометрическое значение для каждого столбца матрицы.

17. Дана матрица целых чисел F [1..4,1..5]. Найти наименьшие зна­чения элементов в каждой из строк матрицы с помощью функции.

18. Даны две квадратные вещественные матрицы шестого порядка. Напечатать квадрат той из них, в которой наименьший след (сумма диа­гональных элементов), считая, что такая матрица одна.

19. Сформировать двумерный массив 1 2 3 4 5

1 4 9 16 25

1 8 27 64 125

... .

Найти правило и оформить функцией вычисление любой строки.

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

Лабораторная работа 9



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


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


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

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

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


 


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

 
 

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

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