БИБЛИОГРАФИЧЕСКИЙ СПИСОК. 1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и систем




 

1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

2. ГОСТ 19.102-77. ЕСПД. Стадии разработки.

3. ГОСТ 34.602-89. ЕСПД. Информационная технология. Техническое задание на создание автоматизированных систем.

4. ГОСТ 19.402-78. ЕСПД. Описание программы.

5. ГОСТ 19.509-79. ЕСПД. Руководство программиста.

6. ГОСТ 19.505-79. ЕСПД. Руководство оператора.

7. Моргун А. Н. Программирование на языке Паскаль (Pascal). Основы обработки структур данных, Москва: «Диалектика», 2005.

8. Алексеев Е.Р., Чеснокова О.В. Турбо Паскаль 7.0, Москва: NTpress, 2007.

9. Попов В.Б. Turbo Pascal для школьников, Москва: "Финансы и статистика", 2002г.

10. Меняев М.Ф. Информатика, Москва: Омега-Л, 2003г.

11. Фаронов В.В. Turbo Pascal 7.0. начальный курс, Москва: Нолидж, 2001г.


Приложение 1.

 

program kurspro;

uses crt;

var w:integer;

 

procedure rezh1;

const lim=100;

var b:array [1..lim] of real;

n,q,z,x,i,ind,k,l:integer; min,s,p,v:real;

begin

clrscr;

writeln('Режим 1');

writeln;

writeln('Введите размерность массива, n:');

writeln;

read(n);

writeln;

writeln('Введите элементы массива (только неотрицательные элементы):');

writeln;

{Ввод элементов массива}

gotoXY(whereX+7,whereY);

q:=whereX;

z:=whereY;

x:=1;

for i:=1 to n do

begin

if i=10 then

begin

z:=z+2;

x:=1;

end;

gotoXY(q*x,z);

read(b[i]);

x:=x+1;

end;

writeln;

min:=32000;

for i:=2 to n do

begin

s:=0;

p:=0;

for k:=i-1 downto 1 do

p:=p+b[k];

for l:=i+1 to n do

s:=s+b[l];

v:=abs(s-p);

if v<min then

begin

min:=v;

ind:=i;

end;

end;

writeln('Индекс элемента, удовлетворяющего условие: ',ind);

writeln;

writeln('Для возврата в главноe меню нажмите "ENTER" ');

readln;

readln

end;

procedure rezh2;

const lim=10;

var a:array [1..lim, 1..lim] of real;

q,z,i,j,n:integer; s,p:real;

begin

clrscr;

writeln('Режим 2');

writeln;

writeln('Введите размерность квадратичной матрицы, n: ');

readln(n);

writeln('Введите элементы матрицы (размерности ',n,'x',n,'): ');

gotoXY(wherex+10,whereY);

q:=whereX;

z:=whereY;

for i:=1 to n do begin

for j:=1 to n do begin

gotoXY(q*j,z+i*2);

read(a[i,j]);

s:=s+a[i,j];

if i=j then

p:=p+a[i,j];

end;

end;

writeln;

writeln;

writeln('Суммаэлементовравна:',s-p:5:2);

writeln;

writeln('Для возврата в главноe меню нажмите "ENTER" ');

writeln;

writeln;

readln;

readln;

end;

 

procedure rezh3;

const lim=10;

var a:array [1..lim,1..lim] of real;

n,i,j,x,y,k,l:integer; min,c:real;

begin

clrscr;

writeln('Режим 3');

writeln;

min:=32000;

writeln('Введите размерность квадратичной матрицы, n: ');

read(n);

writeln;

{Vvod elementov matrici}

writeln('Введитеэлементыматрицы (размерности ',n,'x',n,'):');

gotoXY(whereX+10,whereY);

x:=whereX;

y:=whereY;

for i:=1 to n do

for j:=1 to n do

begin

gotoXY(x*j,i*2+y);

read(a[i,j]);

if a[i,j]<min

then

begin

min:=a[i,j];

k:=i;

l:=j;

end;

end;

writeln;

 

if k<n then

begin

for j:=1 to n do

begin

{smena strok}

c:=a[k,j];

a[k,j]:=a[n,j];

a[n,j]:=c;

end;

end;

if l>1 then

begin

for i:=1 to n do

begin

{smena stolbcov}

c:=a[i,l];

a[i,l]:=a[i,1];

a[i,1]:=c;

end;

end;

{Vivod konechnoj matrici}

writeln;

writeln('Конечнаяматрица:');

gotoXY(whereX+10,whereY);

x:=whereX;

y:=whereY;

for i:=1 to n do

begin

if y+i*2<=25 then

begin

for j:=1 to n do

begin

gotoxy(x*j,y+i*2);

