GeoSELECT.ru



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





Реферат на тему: Лабораторная работа № 16

Цель работы: Изучение правил описания и использования строк типа string.
Задание№ 17. Из заданного текста на русском языке вывести слова с
максимальным кол-вом гласных букв.
Программа на Turbo Pascal.

{Программа: lab16
}
{Цель: Посчитать макс. кол-во русских букв }
{Переменные:
}
{ mas - вводимые массивы
}
{ s - промежуточный массив }
{ i,n,kj - переменные цикла
}
{Программист: Позднышев А.А. группа 316 }
{Проверил: Новичков В.С.
}

program lab16;
uses crt;
type
mas=array[1..50]of string[80];

procedure Trim(Var s:string);
begin {Trim}
while (s[1]=' ')and(length(s)>0)do
delete(s,1,1);
while (s[length(s)]=' ')and(length(s)>0)do
delete(s,length(s),1);
end; {Trim}
procedure sravn(sl:string; Var k1:integer);
begin {sravn}
repeat
if (sl[1]='а')
or (sl[1]='е')
or (sl[1]='ё')
or (sl[1]='и')
or (sl[1]='о')
or (sl[1]='у')
or (sl[1]='ы')
or (sl[1]='э')
or (sl[1]='ю')
or (sl[1]='я')
then k1:=k1+1;
delete(sl,1,1);
until length(sl)=0;
end; {sravn}
procedure s4et(ok:boolean;s:string;var ko:integer);
var
sl:mas;
sl1:string[80];
k,i,j:byte;
k1:integer;
begin {s4et}
k1:=0;
trim(s);
s:=s+' ';
i:=0;
repeat
k:=pos(' ',s);
i:=i+1;
sl[i]:=copy(s,1,k-1);
delete(s,1,k);
until s='';
for j:=1 to i do
begin
sravn(sl[j],k1);
if ok
then
if k1>ko
then ko:=k1;
if not ok
then
if k1=ko
then writeln(sl[j]);
k1:=0;
end;
end; {s4et}

var
s:mas;
i,n,k:integer;
begin
k:=0;
Writeln('Введите кол-во строк:');
readln(n);
Writeln('Введите текст:');
for i:=1 to n do
begin
readln(s[i]);
s4et(true,s[i],k);
end;
writeln('максимальное количество гласных букв в слове=',k);
for i:=1 to n do
s4et(false,s[i],k);
end.

Результат выполнения программы:
Введите кол-во строк:
4
Введите текст:
Рязанская
Государственная
Радиотехническая
Академия
максимальное количество гласных букв в слове=8
Радиотехническая




Новинки рефератов ::

Реферат: История социалистических учений (Политология)


Реферат: Зарождение христианства (Религия)


Реферат: Роль Центрального банка и его территориальных управлений в развитии кредитной системы (Банковское дело)


Реферат: Основы конституционного строя Великобритании (Право)


Реферат: Финансирование учебных заведений (Педагогика)


Реферат: Божественный порядок в семье (Религия)


Реферат: Религиозно – философские взгляды Лютера (Культурология)


Реферат: Понятие бюджетного процесса (Право)


Реферат: Теории о несуществовании загробного бытия (Психология)


Реферат: Татарстан - республика химии (Химия)


Реферат: Техника безопасности при возгорании ЛВЖ (Безопасность жизнедеятельности)


Реферат: Функции государства (Право)


Реферат: Роль бюджетной политики в совершенствовании межбюджетных отношений в Российской Федерации (Финансы)


Реферат: Старение (Биология)


Реферат: Развитие агролизинга в Республике Казахстан (Ботаника)


Реферат: Немецкая диаспора в России (История)


Реферат: Гормональная регуляция обмена углеводов при мышечной деятельности (Биология)


Реферат: Признаки организации в менеджменте (Менеджмент)


Реферат: Инновационный менеджмент (Менеджмент)


Реферат: Дыхательная система человека (Биология)



Copyright © GeoRUS, Геологические сайты альтруист