рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

КОНЕЦ схемы OpDan;

КОНЕЦ схемы OpDan; - раздел Компьютеры, Компьютерные технологии в приборостроении Алгоритм Модуля Main: ...

Алгоритм модуля Main:


‘p’
*

(key=#27)and(n_menu=1)

**

           
   
 
   
 
   
 
 


Алгоритм модуля Registr:

НАЧАЛО схемы REGISTR, регистрации пользователя;

ОПИСАНИЕ ДАННЫХ:

I – целочисленная переменная для счетчика;

ПОВТОРЯТЬ 2 раза

ОЧИСТИТЬ экран;

ВЫВЕСТИ надпись «Введите ваши Фамилию И.О.»;

ПЕРЕНЕСТИ курсор в точку с координатами 10,11;

В СЛУЧАЕ если i равно:

1: ВВОД Фамилии И.О. (name);

2: ВВОД группы (grup);

КОНЕЦ В СЛУЧАЕ;

КОНЕЦ ПОВТОРЕНИЙ;

СФОРМИРОВАТЬ имя файла (f_name);

СОПОСТАВИТЬ переменную f с именем файла;

ОТКРЫТЬ файл f для чтения;

СФОРМИРОВАТЬ значение признака присутствия имени файла в списке (pr);

ПОВТОРЯТЬ ПРИ сохранении условия, что файл со списком групп не кончился

ПОСЛЕ ПРОВЕРКИ:

ЕСЛИ признак pr равен нолю

ТОГДА

ЧИТАТЬ из файла со списком групп в строку stroka;

ЕСЛИ номер группы равен stroka

ТОГДА

СФОРМИРОВАТЬ признак pr=1;

КОНЕЦ ТОГДА

ИНАЧЕ

ЧИТАТЬ из файла со списком групп в строку stroka;

КОНЕЦ ЕСЛИ;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f;

ЕСЛИ файл со списком группы существует (pr=1);

ТОГДА

СФОРМИРОВАТЬ имя файла (f_name=grup+’sp.txt’);

ОТКРЫТЬ файл со списком группы (f_sp_gr);

СФОРМИРОВАТЬ начальное значение признака присутствия имени в файле со списком группы (pr=0);

ПОВТОРЯТЬ ПРИ сохранении условия, что файл f_sp_gr не кончился

ПОСЛЕ ПРОВЕРКИ:

ЕСЛИ признак pr равен 0 (pr=0)

ТОГДА

ЧИТАТЬ из файла f_sp_gr в stroka;

ЕСЛИ имя равно stroka (name=stroka);

ТОГДА

СФОРМИРОВАТЬ признак присутствия имени в файле

ИНАЧЕ

ЧИТАТЬ из файла f_sp_gr в stroka;

КОНЕЦ ТОГДА;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл со списком группы;

ЕСЛИ имя в файле не обнаружено (pr=0)

ТОГДА

ОТКРЫТЬ файл со списком группы для добавления информации;

ЗАПИСАТЬ имя в файл;

ЗАКРЫТЬ файл со списком группы;

СФОРМИРОВАТЬ имя файла (f_name=grup+’rez.txt’);

КОНЕЦ ТОГДА;

ИНАЧЕ

СФОРМИРОВАТЬ имя файла (f_name=grup+’rez.txt’);

КОНЕЦ ТОГДА;

ИНАЧЕ

ОТКРЫТЬ файл со списком групп для добавления информации;

ЗАПИСАТЬ номер группы в файл;

ЗАКРЫТЬ файл со списком групп;

СФОРМИРОВАТЬ имя файла (f_name=grup+’sp.txt’);

СОЗДАТЬ файл со списком группы;

ЗАПИСАТЬ имя в созданный файл;

ЗАКРЫТЬ файл;

СФОРМИРОВАТЬ имя файла (f_name=grup+’rez.txt’);

СОЗДАТЬ файл для записи результатов группы;

КОНЕЦ ИНАЧЕ;

КОНЕЦ схемы REGISTR;

 

Алгоритм модуля Chtenie:

 

НАЧАЛО схемы Chtenie, чтения информации из файла;

ОТКРЫТЬ файл f для чтения;

СФОРМИРОВАТЬ начальное кол-во пунктов меню (kol_kur=0);

СФОРМИРОВАТЬ начальную координату вывода пунктов меню (y=70);

ПОВТОРЯТЬ ПРИ условии, что файл f не кончился

ПОСЛЕ ПРОВЕРКИ:

ЧИТАТЬ из файла f в stroka;

ПЕЧАТАТЬ stroka с координатами 40,у;

СФОРМИРОВАТЬ координату вывода пунктов меню (y=y+20);

СФОРМИРОВАТЬ кол-во пунктов меню (kol_kur=kol_kur+1);

В СЛУЧАЕ если n_menu равен

1: ЗАПИСАТЬ stroka в массив mas_pun[kol_kur];

2: ЗАПИСАТЬ stroka в массив mas_pun2[kol_kur];

КОНЕЦ В СЛУЧАЕ;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f;

КОНЕЦ схемы Chtenie;

 

Алгоритм модуля Find:

 

НАЧАЛО схемы Find, поиска файлов;

ОПИСАНИЕ ДАННЫХ:

s,w – строковые переменные;

В СЛУЧАЕ если n_menu равен

1: СФОРМИРОВАТЬ имя файла (f_name='main_men.pas');

2: СФОРМИРОВАТЬ из целочисленной переменной p_kur строковую переменную s;

СФОРМИРОВАТЬ имя файла (f_name='r'+s+'.pas');

3: СФОРМИРОВАТЬ из целочисленной переменной p_kur строковую переменную s;

ВСТАВИТЬ строку s в строку f_name;

ВСТАВИТЬ 'inf' в строку f_name;

4: СФОРМИРОВАТЬ имя файла (f_name='test_men.pas');

5: СФОРМИРОВАТЬ из целочисленной переменной p_kur строковую переменную s;

СФОРМИРОВАТЬ из целочисленной переменной variant строковую переменную w;

СФОРМИРОВАТЬ имя файла (f_name='v'+s+w+'.pas');

КОНЕЦ В СЛУЧАЕ;

КОНЕЦ схемы Find;

 

Алгоритм модуля Ramka:

 

НАЧАЛО схемы Ramka, рисования рамок;

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (5,5,635,475);

РИСОВАТЬ прямоугольник (40,35,600,50);

УСТАНОВИТЬ цвет (Red);

В СЛУЧАЕ если n_menu равен

1: ПЕЧАТАТЬ 'Главное меню';

ПЕЧАТАТЬ 'Разделы';

ПЕЧАТАТЬ 'Выберите пункт меню и нажмите Enter';

УСТАНОВИТЬ цвет(Green);

РИСОВАТЬ прямоугольник (40,430,600,445);

2: ПЕЧАТАТЬ mas_pun[p_kur];

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (40,430,600,445);

3: ПЕЧАТАТЬ mas_pun2[x];

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (40,390,600,445);

4: УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (40,430,600,445);

5..10: ПЕЧАТАТЬ mas_pun[x];

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (40,430,600,445);

РИСОВАТЬ линию(40,155,600,155);

11: ПЕЧАТАТЬ mas_pun2[x];

12: УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (5,5,635,475);

РИСОВАТЬ прямоугольник (40,35,600,50);

РИСОВАТЬ прямоугольник (40,430,600,445);

13: ПЕЧАТАТЬ mas_pun[n_pun];

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (5,5,635,475);

РИСОВАТЬ прямоугольник (40,35,600,50);

КОНЕЦ В СЛУЧАЕ;

КОНЕЦ схемы Ramka;

 

Алгоритм модуля Kursor:

 

НАЧАЛО схемы Kursor, перемещения стрелки курсора;

УСТАНОВИТЬ цвет (Red);

ЕСЛИ (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or(n_menu=9)

ТОГДА

СФОРМИРОВАТЬ координату вывода стрелки (y=260)

ИНАЧЕ

СФОРМИРОВАТЬ координату вывода стрелки (y=70);

ПЕЧАТАТЬ '->';

ОПРЕДЕЛИТЬ размер памяти для запоминания изображения стрелки курсора (size=(20,42,37,68));

ВЫДЕЛИТЬ память с указателем p;

ЗАПОМНИТЬ изображение стрелки курсора (10,10,27,20) в памяти с указателем р^;

ОПРЕДЕЛИТЬ размер памяти для запоминания изображения пустой области (size=(10,10,27,20));

ВЫДЕЛИТЬ память с указателем w;

ЗАПОМНИТЬ изображение пустой области (10,10,27,20) в памяти с указателем w^;

ОПРЕДЕЛИТЬ размер памяти для запоминания изображения пустой области (Size=(100,400,500,410));

ВЫДЕЛИТЬ память с указателем n;

ЗАПОМНИТЬ изображение пустой области (100,380,500,390) в памяти с указателем n^;

СФОРМИРОВАТЬ начальное знчение номера пункта меню (p_kur=1);

ПОВТОРЯТЬ ПРИ сохранении условия, что (key=#13)or(key=#27)

ДО ПРОВЕРКИ:

ОЖИДАТЬ нажатия клавиши;

СФОРМИРОВАТЬ символ key (key=ReadKey);

В СЛУЧАЕ если key равен

#0: В СЛУЧАЕ если нажата клавиша

#72: ЕСЛИ p_kur=1

ТОГДА

СФОРМИРОВАТЬ y:=y+(kol_kur-1)*20;

СФОРМИРОВАТЬ p_kur:=kol_kur;

ЕСЛИ (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or (n_menu=9)

ТОГДА

СФОРМИРОВАТЬ y1:=260

Else

СФОРМИРОВАТЬ y1:=70;

ВСТАВИТЬ изображение из памяти с указателем w^ (20,y1);

КОНЕЦ ТОГДА

ИНАЧЕ

СФОРМИРОВАТЬ y:=y-20;

СФОРМИРОВАТЬ p_kur:=p_kur-1;

КОНЕЦ ИНАЧЕ;

#80:ЕСЛИ p_kur=kol_kur

ТОГДА

ЕСЛИ (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or (n_menu=9)

ТОГДА

СФОРМИРОВАТЬ y:=260

ИНАЧЕ

СФОРМИРОВАТЬ y:=70;

ВСТАВИТЬ изображение из памяти с указателем w^ (20,y+(kol_kur-1)*20);

СФОРМИРОВАТЬ p_kur:=1;

КОНЕЦ ТОГДА

ИНАЧЕ

СФОРМИРОВАТЬ y:=y+20;

СФОРМИРОВАТЬ p_kur:=p_kur+1;

КОНЕЦ ИНАЧЕ;

КОНЕЦ В СЛУЧАЕ;

ВСТАВИТЬ изображение из памяти с указателем p^ (20,y,);

ВСТАВИТЬ изображение из памяти с указателем w^ (20,y-20);

ВСТАВИТЬ изображение из памяти с указателем w^ (20,y+20);

#13: ВСТАВИТЬ изображение из памяти с указателем n^ (100,400);

ЕСЛИ (key=#13)and(p_kur=kol_kur)

ТОГДА

ЕСЛИ n_menu=1

ТОГДА

СФОРМИРОВАТЬ key:=#27

ИНАЧЕ

ЕСЛИ proc<>'t'

ТОГДА

СФОРМИРОВАТЬ n_menu:=n_menu-1;

СФОРМИРОВАТЬ p_kur:=n_pun;

КОНЕЦ ТОГДА;

КОНЕЦ ИНАЧЕ;

КОНЕЦ ТОГДА;

ИНАЧЕ

ЕСЛИ ((n_menu=1)and((p_kur=7)or(p_kur=8)or(p_kur=9)))

ТОГДА

В СЛУЧАЕ если p_kur равен

7: СФОРМИРОВАТЬ proc:='p';

8: СФОРМИРОВАТЬ proc:='t';

9: СФОРМИРОВАТЬ proc:='r';

КОНЕЦ В СЛУЧАЕ;

СФОРМИРОВАТЬ n_menu:=n_menu+1;

СФОРМИРОВАТЬ n_pun:=p_kur;

КОНЕЦ ИНАЧЕ;

#27: ВСТАВИТЬ изображение из памяти с указателем n^ (100,400);

ЕСЛИ n_menu<>1

ТОГДА

СФОРМИРОВАТЬ key:=#13;

СФОРМИРОВАТЬ n_menu:=n_menu-1;

СФОРМИРОВАТЬ p_kur:=n_pun;

КОНЕЦ ТОГДА;

ИНАЧЕ

ПЕЧАТАТЬ 'Нажата неправильная клавиша';

ЗАДЕРЖКА (5000);

ВСТАВИТЬ изображение из памяти с указателем n^ (100,400);

КОНЕЦ ИНАЧЕ;

КОНЕЦ В СЛУЧАЕ;

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

КОНЕЦ схемы Kursor;

 

Алгоритм модуля Spravka:

НАЧАЛО схемы Spravka; вывода справочной информации;

ОПИСАНИЕ ДАННЫХ:

k1,k2 – символьные переменные;

s,s1,s2,m – строковые переменные;

СФОРМИРОВАТЬ k1:='1';

СФОРМИРОВАТЬ x:=p_kur;

ПОВТОРЯТЬ ПРИ сохранении условия, что key=#27

ДО ПРОВЕРКИ:

ОЧИСТИТЬ ЭКРАН;

ВЫПОЛНИТЬ схему Ramka;

УСТАНОВИТЬ цвет (White);

ОТКРЫТЬ файл f;

СФОРМИРОВАТЬ key:='q';

ЧИТАТЬ из файла f в строку s;

СФОРМИРОВАТЬ k2, символ следующий за k1;

СФОРМИРОВАТЬ строку s1:=k1+'.';

СФОРМИРОВАТЬ строку s2:=k2+'.';

ПОВТОРЯТЬ ПРИ сохранении условия, что s<>s1

ПОСЛЕ ПРОВЕРКИ:

ЧИТАТЬ из файла f в строку s;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

СФОРМИРОВАТЬ y:=70;

ЧИТАТЬ из файла f в строку s;

ПОВТОРЯТЬ ПРИ сохранении условия, что s<>s2

ПОСЛЕ ПРОВЕРКИ:

ПЕЧАТАТЬ строку s;

СФОРМИРОВАТЬ y:=y+20;

ЧИТАТЬ из файла f в строку s;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ОЖИДАТЬ нажатия клавиши;

СФОРМИРОВАТЬ key, символ нажатой клавиши;

В СЛУЧАЕ если key равен

#0:В СЛУЧАЕ если была нажата клавиша

#72:ЕСЛИ k1<>'1'

ТОГДА

СФОРМИРОВАТЬ k1:=Pred(k1);

#80:ЧИТАТЬ из файла f в строку s;

ЕСЛИ s<>'Конец'

ТОГДА

СФОРМИРОВАТЬ k1:=Succ(k1);

КОНЕЦ В СЛУЧАЕ;

#27:ПЕЧАТАТЬ 'Нажата клвиша Esc';

ЗАДЕРЖКА (5000);

ВСТАВИТЬ изображение из памяти с указателем n^ (100,400);

ИНАЧЕ

ПЕЧАТАТЬ 'Нажата неправильная клавиша';

ЗАДЕРЖКА (5000);

ВСТАВИТЬ изображение из памяти с указателем n^ (100,375);

КОНЕЦ ИНАЧЕ;

КОНЕЦ В СЛУЧАЕ;

ЗАКРЫТЬ файл f;

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

СФОРМИРОВАТЬ n_menu:=n_menu-1;

УДАЛИТЬ из имени файла f_name 4 символа, начиная с 3-го;

СФОРМИРОВАТЬ m, копировать из имени файла 1символ, начиная со 2-го;

СФОРМИРОВАТЬ из строковой переменной m целочисленную p_kur;

КОНЕЦ схемы Spravka;

 

Алгоритм модуля Test:

 

НАЧАЛО схемы Test, тестирования пользователя;

ОПИСАНИЕ ДАННЫХ:

Ball – целочисленная переменная, кол-во баллов;

z,ocenka,oc,dan_otv,vopros – строковые переменные;

mas_vopr – массив строк, хранение вариантов ответа;

ПОВТОРЯТЬ ПРИ сохранении условия, что key<>'q'

ДО ПРОВЕРКИ:

ОЧИСТИТЬ экран;

СФОРМИРОВАТЬ n_menu:=4;

ВЫПОЛНИТЬ схему Ramka;

ВЫПОЛНИТЬ схему Find;

ВЫПОЛНИТЬ схему Chtenie;

ВЫПОЛНИТЬ схему Kursor;

СФОРМИРОВАТЬ x:=p_kur;

ЕСЛИ n_menu=5

ТОГДА

СФОРМИРОВАТЬ номер варианта (Random(9));

СФОРМИРОВАТЬ начальное кол-во баллов (ball=0);

ВЫПОЛНИТЬ схему Find;

ОТКРЫТЬ файл f;

СФОРМИРОВАТЬ kol_kur:=4;

ПОВТОРЯТЬ ПРИ сохранении условия, что файл f не кончился

ПОСЛЕ ПРОВЕРКИ:

ОЧИСТИТЬ экран;

ВЫПОЛНИТЬ схему Ramka;

СФОРМИРОВАТЬ y:=70;

ЧИТАТЬ из файла f в строку vopros;

ПОВТОРЯТЬ ПРИ сохранении условия, что vopros<>'q'

ПОСЛЕ ПРОВЕРКИ:

УСТАНОВИТЬ цвет (White);

ПЕЧАТАТЬ vopros;

ЧИТАТЬ из файла f в строку vopros;

СФОРМИРОВАТЬ y:=y+20;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЧИТАТЬ из файла f в массив mas_vopr[1]);

ЧИТАТЬ из файла f в массив mas_vopr[2]);

ЧИТАТЬ из файла f в массив mas_vopr[3]);

ЧИТАТЬ из файла f в массив mas_vopr[4]);

ЧИТАТЬ из файла f в массив mas_vopr[5]);

УСТАНОВИТЬ цвет (White);

ПЕЧАТАТЬ mas_vopr[1]);

ПЕЧАТАТЬ mas_vopr[2]);

ПЕЧАТАТЬ mas_vopr[3]);

ПЕЧАТАТЬ mas_vopr[4]);

СФОРМИРОВАТЬ kol_kur:=4;

ВЫПОЛНИТЬ схему Kursor;

СФОРМИРОВАТЬ строку dan_otv из целочисленной p_kur;

ЕСЛИ mas_vopr[5]=dan_otv

ТОГДА

СФОРМИРОВАТЬ ball:=ball+1;

ПЕЧАТАТЬ 'Правильный ответ';

КОНЕЦ ТОГДА;

ИНАЧЕ

ПЕЧАТАТЬ 'Неправильный ответ ';

ЗАДЕРЖКА (6000);

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f;

ОЧИСТИТЬ экран;

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (5,5,635,475);

РИСОВАТЬ прямоугольник (40,35,600,50);

РИСОВАТЬ прямоугольник (40,150,600,180);

УСТАНОВИТЬ цвет (White);

В СЛУЧАЕ если ball равна

0,1,2: СФОРМИРОВАТЬ ocenka:='Неудовлетворительно';

СФОРМИРОВАТЬ oc:='2';

3: СФОРМИРОВАТЬ ocenka:='Удовлетворительно';

СФОРМИРОВАТЬ oc:='3';

4: СФОРМИРОВАТЬ ocenka:='Хорошо';

СФОРМИРОВАТЬ oc:='4';

5: СФОРМИРОВАТЬ ocenka:='Отлично';

СФОРМИРОВАТЬ oc:='5';

КОНЕЦ В СЛУЧАЕ;

СФОРМИРОВАТЬ из переменной ball строку z;

ПЕЧАТАТЬ name;

ПЕЧАТАТЬ 'Оценка ваших знаний:';

ПЕЧАТАТЬ ocenka;

ПЕЧАТАТЬ 'Количество правильных ответов:';

ПЕЧАТАТЬ z;

ОТКРЫТЬ файл f_rez_gr для добавления информации;

ЗАПИСАТЬ оценку в файл;

ОЖИДАТЬ нажатия клавиши;

СФОРМИРОВАТЬ key:='q'

КОНЕЦ ТОГДА

ИНАЧЕ

СФОРМИРОВАТЬ key:=#13;

СФОРМИРОВАТЬ n_menu:=1;

СФОРМИРОВАТЬ proc:='s';

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

КОНЕЦ схемы Test;

 

Алгоритм модуля Poisk:

 

НАЧАЛО схемы Poisk, поиска информации;

ОПИСАНИЕ ДАННЫХ:

i, k, h – целочисленные переменные;

j, nom, k1, k2 – символьные переменные;

s, s1, s2 – строковые переменные;

СФОРМИРОВАТЬ имя файла (f_name_p='f_poisk.pas');

ПОВТОРЯТЬ ПРИ сохранении условия, что key<>'q'

ДО ПРОВЕРКИ:

СФОРМИРОВАТЬ n_menu:=11;

ОЧИСТИТЬ строку s;

СФОРМИРОВАТЬ nom:='0';

ОЧИСТИТЬ файл f1;

ОЧИСТИТЬ экран;

ВЫПОЛНИТЬ схему Ramka;

УСТАНОВИТЬ цвет (White);

ЧИТАТЬ 'Введите условие для поиска';

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (40,150,600,180);

ОЖИДАТЬ нажатия клавиши;

СФОРМИРОВАТЬ key, символ нажатой клавиши;

ЕСЛИ key<>#27

ТОГДА

ПЕРЕНЕСТИ курсор в точку с координатами (10,11);

ВВЕСТИ условие поиска (uslovie);

СФОРМИРОВАТЬ i:=1;

ПОВТОРЯТЬ ПРИ сохранении условия, что uslovie[i]<>' '

ДО ПРОВЕРКИ:

ЕСЛИ uslovie[i]=' '

ТОГДА

УДАЛИТЬ из строки uslovie 1 символ;

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

СФОРМИРОВАТЬ i:=Length(uslovie);

ПОВТОРЯТЬ ПРИ сохранении условия, что uslovie[i]<>' '

ДО ПРОВЕРКИ:

ЕСЛИ uslovie[i]=' '

ТОГДА

УДАЛИТЬ из строки uslovie последний символ;

СФОРМИРОВАТЬ i:=i-1;

КОНЕЦ ТОГДА;

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ПОВТОРЯТЬ 6 раз от '1' до '6' do

СФОРМИРОВАТЬ f_name:='r'+key+'.pas';

ОТКРЫТЬ файл f;

СФОРМИРОВАТЬ j:='0';

ПОВТОРЯТЬ ПРИ сохранении условия, что файл f не кончился

ПОСЛЕ ПРОВЕРКИ:

СФОРМИРОВАТЬ j:=Succ(j);

ЧИТАТЬ из файла f в строку stroka;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f;

СФОРМИРОВАТЬ j:=Pred(j);

ПОВТОРЯТЬ j раз от key='1'

ВСТАВИТЬ символ key в имя файла f_name;

ВСТАВИТЬ 'inf' в имя файла f_name;

ОТКРЫТЬ файл f;

СФОРМИРОВАТЬ k1:='1';

ЧИТАТЬ из файла f в строку s;

ПОВТОРЯТЬ ПРИ условии, что файл f не кончился

ПОСЛЕ ПРОВЕРКИ:

СФОРМИРОВАТЬ k2:=Succ(k1);

СФОРМИРОВАТЬ s1:=k1+'.';

СФОРМИРОВАТЬ s2:=k2+'.';

ПОВТОРЯТЬ ПРИ условии, что s<>s1

ПОСЛЕ ПРОВЕРКИ:

ЧИТАТЬ из файла f в строку s;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЧИТАТЬ из файла f в строку s;

ЕСЛИ строка s='Конец'

ТОГДА

СФОРМИРОВАТЬ s2:='Конец';

СФОРМИРОВАТЬ k:=1;

СФОРМИРОВАТЬ h:=0;

ПОВТОРЯТЬ ПРИ условии, что s<>s2

ПОСЛЕ ПРОВЕРКИ:

СФОРМИРОВАТЬ mas_poisk[k]:=s;

ЕСЛИ h=0

ТОГДА

ПОВТОРЯТЬ от i:=1 до конца строки s

ЕСЛИ s[i]=uslovie[1]

ТОГДА

СФОРМИРОВАТЬ stroka:=Copy(s,i,length(uslovie));

ЕСЛИ uslovie=stroka

ТОГДА

СФОРМИРОВАТЬ i:=Length(s);

СФОРМИРОВАТЬ h:=1;

КОНЕЦ ТОГДА;

КОНЕЦ ТОГДА;

КОНЕЦ ПОВТОРЕНИЙ;

ЧИТАТЬ из файла f в строку s;

СФОРМИРОВАТЬ k:=k+1;

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЕСЛИ h=1

ТОГДА

СФОРМИРОВАТЬ nom:=Succ(nom);

ОТКРЫТЬ файл f1 для добавления информации ;

ЗАПИСАТЬ nom в файл f1;

ЗАПИСАТЬ '.' в файл f1;

ПОВТОРЯТЬ k раз

ЗАПИСАТЬ mas_poisk[i] в файл f1;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f1;

КОНЕЦ ТОГДА;

СФОРМИРОВАТЬ k1:=Succ(k1);

КОНЕЦ ПОСЛЕ ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

ЗАКРЫТЬ файл f;

УДАЛИТЬ из строки f_name 4 символа, начиная с 3-го;

КОНЕЦ ПОВТОРЕНИЙ;

ОЧИСТИТЬ строку f_name;

КОНЕЦ ПОВТОРЕНИЙ;

ЕСЛИ nom<>'0'

ТОГДА

ОТКРЫТЬ файл f1 для добавления информации;

СФОРМИРОВАТЬ nom:=Succ(nom);

ЗАПИСАТЬ nom в файл f1;

ЗАПИСАТЬ '.' в файл f1;

ЗАПИСАТЬ 'Конец.'в файл f1;

ЗАКРЫТЬ файл f1;

СФОРМИРОВАТЬ f_name:=f_name_p;

ОЧИСТИТЬ экран;

ВЫПОЛНИТЬ схему Ramka;

ВЫПОЛНИТЬ схему Spravka;

КОНЕЦ ТОГДА

ИНАЧЕ

ПЕЧАТАТЬ 'По заданному условию информации не найдено’;

ЗАДЕРЖКА (5000);

СФОРМИРОВАТЬ key:='q';

КОНЕЦ ТОГДА;

КОНЕЦ ДО ПРОВЕРКИ;

КОНЕЦ ПОВТОРЕНИЙ;

СФОРМИРОВАТЬ n_menu:=1;

СФОРМИРОВАТЬ proc:='s';

СФОРМИРОВАТЬ key:=#13;

End;{procedure}

 

 

Алгоритм модуля Diagram:

 

НАЧАЛО схемы Diagram, вывода на экран диаграммы;

ОПИСАНИЕ ДАННЫХ:

d_ki_p, t_ki_p, ch_ki_p, p_ki_p – вещественные переменные;

d_ki_s, t_ki_s, ch_ki_s, p_ki_s, kol_stud_s – строковые переменные;

y1, y2, y3, y4 – целочисленные переменные;

СФОРМИРОВАТЬ kol_stud:=20;

СФОРМИРОВАТЬ d_ki:=9;

СФОРМИРОВАТЬ t_ki:=1;

СФОРМИРОВАТЬ ch_ki:=3;

СФОРМИРОВАТЬ p_ki:=7;}

СФОРМИРОВАТЬ d_ki_p:=d_ki/kol_stud*100;

СФОРМИРОВАТЬ t_ki_p:=t_ki/kol_stud*100;

СФОРМИРОВАЬ ch_ki_p:=ch_ki/kol_stud*100;

СФОРМИРОВАТЬ p_ki_p:=p_ki/kol_stud*100;

ОКРУГЛИТЬ d_ki в переменную d_ki_p;

ОКРУГЛИТЬ t_ki в переменную t_ki_p;

ОКРУГЛИТЬ ch_ki в переменную ch_ki_p;

ОКРУГЛИТЬ p_ki в переменную p_ki_p;

СФОРМИРОВАТЬ из d_ki строку d_ki_s;

СФОРМИРОВАТЬ из t_ki строку t_ki_s;

СФОРМИРОВАТЬ из ch_ki строку ch_ki_s;

СФОРМИРОВАТЬ из p_ki строку p_ki_s);

СФОРМИРОВАТЬ строку d_ki_s:=d_ki_s+'%';

СФОРМИРОВАТЬ строку t_ki_s:=t_ki_s+'%';

СФОРМИРОВАТЬ строку ch_ki_s:=ch_ki_s+'%';

СФОРМИРОВАТЬ строку p_ki_s:=p_ki_s+'%';

СФОРМИРОВАТЬ координату y1:=300-d_ki*2;

СФОРМИРОВАТЬ координату y2:=300-t_ki*2;

СФОРМИРОВАТЬ координату y3:=300-ch_ki*2;

СФОРМИРОВАТЬ координату y4:=300-p_ki*2;

ОЧИСТИТЬ экран;

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ прямоугольник (5,5,635,475);

РИСОВАТЬ прямоугольник (40,35,600,50);

РИСОВАТЬ прямоугольник (40,430,600,445);

УСТАНОВИТЬ цвет (Red);

ПЕЧАТАТЬ grup;

ПЕЧАТАТЬ mas_pun[x];

УСТАНОВИТЬ цвет (Red);

УСТАНОВИТЬ стиль заливки (11,Red);

РИСОВАТЬ трехмерный прямоугольник (145,y1,195,300,10,TopOn);

УСТАНОВИТЬ стиль заливки (11,Brown);

УСТАНОВИТЬ цвет (Brown);

РИСОВАТЬ трехмерный прямоугольник (245,y2,295,300,10,TopOn);

УСТАНОВИТЬ стиль заливки (11,Blue);

УСТАНОВИТЬ цвет (Blue);

РИСОВАТЬ трехмерный прямоугольник (345,y3,395,300,10,TopOn);

УСТАНОВИТЬ стиль заливки (11,Green);

УСТАНОВИТЬ цвет (Green);

РИСОВАТЬ трехмерный прямоугольник (445,y4,495,300,10,TopOn);

УСТАНОВИТЬ цвет (White);

РИСОВАТЬ линию (63,302,600,302);

ПЕЧАТАТЬ '0%';

ПЕЧАТАТЬ d_ki_s;

ПЕЧАТАТЬ t_ki_s;

ПЕЧАТАТЬ ch_ki_s;

ПЕЧАТАТЬ p_ki_s;

СФОРМИРОВАТЬ из kol_stud строку kol_stud_s;

ПЕЧАТАТЬ kol_stud_s;

– Конец работы –

Эта тема принадлежит разделу:

Компьютерные технологии в приборостроении

На сайте allrefs.net читайте: "Компьютерные технологии в приборостроении"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: КОНЕЦ схемы OpDan;

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Постановка задачи для решения на ЭВМ
  Данная задача реализована на языке высокого уровня Pascal. Задача представляет собой программу, предназначенную для обучения и контроля знаний студентов СПбГУАП. Программа

ВЫБОР И ОБОСНОВАНИЕ МЕТОДА РЕШЕНИЯ ЗАДАЧИ НА ЭВМ
  В целях рационализации процесса создания программы она разбивается на отдельные части, называемые модулями. К программным модулям предъявляются следующие требования:

Перечень пользовательских типов и переменных, используемых в программе
device,mode – переменные для инициализации графического режима; x,count,y:integer; key – хранение символа нажатой клавиши; size – переменная для выделения памяти;

СТРУКТУРА ПРОГРАММЫ
    Обучающая программа по курсу "Компьютерные технологии в приборостроении" разработана по модульному принципу и включает в себя: - информационно-спр

НАЧАЛО схемы OpDan, описания данных;
device,mode – целочисленные переменные для инициализации графического режима; x,count,y – целочисленные счетчики; key – хранение символа нажатой клавиши; size – переменна

КОНЕЦ схемы Diagram;
  Алгоритм модуля Rezult:   НАЧАЛО схемы Rezult, обработки результатов тестирования; ОПИСАНИЕ ДАННЫХ: n_name, n_oc – строковы

РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ АЛГОРИТМА
    Вопр.1 Вопр.2 Вопр.3 Вопр.4 Вопр.5 Оценка + -

Запись алгоритма на языке программирования
7.1. Выбор и обоснование языка программирования   В качестве языка кодирования выбран язык программирования Turbo Pascal 7.0. Turbo Pascal – универсальный язык прогр

Макеты вывода результатов выполнения программы
        &nb

Описание программы
  Программа состоит из 13-ти модулей, 12 из которых оформлены как процедуры и 1 как главный управляющий модуль. Модули называются: Vhod, OpDan, Registr, Chtenie, Find, Ramka, Kursor,

ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ
Этап отладки программы является одним из важнейших и трудоемких этапов при создании любой программы. На данном этапе происходит выявление ошибок и устранение недочетов. Процесс отладки зав

Описание назначения и ограничения на использование программы
Обучающая программа тестирования включает в себя программные модули и находящиеся на магнитном диске текстовые файлы. Программа содержит главное меню и вызываемые из него подменю, служащие для вызо

Инструкция пользователя
Инструкция пользователя предназначена для человека, который впервые запускает данную программу на компьютере. Для работы программы необходимы соответствующие файлы. Эти файлы можно перенес

Расчет затрат на материалы
  Наименование материала Кол-во Расход на программу Цена за ед. изм. Руб. Сумма, руб. Картри

Калькуляция сметной стоимости
  Наименование показателя Сумма (руб) Удельный вес затрат (%) 1. Материалы 8,9%

МЕРОПРИЯТИЯ ПО ТЕХНИКЕ БЕЗОПАСНОСТИ
11.1. Проверка безопасности на рабочем месте Требования к мониторам. Конструкция монитора должна обеспечивать возможность фронтального наблюдения

ГОСТы и стандарты на мониторы и ПЭВМ
  Монитор, как и любое устройства должен соответствовать определенным требованиям и стандартам. Требования на мониторы разделяют на две основные группы стандартов и рекомендаций – по

Требования к помещениям для эксплуатации ПЭВМ
  Помещение с мониторами и ПЭВМ должны иметь естественное и искусственное освещение. Естественное освещение должно осуществляться через оконные проемы, ориентированные преимущественно

Излучение
  Результаты многолетних наблюдений, проведенных в НИИ медицины труда РАМН, показывают, что для пользователей ПЭВМ действительно характерен набор субъективных жалоб на здоровье.

Допустимые значения параметров неионизирующих электромагнитных излучений
  Наименование параметров Допустимое значение Напряженность электромагнитного поля на расстоянии 50см вокруг ВДТ по электрической с

Вентиляция
  Эффективным средством нормализации воздушной среды в помещениях является вентиляция. По способу перемещения воздуха вентиляция разделяется на естественную и механическую. Естественн

Требования к освещению помещений и рабочих мест с мониторами и ПЭВМ и расчет осветительной установки
  Искусственное освещение в помещениях эксплуатации мониторов и ПЭВМ должно осуществляться системой общего равномерного освещения. Допускается использование местного освещения, предна

Электробезопасность
  Так как ПЭВМ питается от сети переменного тока 220В 50Гц, необходимо предусматривать средства и мероприятия по защите пользователя ПЭВМ от поражения электрическим током и компьютера

Требования к организации и оборудованию рабочих мест
  Рабочие места с ВДТ и ПЭВМ по отношению к световым проемам должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева. Схемы размещения рабочих ме

ЗАКЛЮЧЕНИЕ
  В дипломном проекте была разработана обучающая программа по курсу «Компьютерные технологии в приборостроении». В процессе дипломного проектирования были изучены соответствующие лите

Procedure Vhod;
  Var i:integer; priv:string;   Begin{procedure} ClrScr; priv:=' Вы запустили программу электронного учебника.'; TextColor(W

Procedure Find;
  Var s,w:string; Begin{Procedure} Case n_menu of 1: f_name:='main_men.pas'; 2: Begin{2} Str(p_kur,s); f_name:='r'+s+'.pas';

Procedure Registr;
  Var i:integer;   Begin{Procedure} For i:=1 to 2 do Begin{For} ClearDevice; SetColor(Green); Rectangle(5,5,635,475

Procedure Ramka;
  Begin{Procedure} SetColor(Green); SetlineStyle(0,0,NormWidth); Rectangle(5,5,635,475); Rectangle(40,35,600,50); SetTextStyle(0,0,1);

Procedure Kursor;
  Var y1:integer;   Begin{Procedure} SetColor(Red); If (n_menu=5)or(n_menu=6)or(n_menu=7)or(n_menu=8)or(n_menu=9) Then y:=26

Procedure Spravka;
  Var k1,k2:char; s,s1,s2,m:string;   Begin{procedure} Assign(f,f_name); k1:='1'; x:=p_kur; Repeat ClearDe

Procedure Test;
  Var ball:integer; z,ocenka,oc:string; dan_otv:string; vopros:string; mas_vopr:array[1..5]of string;   Begin{Procedure}

Procedure Poisk;
  Var i, k, h:integer; j, nom, k1, k2:char; s, s1, s2:string;   Begin{procedure} f_name_p:='f_poisk.pas'; Assign(f1,f_name_p

Procedure Diagram;
  Var d_ki_p, t_ki_p, ch_ki_p, p_ki_p:real; d_ki_s, t_ki_s, ch_ki_s, p_ki_s, kol_stud_s:string; y1, y2, y3, y4:integer;   Begin{Procedure}

Procedure Rezult;
  Var n_name, n_oc:string;   Begin{Procedure} Repeat ClearDevice; n_menu:=12; Ramka; f_name:='test_men.pas';

Program Main;
  Uses Crt,Graph;   {$i Vhod.pas} {$i OpDan.pas} {$i Registr.pas} {$i Chtenie.pas} {$i Find.pas} {$i Ramka.pas}

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги