Рейтинг@Mail.ru
Rambler's Top100




Не нашли нужную работу? Закажи реферат, курсовую, диплом на заказ

реферат на тему: Лабораторная №6 вариант №13 по информатике, выполненная с использованием подпрограмм-процедур и подпрограмм-функций

скачать реферат

1. Цель работы.

Целью работы является написание программы на языке программирования "Pascal" для DOS с использованием подпрограмм и функций, задания для которых обозначены вариантом лабораторной работы.

2. Постановка задачи. Главной задачей программиста является создание наиболее простого, и, следовательно, быстрого алгоритма программы, выполняющего оба задания А и Б, причём задание А необходимо оформить в виде процедуры, а задание Б в виде функции. При этом сделать программу как можно проще в использовании.

3. Описание алгоритма программы. Помимо короткого основного модуля программы, который управляет процедурами и функциями, в программу включены две функции и одна процедура, они же и являются подпрограммами, которые было необходимо использовать по условию лабораторной работы. Процедура представляет собой задание А, в котором необходимо было подсчитать количество нулей в матрицах. В программе матрицы представлены двухмерным массивом, числа в которые заносятся автоматически посредством случайного их генератора, после чего над ними производятся вычисления. Необходимо подчеркнуть, что как для занесения в матрицы случайных чисел, так и для подсчёта их нулевых элементов, использовался один двойной цикл оператора FOR. Первая функция это программное меню, которое предоставляет пользователю программы выбор вычисления заданий и выход. Соответственно вторая функция это задание Б, для выполнения которого автор программы использовал те же принципы построения подпрограммы, что и для выполнения подпрограммы задания А.

4. Блок-схема программы. См. на следующей странице.

5. Общие условия. В программе использовались два вида условий. Первое из них условие оператора IF. Оно присутствует в основном модуле программы, который управляет подпрограммами (т. е. процедурами и функциями) и выполняет задание А или Б в зависимости от выбора пользователя из меню программы. Можно также выйти из программы без выведения на экран результатов. Второе условие это условие оператора FOR, которое является скрытым условием. Оператор проверяет, все ли элементы массивов заполнены.

6. Исходный текст программы. program lab6v13; uses crt; const m1=20; n1=20; m2=100; n2=100; var kl,cycle00,cycle01,null_el_a,null_el_b:integer; a:array [0..n1,0..m1] of real; b:array [0..m1,0..n1] of real; x:array [0..n2] of real; y:array [0..m2] of real; mid_x,mid_y,sum_x,sum_y,delt_x,delt_y:real; label exitprogr,funct,startprg; procedure labproc_q_a; begin null_el_a:=0; null_el_b:=0; for cycle00:=0 to n1 do begin for cycle01:=0 to m1 do begin a[cycle00,cycle01]:=int(random(40)); if a[cycle00,cycle01]=0 then null_el_a:=null_el_a+1; b[cycle01,cycle00]:=int(random(50)); if b[cycle01,cycle00]=0 then null_el_b:=null_el_b+1; end; end; window (1,5,75,7); gotoxy (2,6); write ('Количество нулей в матрице А: ',null_el_a:3); clreol; writeln (' '); gotoxy (3,7); write ('Количество нулей в матрице Б: ',null_el_b:3); clreol; end; function mid_delt(mid_x,mid_y,delt_x,delt_y:real):real; begin sum_x:=0; sum_y:=0; for cycle00:=0 to m2 do begin for cycle01:=0 to n2 do begin x[cycle01]:=int(random(100)); y[cycle00]:=int(random(200)); sum_x:=sum_x+x[cycle01]; sum_y:=sum_y+y[cycle00]; end; end; mid_x:=sum_x/n2; mid_y:=sum_y/m2; delt_x:=mid_x/mid_y; delt_y:=mid_y/mid_x; end; function menu:byte; var str1,str2,str3:string[9];kl:byte;key:char; begin str1:='ФУНКЦИЯ';str2:='ПРОЦЕДУРА';str3:='ВЫХОД'; window(25,24,55,24); textcolor(15);gotoxy(13,1);write(str2);
Не нашли нужную работу? Закажи реферат, курсовую, диплом на заказ




textcolor(15);gotoxy(25,1);write(str3); textcolor(14);gotoxy(3,1);write(str1);kl:=1; repeat key:=readkey; case key of #75: begin if kl=2 then begin kl:=1; textcolor(15);gotoxy(13,1);write(str2); textcolor(14);gotoxy(3,1);write(str1); end; if kl=3 then begin kl:=2; textcolor(15);gotoxy(25,1);write(str3); textcolor(14);gotoxy(13,1);write(str2); end; end; #77: begin if kl=2 then begin kl:=3; textcolor(15);gotoxy(13,1);write(str2); textcolor(14);gotoxy(25,1);write(str3); end; if kl=1 then begin kl:=2; textcolor(15);gotoxy(3,1);write(str1); textcolor(14);gotoxy(13,1);write(str2); end; end; end; until key=#13; menu:=kl; end;

begin gotoxy (1,1); write ('Лабораторная работа - 6, вариант - 13.'); startprg: kl:=menu; textcolor(15); if kl=3 then goto exitprogr; if kl=2 then labproc_q_a; if kl=1 then goto funct; goto startprg; funct: window (1,5,75,7);clrscr; gotoxy (3,6); write ('Средние значения массивов X и Y и их отклонения равны: ',mid_x:3:3,'; ',mid_y:3:3,'; ',delt_x:3:3,'; ',delt_y:3:3); clreol; goto startprg; exitprogr: clrscr; end.

7. Входные и выходные данные. Входные данные формируются посредством генератора случайных чисел и вносятся в программные массивы данных машиной самостоятельно. Это сделано для упрощения алгоритма программы, в ущерб вводу данных с клавиатуры. Причём в заданиях заносятся в массивы целочисленные данные. Это с деланно, в частности, для задания А с целью увеличения количества нулей в матрицах. Выводные данные в задании А представляют собой целые числа, так как они представляют собой количество нулей, а в задании Б действительные числа.

скачать реферат
1

Не нашли нужную работу? Закажи реферат, курсовую, диплом на заказ

Внимание! Студенческий отдых и мегатусовка после сессии!


Обратная связь.

IsraLux отзывы Израиль отзывы