Заказ
  PHP скрипты   NEW
Правила написания
Студенту
Банк Рефератов
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
Телефонные справочники
Выбор города:
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

Онлайн телефонные справочники
Выбор города:
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Х Ш Э Ю Я

скачай готовый реферат
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я

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



Тема: Лабораторная №6 вариант №13 по информатике, выполненная с использованием подпрограмм-процедур и подпрограмм-функций
Вид реферата: реферат
Дисциплина: Информатика, программирование
Оценка: Отлично/Хорошо
Формат: Microsoft Word документ
Сжатие: ZIP архив
Создан: 3 октября 2007 года
Уникальность: 100%


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


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

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

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

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

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

[pic][pic][pic][pic][pic]

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





Справочники

Москва
Санкт-Петербург
Ангарск
Братск
Бугульма
Великие Луки
Владивосток
Владимир
Волгоград
Волжский
Воронеж
Вязьма
Екатеринбург
Златоуст
Иваново
Иркутск
Казань
Калуга
Кемерово
Кострома
Краснодар
Красноярск
Курган
Ленинск-Кузнецкий
Ливны
Липецк
Магадан
Магнитогорск
Набережные Челны
Нальчик
Находка
Нижний Новгород
Нижний Тагил
Новосибирск
Новочеркасск
Новый Уренгой
Омск
Орёл
Орехово-Зуево
Петрозаводск
Печора
Ростов-на-Дону
Самара
Саратов
Тюмень
Уфа
Хабаровск
Чебоксары
Челябинск
Череповец
Ярославль





© Все права защищены. © All right reserved.