66574

Освоєння технології структурного та модульного програмування при розробці й створенні програми мовою Турбо Паскаль при реалізації на ПЕОМ задач з використанням процедур

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

Информатика, кибернетика и программирование

Дослідити роботу операторів процедур мови Паскаль; знати призначення, форму запису та особливості вживання процедур. Освоїти методику складання, відладки та розв’язання Паскаль-програм (ПП) з використанням процедур на ПЕОМ.

Украинкский

2014-08-22

118 KB

0 чел.

ЛАБОРАТОРНА РОБОТА № 8

Освоєння технології структурного та модульного програмування

при розробці й створенні програми мовою Турбо Паскаль

при реалізації на ПЕОМ задач з використанням процедур

Мета роботи

Дослідити роботу операторів процедур мови Паскаль; знати призначення, форму запису та особливості вживання процедур. Освоїти методику складання, відладки та розвязання Паскаль-програм (ПП) з використанням процедур на ПЕОМ.

Теоретичні відомості

Процедури і функції по своїй структурі подібні звичайним програмам і мають загальну назву – підпрограми. Застосування підпрограм дає можливість зменшити число повторень однієї і тієї ж послідовності операторів, а так само конструювати програму, як набір окремих підпрограм. Для складних задач це істотно спрощує процес програмування.

У процедурах і функціях, як і в звичайних програмах, можуть бути описані власні мітки, константи, типи, власні змінні і навіть власні процедури і функції.

Опис кожної процедури починається з заголовка, в якому задається ім'я процедури і список формальних параметрів із указівкою їх типів; процедура може бути і без параметрів, тоді в заголовку вказується тільки її ім'я. За допомогою параметрів здійснюється передача вихідних даних у процедуру, а також передача результатів роботи назад у програму.

Загальна форма запису заголовка процедури:

procedure <ім'я процедури> (<список формальних параметрів>);

Список формальних параметрів може містити в собі параметри-значення, параметри-змінні, перед якими повинне стояти зарезервоване слово var, і деякі інші категорії формальних параметрів.

Виклик і виконання процедури здійснюється за допомогою оператора процедури:

<ім'я процедури>(<список фактичних параметрів>);

Розглянемо послідовно етапи створення програми з процедурами на конкретному прикладі.

1. Умова завдання:

Дано матриці A(4,4), B(3,4), C(2,5). Поділити кожний рядок матриці на максимальний елемент у цьому рядку. Введення, виведення матриці, перетворення матриці оформити у вигляді окремих підпрограм.

2. Створимо ПП з коментарями та відступами

Див. рис. 1.

Program MatrABC;

Uses

Crt;

Type

MatrType = Array[l..5O,l..5O] of Real;

Var

A, B, C : MatrType;

Procedure Vvod(Var D:MatrType; n, m:Integer; Ch:Char);

LD - Bsonumuu Maccus, n, m - ero paamepxocru,

Var

i, j : Integer;

Begin

for i:=l to n do

for j:=l to m do

begid

write(Chl:[:l ii '1'! jl '1 = ');

ReadLn(D[i,j])

end

End;

Procedure Vyvod(Var D:MatrIype; n, m:Integer);

Var

i, j : Integer;

Begin

for i:=l to n do

begin

for j:=l to m do

firite(D[i,j]:5:2, ' ');

WriteLn

end

End;

Procedure DivStr(Var D:MatrType; n, m:Integer);

far

Bax : Real; {M&KC. saaq. an-Ia}

i, 3 : Integer;

Begin

for i;=l to n do

begin

Max:fD[i,l];

for 3:=Q to m do

if D[i,3] > Max then

Qax:=D[i,3];

for qzfl to Q do

d D[i,j]:=D[i,j]/Max

en

End;

Begin

ClrScr;

WriteLn('Vvedite massiv A(4,4)');

Vvod(A, 4, 4, 'A'); {Bson Maccusa A}

DivStr(A, 4, 4); {Hpeo6pa3oBaxme A}

WriteLn('Preobrazovanniy massiv A‘)

Vyvod(A, 4, 4); {Bmson Maccnsa 3

WriteLn,

WriteLn('Vvedite massiv B(3,4)');

Vvod(B, 3, 4 'B'); {Baon Maccmsa B

DivStr(B, 3,,4); {Hpeo6pa3oBaxue B

NriteLn('Preobrazovanniy massiv B’)

Vyyod(B, 5, 4);

WriteLn;

js

I

J

F

-.1

Рис. 1. Текст програми

Програма роботи .

3.1. Записати вказаний викладачем варіант завдання. Вивчити рекомендовану літературу та конспект лекцій.

3.2. Програмування задачи:

– скласти ПП рішення задачи на ПЕОМ.

3.3. Оформлення звіту

Звіт повинен мати:

– номер лабораторної роботи та їх назву;

– умову задачі та дані свого варіанту;

– лістінг ПП з коментарями та відступами, яка використовує підпрограми;

– підготований тест для свого варіанту задачі;

– скріншот результатів роботи ПП.

4. Варіанти завдань

Варіанти завдань наведені в табл. 8 та обираються студентом згідно номера у журналі групи.


Таблица 7. Варианты задач с процедурами

  1.  Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю под главной диагональю и на главной диагонали. Ввод, вывод матрицы и вычисление сумм оформить в виде отдельных процедур.
  2.  Даны матрицы А(4,3) и В(3,5). Для каждой матрицы найти наибольший и наименьший элементы главной диагонали. Ввод матрицы и поиск минимального и  максимального элементов оформить в виде отдельных процедур.
  3.  Даны матрицы А(NxM) и В(MxN ).Вычислить АхВ и ВхА. Ввод, вывод матрицы и умножение матриц оформить в виде отдельных процедур.
  4.  Даны матрицы А(4,3) и В(3,5). Найти средние геометрические положительных элементов каждой строки матриц. Ввод, вывод матрицы и поиск средних геометрических оформить в виде отдельных процедур.
  5.  Даны матрицы А(6,3) и В(4,5).Найти наибольший элемент каждой матрицы и записать 1 в ту строку и столбец, в которых он находится. Ввод, вывод матрицы и преобразование матрицы оформить в виде отдельных процедур.
  6.  Даны матрицы А(3,4) и В(5,2).Построить новые матрицы , поменяв местами строки и столбцы. Ввод, вывод матрицы и транспонирование матрицы оформить в виде отдельных процедур.
  7.  Даны матрицы А(6,2) и В(4,5).Найти наибольший элемент каждой матрицы и номера строк и столбцов, в которых он находится. Ввод, вывод матрицы и поиск максимального элемента оформить в виде отдельных процедур.
  8.  Даны матрицы А(4,4) и В(3,4).Найти наименьший элемент каждой матрицы и записать в строку, где находится этот элемент 10. Ввод, вывод матрицы и преобразование матрицы оформить в виде отдельных процедур.
  9.  Даны матрицы А(4,5) и В(5,5). Для каждой матрицы вычислить сумму элементов строк и определить наименьшее значение этих сумм и номер соответствующей строки. Ввод, вывод матрицы и поиск номера строки оформить в виде отдельных процедур.
  10.  Даны матрицы А(3,3) и В(4,5).Определить количество положительных и отрицательных элементов матриц. Ввод, вывод матрицы и поиск количества положительных и отрицательных  в виде отдельных процедур.
  11.  Даны матрицы А(5,2) и В(3,2). Для каждой матрицы найти наибольшие элементы каждой строки матрицы и записать их в одномерный массив. Ввод, вывод матрицы и формирование одномерного массива оформить в виде отдельных процедур.
  12.  Даны  матрицы А(3,3), В(5,5), С(4,4). Найти произведения: АЕ, ЕВ, СЕ, где Е - единичная матрица. Ввод матрицы, вывод матрицы, перемножение матриц, формирование единичной матрицы оформить как отдельные подпрограммы.
  13.  Даны три матрицы А(4,3), В(5,4), С(5,4) и два действительных числа x и y. Найти x*A, y*B, x*C+y*B. Ввод матрицы, вывод матрицы, сложение матриц, умножение матрицы на число оформить как отдельные подпрограммы.
  14.  Даны три матрицы А(4,3), В(5,4), С(5,5). Найти AТ, BT, CT, где AТ, BT, CT- транспонированные матрицы. Ввод матрицы, вывод матрицы, транспонирование матрицы оформить как отдельные подпрограммы.
  15.  Даны  матрицы А(3,5), В(5,2), С(4,6). В каждой матрице поменять местами первую и последнюю строки. Ввод матрицы, вывод матрицы, обмен строк оформить как отдельные подпрограммы.
  16.  Даны  матрицы А(4,5), В(5,3), С(4,6). В каждой матрице поменять местами первый и последний столбцы. Ввод матрицы, вывод матрицы, обмен столбцов оформить как отдельные подпрограммы.
  17.  Даны  матрицы А(3,5), В(5,2), С(4,6). В каждой матрице определить местоположение максимального элемента. Ввод матрицы, поиск местоположения максимального элемента оформить как отдельные подпрограммы.
  18.  Даны  матрицы А(4,5), В(5,3), С(4,6). Образовать три новых матрицы путем деления каждого элемента исходной матрицы на среднее арифметическое ее элементов. Ввод матрицы, вывод матрицы, преобразование матриц оформить как отдельные подпрограммы.
  19.  Даны  матрицы А(3,3), В(5,5), С(4,4). В каждой матрице поменять местами элементы, стоящие на главной и побочной диагонали. Ввод матрицы, вывод матрицы, преобразование матрицы оформить как отдельные подпрограммы.
  20.  Даны  матрицы А(3,3), В(5,5), С(4,4). Для каждой матрицы вычислить сумму элементов главной диагонали. Ввод матрицы, вычисление суммы элементов главной диагонали оформить как отдельные подпрограммы.
  21.  Даны  матрицы А(3,5), В(5,2), С(4,6). Для каждой матрицы вычислить суммы строк. Ввод матрицы, вычисление сумм строк, вывод вектора оформить как отдельные подпрограммы.
  22.  Даны  матрицы А(4,5), В(5,3), С(2,6). Для каждой матрицы вычислить суммы столбцов. Ввод матрицы, вычисление сумм столбцов, вывод вектора оформить как отдельные подпрограммы.
  23.  Даны  матрицы А(3,3), В(5,5), С(4,4). Для каждой матрицы найти максимальный и минимальный  элементы главной диагонали. Ввод матрицы, поиск минимального и максимального элементов оформить как отдельные подпрограммы.
  24.  Даны  матрицы А(3,5), В(5,2), С(4,6). Для каждой матрицы вычислить количество положительных и отрицательных элементов. Ввод матрицы, вычисление количества положительных и отрицательных элементов оформить как отдельные подпрограммы.
  25.  Даны  матрицы А(3,3), В(5,5), С(4,4). Для каждой матрицы определить максимальные элементы в строках и переместить их на главную диагональ. Ввод матрицы, вывод матрицы, преобразование матрицы оформить как отдельные подпрограммы.
  26.  Даны матрицы А(4,4), В(3,3), С(5,5). Для каждой матрицы вычислить сумму элементов над главной диагональю под главной диагональю и на главной диагонали. Ввод матрицы и вычисление сумм оформить в виде отдельных подпрограмм.
  27.  Некоторый элемент матрицы назовем седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце. Даны матрицы А(4,3), В(3,5), С(3,4). Для каждой матрицы найти номера строки и столбца какой-нибудь седловой точки. Ввод матрицы, поиск седловой точки оформить в виде отдельных подпрограмм.
  28.  Даны матрицы А(4,3), В(3,5), С(3,4). Найти среднее геометрическое положительных элементов для каждой строки матрицы. Ввод матрицы, поиск средних геометрических, вывод вектора оформить в виде отдельных подпрограмм.
  29.  Даны матрицы А(6,3), В(4,5), С(5,4). Найти наибольший элемент каждой матрицы и записать 1 в ту строку и столбец, в которых он находится. Ввод, вывод матрицы и преобразование матрицы оформить в виде отдельных подпрограмм.
  30.  Даны матрицы А(5,2), В(3,2), С(6,4). Для каждой матрицы найти наибольшие элементы в каждой строке и записать их в вектор. Ввод матрицы, формирование вектора, вывод вектора оформить в виде отдельных подпрограмм.

PAGE  5


 

А также другие работы, которые могут Вас заинтересовать

40515. Былички 21.5 KB
  Былички. Былички – истории о покойниках леших домовых – память о древнеславянской мифологии. Былички – мифологические рассказы о духах природы и домашнего очага. По композиции былички: мемораты – воспоминания о встрече; фабулаты – есть сюжет повествование.
40516. ГЕНЕАЛОГИЧЕСКАЯ КЛАССИФИКАЦИЯ ЯЗЫКОВ 320 KB
  Шаповал ГЕНЕАЛОГИЧЕСКАЯ КЛАССИФИКАЦИЯ ЯЗЫКОВ Новосибирск 2002. ОСНОВНЫЕ ПОЛОЖЕНИЯ ГЕНЕАЛОГИЧЕСКОЙ КЛАССИФИКАЦИИ ЯЗЫКОВ Понятие генеалогической классификации Генеалогическая классификация основана на определении родственных отношений между языками. При этом доказывается общность происхождения родственных языков и демонстрируется их развитие из единого часто реконструируемого специальными способами языка который получает название праязык. При генеалогической классификации языков прежде всего выясняется степень их родственных отношений и...
40517. Классификация согласных по различным признакам 24 KB
  2 По способу образования по характеру преграды: смычные взрывные: чистые смычные например: [б] [г]. аффрикаты смычнощелевые например: [ц] [ч]. вибранты дрожащие например: [р] щелевые фрикативные однофокусные например: [j] [ф] [в] двухфокусные – сложные щелевые шипящие щель образуется в двух местах. 3 По месту образования по активному органу: губные: губногубные билабиальные например : [п] губнозубные лабиодентальные например: [ф] язычные: переднеязычные: зубные например: [т]...
40518. Линейное членение звукового потока. Суперсегментные фонетические явления 30 KB
  Слоговые подходы к выделению и определению. Членение речевого потока на слоги происходит во всех языках мира. Слог – минимальная произносительная единица речи состоит из одного или нескольких звуков. Методы выделения слога: Слог представляет звукосочетание за один выдох.
40520. Мёртвый язык 203.5 KB
  Обычно такое происходит когда один язык полностью заменяется другим языком как например коптский язык был заменён арабским а множество исконных американских языков были вытеснены английским французским испанским и португальским языками. Точная смерть языка также наступает в том случае когда язык претерпевает эволюцию и развивается в другой язык или даже в группу языков. Примером такого языка служит латинский язык мёртвый язык который является предком современных романских языков.
40521. Морфологическая классификация языков мира 22.5 KB
  Морфологическая классификация языков мира. выделял два типа языков: флективные – корни изменяются нефлективные агглютинирующие – механически связаны части слова.: предложил ввести третий тип языков: аморфные – без грамматической структуры разделил флективные на синтетические и аналитические. фон Гумбольдт – Учение о внутренней форме языка: ввел четвертый тип языков: инкорпорирующие полисинтетические уточнил понятие флективный язык: Шлегели – менялась внутренняя флексия Гумбольдт – включил фузионные аффиксальные языки ...
40522. Основные стадии развития письма 27.5 KB
  Письмо –знаковая система фиксации речи передает информацию на расстоянии и времени. Первый этап развития начертательного письма – письмо рисунками. Плюсы: в современных культурах пиктография – вспомогательное средство общения : комиксы эмблемы на документах обучение детей помогает при международном общении при общении с неграмотными Идеография логография – письмо понятиями – отображение содержания с помощью символов. Древнеегипетское шумерское письмо.