Цель работы.
Целью работы является написание программы на языке программирования «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;
i
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.