write(a[i,j]:3:2);

end;

end

 

else

begin

writeln;

for j:=1 to n do

begin

gotoxy(x*j,25);

write(a[i,j]:3:2);

end;

end;

writeln;

end;

writeln;

writeln('Для возврата в главноe меню нажмите "ENTER" ');

readln;

readln

end;


procedure rezh4;

type vod=record

num:integer;

fi,mark,date:string;

end;

var avto: array [1..17] of vod;

box:vod;

kol,i,x,y,kof,kl,ch:integer;

vma:string;

zap: file of vod;

begin

clrscr;

assign(zap,'zap.txt');

rewrite(zap);

writeln('Режим 4');

writeln;

writeln('Введите количество водителей:');

read(kol);

clrscr;

writeln('Введите данные о водителях');

writeln;

writeln(' ----------------------------------------------------------------------');

writeln(' | № | ФИО водителя | Номер авто | Марка |Дата техосмотра|');

writeln(' ----------------------------------------------------------------------');

{Ввод}

for i:=1 to kol do

begin

if i<10 then

begin

writeln(' | ',i,' | | | | |');

writeln(' ----------------------------------------------------------------------');

x:=whereX;

y:=whereY;

gotoXY(8,4+i*2);

if i=1 then

readln(avto[i].fi);

readln(avto[i].fi);

gotoXY(27,4+i*2);

readln(avto[i].num);

gotoXY(43,4+i*2);

readln(avto[i].mark);

gotoXY(56,4+i*2);

readln(avto[i].date);

 

end

else

begin

writeln(' | ',i,' | | | | |');

writeln(' ----------------------------------------------------------------------');

x:=whereX;

y:=whereY;

gotoXY(8,5+9*2);

readln(avto[i].fi);

gotoXY(27,5+9*2);

readln(avto[i].num);

gotoXY(43,5+9*2);

readln(avto[i].mark);

gotoXY(56,5+9*2);

readln(avto[i].date);

end;

write(zap,avto[i]);

gotoXY(x,y);

end;

close(zap);

assign(zap,'zap.txt');

reset(zap);

writeln('Введите марку, по которой необходимо выполнить сортировку');

read(vma);

{Отсев ненужных марок}

kof:=1;

ch:=0;

for i:=1 to kol do

begin

read(zap,avto[i]);

if avto[i].mark=vma then

begin

avto[kof]:=avto[i];

kof:=kof+1;

ch:=ch+1;

end;

end;

{Сортировка}

repeat

kl:=0;

for i:=1 to ch-1 do

begin

if avto[i].num>avto[i+1].num then

begin

box:=avto[i+1];

avto[i+1]:=avto[i];

avto[i]:=box;

kl:=1

end;

end;

until kl=0;

{Вывод}

clrscr;

writeln('Отсортированный список:');

writeln;

writeln(' ----------------------------------------------------------------------');

writeln(' | № | ФИО водителя | Номер авто | Марка |Дата техосмотра|');

writeln(' ----------------------------------------------------------------------');

for i:=1 to ch do

begin

if i<10 then

begin

writeln(' | ',i,' | | | | |');

writeln(' ----------------------------------------------------------------------');

x:=whereX;

y:=whereY;

gotoXY(8,4+i*2);

writeln(avto[i].fi);

gotoXY(27,4+i*2);

writeln(avto[i].num);

gotoXY(43,4+i*2);

writeln(avto[i].mark);

gotoXY(56,4+i*2);

writeln(avto[i].date);

end

else

begin

writeln(' | ',i,' | | | | |');

writeln(' ----------------------------------------------------------------------');

x:=whereX;

y:=whereY;

gotoXY(8,5+9*2);

writeln(avto[i].fi);

gotoXY(27,5+9*2);

writeln(avto[i].num);

gotoXY(43,5+9*2);

writeln(avto[i].mark);

gotoXY(56,5+9*2);

writeln(avto[i].date);

if i=11 then

begin

readln;

readln;

end;

end;

gotoXY(x,y);

end;

close(zap);

writeln;

writeln('Длявозвратавглавноe менюнажмите "ENTER"');

readln;

readln

end;

 

begin {Основнаяпрограмма}

repeat

clrscr;

writeln('Главноеменю');

writeln;

writeln('Для выбора необходимого режима режима введите:');

writeln;

writeln('"1" - Простейшая обработка массива');

writeln('"2" - Операции над матрицами');

writeln('"3" - Транспонирование матриц');

writeln('"4" - Обработка файлов данных');

writeln('"0" - Выход из программы');

writeln;

read(w);

 

case w of

1: rezh1;

2: rezh2;

3: rezh3;

4: rezh4;

end;

until w=0;

end.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-08-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: