Разработка прикладных программ и командного файла
ЗАДАНИЕ
на курсовую
работу по дисциплине «Программные средства
ПЭВМ»
Студенту:
Шифр:
Руководитель: ______________________________
(
Тема курсовой
работы: «Разработка
прикладных программ
и командного файла»
Вариант задания
на курсовую работу и исходные данные:
Составить и отладить прикладные программы на алгоритмическом языке Бейсик
| ВАРИАНТ 3 | ||||
| Прикладные программы размещаются в каталоге v:\myprog3 | ||||
| № | Назначение программы | Имя файла с исходными данными | Имя файла программы | Имя файла с результатами |
| 1 | Формирование значения переменной X0 | --- | GX2 | DX0 |
| 2 | Преобразование числа X в число X | DX1 | XX6 | DX1 |
| 3 | Преобразование числа X в массив M | DX0 | XM7 | DM0, M(2,8) |
| 4 | Преобразование массива М в массив М | DM0, M(2,8) | MM8 | DM1, M(2,8) |
| 5 | Преобразование массива М в число X | DM1, M(2,8) | MX9 | DX1 или DX2 |
Составить и
отладить командный файл, исполняющий
заданные действия
| Последовательность действий, выполняемых командным файлом v:\mybat3\bat3.bat | |
| 1 | Создать каталоги v:\mybas3; v:\myexe3 и v:\data3 |
| 2 | Копировать в каталог v:\mybas3 файлы программ GX2.bas, XX6.bas, XM7.bas, MM8.bas, MX9.bas с переименованием в файлы BGX2.bas, BXX6.bas, BXM7.bas, BMM8.bas, BMX9.bas |
| 3 | Копировать в каталог v:\myexe3 файлы программ GX2.exe, XX6.exe, XM7.exe, MM8.exe, MX9.exe с переименованием в файлы EGX2.exe, EXX6.exe, EXM7.exe, EMM8.exe, EMX9.exe |
| 4 | Выполнить прикладные
программы в следующем порядке:
Программу BGX; с использованием команды FOR в цикле последовательно программы EXM, EMM, EMX, причем, если X>=21, результат программы EMX занести в файл DX1, иначе – в файл DX2; с использованием команды IF по условию существования файла DX1 в цикле с использованием команды FOR 3 раза программу BXX; иначе – завершение |
| 5 | Удалить созданные
и скопированные файлы и |
СОДЕРЖАНИЕ
Введение…………………………………………………………
Расчетная часть……………………………………………………………….
1. Подготовка рабочего диска к выполнению задания………………………… 5
2. Разработка
прикладных программ……………………………
2.1.Разработка программы формирования значения переменной………….. 7
2.1.1. Разработка
алгоритма решения задачи………………
2.1.2 Разработка программы на языке бейсик………………………………..… 9
2.2. Разработка программы преобразования переменной Х0 в массив Х1.… 10
2.2.1. Разработка
алгоритма решения задачи………………
2.2.2. Разработка
программы на языке бейсик……………
2.3. Разработка программы преобразования переменной M0 в массив M0.. 12
2.3.1. Разработка
алгоритма решения задачи………………
2.3.2. Разработка
программы на языке бейсик……………
2.4. Разработка программы преобразования массива M0 в число М1…...… 14
2.4.1. Разработка
алгоритма решения задачи………………
2.4.2. Разработка
программы на языке бейсик……………
2.5. Разработка
программы преобразования
2.5.1. Разработка
алгоритма решения задачи………………
2.5.2. Разработка
программы на языке бейсик……………
3. Разработка программы на командном языке ОС MS DOS…………………. 19
3.1. Разработка
алгоритма решения задачи………………
3.2. Разработка программы на командном языке ОС………………………….. 22
Заключение……………………………………………………
Библиографический
список………………………………………………………25
ВВЕДЕНИЕ
Целью работы является развитие у студентов навыков поэтапного программирования (или программирования "сверху вниз"), а именно умения вначале разработать алгоритм решения общей задачи, а затем постепенно уточнять алгоритмы отдельных ее частей. Такой подход позволяет достаточно сложную задачу разбивать на ряд подзадач до тех пор, пока эти задачи не станут настолько простыми, что для каждой из них можно без особых затруднений составить алгоритм решения, записать его на соответствующем языке программирования и отладить на ЭВМ.
При выполнении курсовой работы студент осваивает все этапы создания программного продукта – от составления алгоритмов до их практической реализации на командном и алгоритмическом языках; учится проверять правильность работы алгоритма и программы при ее отладке, использовать стандартные подпрограммы; закрепляет знания и практические приемы работы в среде операционной системы и в среде программирования алгоритмического языка.
Целями выполнения курсовой работы являются:
- закрепление
знаний теоретических
- освоение основных этапов создания программных продуктов;
- закрепление практических приемов работы в среде операционной системы MS DOS;
- закрепление навыков разработки программ на конкретном языке программирования;
- приобретение навыков проверки правильности работы алгоритмов;
- приобретение навыков использования средств отладки программ.
Курсовая работа заключается в реализации на ПЭВМ решения основной задачи, которая включает выполнение программ решения ряда подзадач.
Основной задачей КР является подготовка файловой системы к исполнению прикладных программ с последующим выполнением этих программ в требуемом порядке. Эта задача решается на основе использования совокупности команд ОС MS DOS, объединенных в командный файл.
Решение
подзадач заключается в разработке
программ на языке бейсик. Каждая подзадача
представляет собой прикладную программу,
либо составленную на языке бейсик, либо
откомпилированную с языка бейсик и представленную
в виде исполняемого файла с расширением
*.exe.
РАСЧЕТНАЯ ЧАСТЬ
Основной задачей является составление, отладка и сохранение в каталоге V:\MYBAT3 командного файла с именем BAT3.BAT, в котором выполняется заданная последовательность действий.
Частными задачами (подзадачами) являются составление и отладка прикладных программ на алгоритмическом языке бейсик, размещающихся в файлах с именами *.bas, и выполнение трансляции этих программ с созданием исполняемых файлов *.exe.
Программы
интегрированной среды
Исходные данные и результаты работы программ размещаются в файлах DX*.dat, DM*.dat каталога V:\DATA3.
1. Подготовка рабочего диска к выполнению задания
Подготовка рабочего диска к выполнению задания заключается в следующем. Для работы применяется съёмный диск с именем F, целесообразно создать в нём рабочий каталог, например, с именем KURS и связать с ним корневой каталог виртуального диска командой subst. Пусть выбрано имя виртуального диска V. Тогда команда связывания будет иметь следующий вид:
subst V: F:\KURS
Кроме этого, до начала разработки программ необходимо иметь на виртуальном диске V интегрированную среду программирования бейсик в каталоге Qbasic и дополнительно создать на этом диске постоянные рабочие каталоги V:\MYPROG3, V:\MYBAT3.
Очередность разработки
программ целесообразно проводить в
порядке заданной последовательности
их исполнения в командном файле.
Структура
связей между программами
через потоки данных,
хранящихся в файлах.
2. Разработка прикладных программ
Прикладные программы, решающие частные подзадачи, разрабатываются в интегрированной среде программирования бейсик.
Процесс создания программ включает следующие этапы:
− постановку (формулировку) подзадачи;
− выбор метода решения подзадачи (если это необходимо);
− разработку алгоритма решения подзадачи;
− составление программы на выбранном языке;
− отладку программы.
2.1. Разработка программы формирования значения переменной Х0.
Постановка задачи. Сформировать целочисленное значение переменной Х0 согласно следующему выражению:
X=[tg(Ksi*П/4)*26]-11
где Ksi= -1,…,+1 – случайное число, изменяющееся в пределах от -1 до +1.
Значение переменной Х0 записать в файл DX0.dat.
Программу
сохранить в файле GX2.bas каталога
MYBAS3, а откомпилированную программу –
в файле GX2.exe каталога MYEXE3.
2.1.1. Разработка алгоритма решения задачи
1. Вывод на экран заголовка программы.
2. Инициализация генератора случайных чисел с помощью оператора RANDOMIZE.
3. Формирование случайного числа Ksi.
4. Вывод полученного числа Ksi на экран.
5. Вычисление
значения результата –
6. Вывод полученного числа Х0 на экран.
7. Открытие файла DX0.dat для записи с присвоением ему идентификатора #1.
8. Запись значения переменной ХØ в файл с идентификатором #1.
9. Закрытие файла
с идентификатором #1.
10. Вывод на экран сообщения о завершении программы.
2.1.2 Разработка программы на языке бейсик
Листинг программы GX2.bas представлен ниже.
CLS
PRINT "VIPOLNENIYE PROGRAMMI GX2"
RANDOMIZE TIMER
ksi = (-1 - 1) * RND + 1
PRINT "ksi=", ksi
x0 = INT(TAN(ksi * 3.14 / 4) * 26) - 11
PRINT "x0=", x0
OPEN "v:\data3\dx0.dat" FOR OUTPUT AS #1
WRITE #1, x0
CLOSE #1
PRINT "ZAVERSHENIYE PROGRAMMI GX2"
SYSTEM
Программа сохранена в текстовом формате в файле GX2.bas каталога MYBAS3.
Произведена компиляция программы в среде программирования в режиме
создания автономного EXE-файла (Stand-Alone EXE File), получен исполняе-
мый файл GX2.exe, который
перемещен в каталог MYEXE3.
2.2. Разработка программы преобразования переменной Х в Х1
Постановка задачи. Преобразовать целочисленное значение переменной
Х0 в значение переменной Х1 по следующему выражению:
X1 = (X^2 – 5*X + 6)^3/2 если X <= 3,5
X1 = Ln(5)*X если X > 3,5
где Х - значение переменной, хранящееся в файле DX1.dat
Вычисленное значение переменной Х1 записать в тот же файл DX1.dat, заменив им значение переменной X. Программу сохранить в файле XX6.bas каталога MYBAS3, а откомпилированную программу – в файле XX6.exe каталога MYEXE3.
2.2.1. Разработка алгоритма решения задачи
1. Вывод на экран заголовка программы.
2. Открытие файла DX1.dat для чтения исходных данных – значения переменной X.
3. Чтение значения переменной X из файла DX1.dat.
4. Закрытие файла DX1.dat.
5. Вывод прочитанного числа X на экран для контроля.
6. Проверка условия
по значению прочитанного
7. Вычисление значения перемен-
ной X1 по выражению X1 = (X^2 – 5*X + 6)^3/2
8. Вычисление значения перемен-
ной X1 по выражению X1 = Ln(5)*X
9. Вывод полученного числа X1 на экран для контроля.
10. Открытие файла DX1.dat для записи.
11. Запись значения переменной Х1 в файл DX1.dat вместо Х.
12. Закрытие файла DX1.dat.
13. Вывод на экран сообщения о завершении программы.
2.2.2. Разработка программы на языке бейсик.
Листинг программы ХХ6.bas представлен ниже.
PRINT "NACHALO PROGRAMMI XX6"
OPEN "v:\data3\dx1.dat" FOR INPUT AS #1
INPUT #1, x0
CLOSE #1
PRINT "x0="; x0
IF x0 <= 3.5 THEN
x1 = INT((x0 ^ 2 - 5 * x0 + 6) ^ (3 / 2))
ELSE
x1 = INT(LOG(5) * x0)
END IF
PRINT "X1="; x1
OPEN "v:\data3\dx1.dat" FOR OUTPUT AS #1
WRITE #1, x1
CLOSE #1
PRINT "ZAVERSHENIE PROGRAMMI XX6"
SYSTEM
Программа сохранена в текстовом формате в файле XX6.bas каталога MYBAS3. Произведена компиляция программы в среде программирования в режиме создания автономного EXE-файла (Stand-Alone EXE File), получен исполняемый файл ХХ6.exe, который перемещен в каталог MYEXE3.
2.3. Разработка программы преобразования переменной Х0 в массив M0
Постановка задачи. Преобразовать целочисленное значение переменной Х0 в значения переменных элементов массива M0 размерностью (2,8) по
следующему выражению:
Mi,j=cos(1,5i)-4 j=|X|
где Х0 - значение переменной, хранящееся в файле DX0.dat
Вычисленные значения переменных элементов массива M0 сохранить в файле DM0.dat.
Программу сохранить в файле XM7.bas каталога MYBAS3, а откомпилированную программу – в файле XM7.exe каталога MYEXE3.
2.3.1. Разработка алгоритма решения задачи.
1. Вывод на экран заголовка программы.
2.Описание двумерного массива чисел М0(2,8).
3. Открытие файла DX0.dat для чтения исходных данных – значения переменной X0.
4. Чтение значения переменной X0 из файла DX0.dat.
5. Вывод прочитанного числа X0 на экран для контроля.
6. Открытие файла DM0.dat для записи значений массива переменных М0(i,j).
7. Организация внешнего цикла с параметром i для вычисления значений элементов массива переменных М0(i,j).
8. Организация
внутреннего цикла с параметром
j для вычисления значений
9. Тело цикла. Вычисление значений элементов массива переменных М0(i,j).
10. Тело цикла.
Запись значений элементов
11. Тело цикла.
Вывод значений элементов
12. Закрытие всех открытых файлов.
13. Вывод на экран сообщения о завершении программы.
2.3.2. Разработка программы на языке бейсик
Листинг программы ХМ7.bas представлен ниже.
PRINT "NACHALO VIPOLNENIYA PROGRAMMI XM7"
DIM M0(2, 8)
OPEN "v:\data3\dx0.dat" FOR INPUT AS #1
INPUT #1, x0
PRINT "X0=", x0
OPEN "v:\data3\dm0.dat" FOR OUTPUT AS #2
FOR i = 1 TO 2
FOR j = 1 TO 8
m0(i, j) = INT(COS(1.5 ^ i) - 4 * j + ABS(x0))
WRITE #2, m0(i, j)
PRINT "M0("; i; ","; j; ")="; m0(i, j)
NEXT j
NEXT i
CLOSE #1
CLOSE #2
PRINT "ZAVERSHENIE PROGRAMMI XM7"
SYSTEM
Программа сохранена в текстовом формате в файле XМ7.bas каталога MYBAS3.
Произведена компиляция программы в среде программирования в режиме
создания автономного EXE-файла (Stand-Alone EXE File), получен исполняе-
мый файл ХМ7.exe,
который перемещен в каталог MYEXE3.
2.4. Разработка программы преобразования переменной M0 в массив M1
Постановка задачи. Преобразовать значения элементов массива M0
в значения переменных элементов массива M1 размерностью (2,8) по
следующему выражению:
M1(i,j) = ] 5*i^(4-j) + abs(M0(i,j)) – i*j [
где M0(i,j) - значения переменных элементов массива , хранящиеся в файле DM0.dat
Вычисленные
значения переменных элементов массива
M1 сохранить в файле DM1.dat. Программу
сохранить в файле MM8.bas каталога
MYBAS3, а откомпилированную программу –
в файле MM8.exe каталога MYEXE3.
2.4.1 Разработка алгоритма решения задачи
1. Вывод на экран заголовка программы.
2.Описание двумерных массивов чисел М0(2,8) и M1(2,8).
3. Открытие файла DM0.dat для чтения исходных данных – значений переменных элементов M0(i,j).
4. Открытие файла DM1.dat для записи полученных данных – значений переменных элементов M1(i,j).
5. Организация внешнего цикла с параметром i для вычисления
значений элементов массива переменных М1(i,j).
6. Организация внутреннего цикла с параметром j для вычисления значений элементов массива переменных М1(i,j).
7. Тело цикла. Чтение из файла DM0.dat значений элементов массива M0(i,j).
8. Тело цикла.
Вычисление значений элементов
массива переменных M1(i,j).
9. Тело цикла. Запись значений элементов массива переменных
М1(i,j) в файл DM1.dat.
10. Тело цикла. Вывод значений элементов массива переменных
М1(i,j) на экран для контроля. Конец тела цикла.
11. Закрытие всех открытых файлов.
12. Вывод на экран сообщения о завершении программы.
2.4.2. Разработка программы на языке бейсик
Листинг программы MM8.bas представлен ниже.
PRINT "NACHALO VIPOLNENIYA PROGRAMMI MM8"
DIM m0(2, 8)
DIM m1(2, 8)
OPEN "v:\data3\dm0.dat" FOR INPUT AS #1
OPEN "v:\data3\dm1.dat" FOR OUTPUT AS #2
FOR i = 1 TO 2
FOR j = 1 TO 8
INPUT #1, m0(i, j)
m1(i, j) = INT(5 * i ^ (4 - j) + ABS(m0(i, j)) - i * j)
WRITE #2, m1(i, j)
PRINT "M1("; i; ","; j; ")="; m1(i, j)
NEXT j
NEXT i
CLOSE #1
CLOSE #2
PRINT "ZAVERSHENIE PROGRAMMI MM8"
SYSTEM
Программа сохранена в текстовом формате в файле MМ8.bas каталога MYBAS3. Произведена компиляция программы в среде программирования в режиме создания автономного EXE-файла (Stand-Alone EXE File), получен исполняемый файл MМ8.exe, который перемещен в каталог MYEXE3.
2.5. Разработка программы преобразования массива M1 в число X1.
Постановка задачи. Преобразовать значения переменных элементов массива M1 размерностью (2,8) в целочисленное значение переменной Х1, где X1 – отрицательный элемент массива с наибольшим модулем.
Если X1>= 21, то результат программы занести в файл DX1.dat, иначе – в файл DX2.dat.
Программу сохранить в файле MX9.bas каталога MYBAS3, а откомпилированную программу – в файле MX9.exe каталога MYEXE3.
2.5.1 Разработка алгоритма решения задачи
1. Вывод на экран заголовка программы.
2.Описание двумерного массива чисел М1(2,8).
3. Открытие файла DM1.dat для чтения исходных данных – значений элементов массива M1(i,j).
4. Присвоить переменной
X1 значение 0.
5. Организация
внешнего цикла с параметром i
для работы с элементами
6. Организация внутреннего цикла с параметром j для работы с элементами массива M1.
7. Тело цикла. Чтение из файла элемента массива M1(i,j)
8. Тело цикла. Условие – если элемент меньше ноля и если модуль значения элемента больше X1, тогда переменной X1 присвоить значение данного элемента массива. Иначе закончить оператор условия. Конец тела цикла.
9. Условие - Если X1 по прежнему остался равным нолю, то вывод сообщения о том, что в массиве нет отрицательных значений элементов. Иначе вывести на экран значение X1.