БОЛЬШАЯ НАУЧНАЯ БИБЛИОТЕКА  
рефераты
Добро пожаловать на сайт Большой Научной Библиотеки! рефераты
рефераты
Меню
Главная
Налоги
Начертательная геометрия
Оккультизм и уфология
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование и комп-ры
Радиоэлектроника
Региональная экономика
Режущий инструмент
Реклама и PR
Ресторанно-гостиничный бизнес бытовое обслуживан
Римское право
Русский язык культура речи
РЦБ ценные бумаги
САПР
Сексология
Семейное право
Социология
Страховое право
Строительство архитектура
Таможенное право
Теория государства и права
Технология
Таможенная система
Транспорт
Физика и энергетика
Философия
Финансы деньги и налоги
Физкультура и спорт
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика и эстетика
Сочинения по литературе и русскому языку
Рефераты по теории государства и права
Рефераты по теории организации
Рефераты по теплотехнике
Рефераты по товароведению
Рефераты по трудовому праву
Рефераты по туризму
Рефераты по уголовному праву и процессу
Рефераты по управлению
Рефераты по менеджменту
Рефераты по металлургии
Рефераты по муниципальному праву
Биографии
Рефераты по психологии
Рефераты по риторике
Рефераты по статистике
Рефераты по страхованию
Рефераты по схемотехнике
Рефераты по науке и технике
Рефераты по кулинарии
Рефераты по культурологии
Рефераты по зарубежной литературе
Рефераты по логике
Рефераты по логистике
Рефераты по маркетингу
Рефераты по международному публичному праву
Рефераты по международному частному праву
Рефераты по международным отношениям
Рефераты по культуре и искусству
Рефераты по кредитованию
Рефераты по естествознанию
Рефераты по истории техники
Рефераты по журналистике
Рефераты по зоологии
Рефераты по инвестициям
Рефераты по информатике
Исторические личности
Рефераты по кибернетике
Рефераты по коммуникации и связи
Рефераты по косметологии
Рефераты по криминалистике
Рефераты по криминологии
Новые или неперечисленные
Без категории

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

Лабораторная №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. Входные и выходные данные.

Входные данные формируются посредством генератора случайных чисел и

вносятся в программные массивы данных машиной самостоятельно. Это сделано

для упрощения алгоритма программы, в ущерб вводу данных с клавиатуры.

Причём в заданиях заносятся в массивы целочисленные данные. Это с деланно,

в частности, для задания А с целью увеличения количества нулей в матрицах.

Выводные данные в задании А представляют собой целые числа, так как они

представляют собой количество нулей, а в задании Б – действительные числа.





17.06.2012
Большое обновление Большой Научной Библиотеки  рефераты
12.06.2012
Конкурс в самом разгаре не пропустите Новости  рефераты
08.06.2012
Мы проводим опрос, а также небольшой конкурс  рефераты
05.06.2012
Сена дизайна и структуры сайта научной библиотеки  рефераты
04.06.2012
Переезд на новый хостинг  рефераты
30.05.2012
Работа над улучшением структуры сайта научной библиотеки  рефераты
27.05.2012
Работа над новым дизайном сайта библиотеки  рефераты

рефераты
©2011