Автор работы: Пользователь скрыл имя, 14 Декабря 2013 в 23:51, доклад
Программа должна быть защищена от ввода недопустимых данных, которые могут привести к сбою программы. Должны контролироваться:
- все вводимые с клавиатуры данные (размеры массивов, значения переменных и т.д.);
- наличие файлов исходных данных на диске (если таковые используются);
- наличие обрабатываемых данных (например, нельзя пытаться выводить еще не сформированный массив).
В этом задании предполагается решение следующих задач:
- формирование массива Х;
- формирование массива Y как функции Y(X);
- выполнение некоторых действий над массивом Y, вследствие чего получается новый массив YN;
- вывод результата - массивов X,Y и YN - в форме таблицы.
3
1. Задание .........................................................................................................3
2. Введение ..............................................................................................................6
3. Описание применения .......................................................................................7
3.1. Назначение программы ...............................................................................7
3.2. Структура программы ..................................................................................8
3.3. Входные данные ...........................................................................................9
3.4. Выходные данные .......................................................................................10
3.5. Алгоритм работы программы ....................................................................11
4. Руководство пользователя ...............................................................................13
5. Руководство программиста...............................................................................15
6. Заключение ........................................................................................................16
Список литературы ............................................................................................17
Изначально
программа запускает
Далее
, есле пользователь выбрал иной
пунк меню(проинициализировал
Дальше первому и последнему елементу массива – присваиваются значения A,B (х[1]:=a, x[n]:=b) - дальше процедура заканчивается и компилятор запускает вторую процедуру massiv_y , которая формирует массив у . В процедуре massiv_y используется цикл , который присваивает i-му елементу массива у угол sin i-го елемента массива х и умножает угол на 10 . Далее запускается процедура massiv_yn , которая формирует масив yn . В этой процедуре используется 2 цикла и еше одна процедура . Первый цикл заполняет массив YN только положительными числами массива У ( j:=1; for i:=1 to n do
Begin if(y[i] > 0) then yn[j] := y[i]; j:=j+1;end;) . Второй цикл заполняет массив YN отрицательными числами (for i:= j to n do Begin if(y[i] < 0) then yn[j] := y[i]; j:=j+1;end;) . После чего из процедуры massiv_y запускается процедура find_max_min , которая использует 2 цикла , которые находит максимальный и минимальный елемент массива у – дальше процедура заканчивается , и управление вновь передается в процедуру massiv_y ,которая ,в свою очередь, передает управление в начало бесконечного цикла While , который ведет диалог с пользователем (меню).
Есле пользователь выбирает
ниже процедура формирует таблицу и в цикле от 1-го до 24 и используя оператор GotoXY(1,y); y:= y +1 - выводит значения всех трех массивов ( х.у.уn) , есле елемент y[i] соответствует переменной max или min ( которые были инициализированы в процедуре find_max_min) то елемент массива у подсвечивается с помошью оператора textcolor , дальше цвет текста устанавливается в исходный (white)и цикл продолжается , есле y d cтановится равен 24 (следовательно таблица не помешается на экран ) компилятор выводит сообшение (write('нажми любую клавишу для продолжения'); и используется оператор Readkey; ,после того , как пользователь нажал какую-то клавишу , переменной Y:= 8 и елементы массива вновь печатаются сначала таблицы до тех пор , пока переменная i не станет равна переменной n ( размер массива ) есле i = n тогда цикл завершается- компилятор выводит сообшение о том , что таблица сформирована полностью и предлагает ввести любую клавишу для продолжения ( для выхода в главное меню ) .
Выход из бесконечного цикла(
В операторе Сase также предусмотрен иной вариант , когда пользователь ввводит ту клавишу , которая не привязана к выполнению того или иного действия . Есле же пользователь всё-таки нажал клавишу , которая не предусмотрена в Сase – компилятор выводит предупреждение (GotoXY(1,25); Write('Неверно введена клавиша , повторите попытку '); и управление снова передается в начало бесконечнечного цикла While .
Для запуска программы maska необходимо запустить файл maska.exe после чего вы увидите :
Рис.1 – «Главное меню»
В главном меню вам предлагается выбрать подпункт для выполнения той или иной процедуры :
Выбор следует подтвердить нажатием клавиши Enter(есле вы используете кливишу , стрелку в низ ).
Внимание!!!! Пункты меню
1,2,3 ( ввод исходных данных,
- Для ввода исходных данных ( благодаря которым будут формироваться массивы) вам нужно нажать клавишу F1. После того , как вы выбрали этот пункт меню , вам нужно ввести исходные данные (подробней о них можно почитать в справке , 5-й пункт меню ) также , программа предупредит вас , что исходный размер должен быть больше 20 , есле вы проигнорируете это требование , то программа вновь выведет запрос – так будет продолжаться до тех пор , пока вы не выполните условия которые описаны вверху . Есле вы выполните требования программы , то перед вами вновь появится меню , в котором вы сможете выбрать любое другое действие ( или повторить ввод исходных данных заного ).
- Для
запуска процедуры
F2 после чего вы увидите бегушую
том , что программа выполняется и масив формируется . После того , как массивы сформируются , перед вами вновь появится исходное меню , в котором вы можете выбрать последующие действия .
Рис.2 – «Формирование массива»
Для вывода результата на
5. РУКОВОДСТВО ПРОГРАММИСТА
Для того , чтобы посмотреть исходный код моей программы – вам нужно открыть файл Masca.bac ( при помоши компилятора Pascal или обычного текстового блокнота )
Для понимания
я прокомментировал все
В моей программе содержатся 7 процедур :
- Mainshow (вывод на экран информацию о программе,справку)
- V ( запрос исходных данных)
- Rezult (Выводит результаты 3х массивов в таблице)
- FindMAXmix (находит максимальное и минимальное значение
Массива у )
- MassivY(формирует массив у при помоши массива х и процедуры sin)
- MassivX(формирует массив благодаря исходным данным)
- MassivYN(формирует массив УN из массива У)
Т.К все переменные , которые
используются в программе
Вы можете переделать программу используя функции , которые будут работать с теми , значениями ( и даже с теми , типами ) которые вы укажите ( передадите в функцию) .
Также в моей программе
используются бесконечные
Большой недоработкой
этой программы , является то ,
что все пункты меню программы
следует вызывать
В результате выполненной работы была разработана программа, позволяющая самостоятельно формировать массивы по определённым параметрам и законам и выводить их на монитор в табличном виде.
Программы была выполнена на языке Turbo Pascal в интегрированной среде разработки Free Pascal IDE.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Решение задач средствами
2. [cyberforum.ru] - http://www.cyberforum.ru/