Реферат Курсовая Конспект
КОНЕЦ схемы OpDan; - раздел Компьютеры, Компьютерные технологии в приборостроении Алгоритм Модуля Main: ...
|
Алгоритм модуля Main:
|
|
**
Алгоритм модуля 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;
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов