Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Vect_kv(k, mas_ish, mas_rez2);





{Вызов процедуры для формирования массива чисел

в четвертой степени:}

Vect_kv(k, mas_rez2, mas_rez4);

{Печать результатов:}

writeln(‘Массив квадратов исходных чисел:’);

for j:=1 to k do write(‘Элемент ’, j,’-й: ’,mas_rez2[j],’ ‘);

writeln;

writeln(‘Массив исходных чисел в четвертой степени:’);

for j:=1 to k do write(‘Элемент ’, j,’-й: ’,mas_rez4[j],’ ‘)

writeln;

writeln (‘Для выхода из программы нажать клавишу Enter’);

readln

end.

Ниже в примерах 12 и 13 приводятся описания процедур выдачи на экран ПК одномерного массива (вектора) и двумерного массива (матрицы), которые можно рассматривать как типовые при обработке произвольных векторов и матриц, размеры которых позволяют располагать их в пределах размеров экрана ПК.

 

Пример 12. Процедура RowPrint выдает на экран ПК в строку M элементов одномерного массива вещественных чисел (при печати числа представляются в форме с фиксированной точкой, для которой в данной процедуре предусмотрен форматный вывод: для каждого числа – всего 8 позиций, при этом 3 позиции – для дробной части) {Тип массива А должен быть объявлен в вызывающей программе Type TA=array[1..30] of real;}:

procedure RowPrint(M:integer; A:TA);

var i:integer; {i – локальная переменная}

Begin

for i:=1 to N do write(A[i]:8:3)

End;

Пример 13. Процедура RwColPrnt выдает на экран ПК элементы матрицы вещественных чисел в виде таблицы – N строк, M столбцов (формат выдачи на печать тот же, что и в предыдущем примере, тип массива ТТА объявлен заранее, в вызывающей программе в виде Type TTA=array[1..20,1..10] of real):

procedure RwColPrnt(N,M:integer; A:TTA);

var i,j:integer;{i,j – локальные переменные}

Begin

for i:=1 to N do {цикл по строкам}

Begin

for j:=1 to M do write(A[i,j]:8:3);{цикл по элементам строки}

writeln {перевод курсора на следующую строку}

End

End;

Замечание. В частности, процедура может не иметь параметров. Например, стандартные процедуры Readln, Writeln, Clrscr или следующая подпрограмма, оформленная в виде процедуры, выдающая на монитор все символы, представляемые в ПК кодами от 0 до 255:

Procedure cod_char;

Var i:byte;

Begin

for i:=1 to 255 do write(i:4,’:‘,chr(i):2); writeln;

readln

End;

В основной программе эта процедура вызывается на выполнение следующим образом Cod_Char; и результатом ее выполнения будет строка из 255 пар “КОД: СИМВОЛ”.

Пример 14. В этом примере рассматривается применение двух процедур при решении следующей задачи: вычислить частичные суммы гармонического ряда

R (n) = 1 + 1/2 + 1/3 +... + 1/n

и результат представить в форме рационального числа А/B, то есть в виде отношения числитель/знаменатель, где числитель и знаменатель – целые числа.

В программе предусмотрены две процедуры:

Proc1 – сокращает дробь на наибльший общий делитель;

Proc2 – находит сумму двух дробей с приведением к общему знаменателю.

 

program Harm_row;

var an,bn,bk,i:integer;

 

{Объявление и описание проседуры proc1:}

procedure proc1(var a,b:integer);{процедура реализут известный алгоритм поиска наибольшего общего делителя: }

var a1,b1,r:integer;

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

a1:=a;b1:=b;

while b1<>0 do

begin r:=a1 mod b1;{находится остаток от деления на цело

числителя a1 на знаменатель b1}

a1:=b1;b1:=r {производится замена: знаменатель

становится числителем, остаток - знаменателем}

End;

if a1>1 then

begin a:=a div a1;b:=b div a1 {числитель и знаменатель дроби

сокращаются на наибольший общий делитель}

End

end;{ конец proc1}

 

{Объявление и описание проседуры proc2:}

procedure proc2(var a,b:integer; a1,a2,b1,b2:integer);

{В данном варианте процедуры proc2 формальные переменные

a1,a2,b1,b2 – входные, a,b – выходные: }

begin a:=a1*b2+a2*b1;b:=b1*b2

end;{конец процедуры proc2 - вариант 1 }

 

{Второй вариант процедуры proc2 отличается меньшим числом формальных параметров: параметры a1, b1 становятся и выходными, а параметры a2,b2 – только входные:}

procedure proc2(var a1,b1:integer; a2,b2:integer);

begin a1:=a1*b2+a2*b1;b1:=b1*b2; {Для проверки корректности хода вычислений часто бывает полезно выдавать на экран ПК значения промежуточных расчетов. Здесь, например, это можно сделать применением процедуры контрольной печати дроби, получающейся прикаждом обращении к процедуре proc2: writeln('контр. печать проц2: ',a1:2,'/',b2:2);}

end; {proc2 – вариант второй}

 

begin {главная программа Harm_row}

an:=1;bn:=1;{Числитель и знаменатель первого элемента равны 1}

writeln('Задай номер последнего элемента ряда: ');

readln(bk);writeln('Результаты вычисления суммы по шагам:');

for i:=2 to bk do

begin proc2(an,bn,1,i); {выбран второй вариант процедуры proc2}

proc1(an,bn);

writeln('Шаг ',i,'-й: ',an:2,'/',bn:2)

end; writeln('Вычисление закончено. Нажми Enter');readln

end.







Дата добавления: 2015-10-19; просмотров: 430. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия