Разработка прикладных программ и командного файла

 

                                                                                                  _______________________________ 

                                                «___»___________________20___ г. 

ЗАДАНИЕ

на курсовую работу по дисциплине «Программные средства ПЭВМ» 

Студенту:  

Шифр:  

Руководитель: _________________________________________

                        (Фамилия, Имя,  Отчество)

Тема курсовой работы: «Разработка прикладных программ и командного файла» 

Вариант задания  на курсовую работу и исходные данные: 

Составить и  отладить прикладные программы на алгоритмическом языке Бейсик

ВАРИАНТ 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 Удалить созданные  и скопированные файлы и каталоги
 
 
 
 
 
 
 

СОДЕРЖАНИЕ 

Введение…………………………………………………………………….……. 4

Расчетная часть……………………………………………………………….….. 5

1. Подготовка  рабочего диска к выполнению  задания………………………… 5

2. Разработка  прикладных программ…………………………………………… 7

2.1.Разработка программы формирования значения переменной………….. 7

2.1.1. Разработка  алгоритма решения задачи…………………………………...8

2.1.2 Разработка программы на языке бейсик………………………………..… 9

2.2. Разработка программы преобразования переменной Х0 в массив Х1.… 10

2.2.1. Разработка  алгоритма решения задачи…………………………………...10

2.2.2. Разработка  программы на языке бейсик…………………………………. 11

2.3.  Разработка программы преобразования переменной M0 в массив M0.. 12

2.3.1. Разработка  алгоритма решения задачи…………………………………....12

2.3.2. Разработка  программы на языке бейсик…………………………………. 13

2.4.    Разработка программы преобразования массива M0 в число М1…...… 14

2.4.1. Разработка  алгоритма решения задачи……………………………………15

2.4.2. Разработка  программы на языке бейсик…………………………………. 16

2.5. Разработка  программы преобразования переменной М в Х1……………. 17

2.5.1. Разработка  алгоритма решения задачи…………………………………....17

2.5.2. Разработка  программы на языке бейсик…………………………………. 18

3. Разработка  программы на командном языке  ОС MS DOS…………………. 19

3.1. Разработка  алгоритма решения задачи…………………………………….. 20

3.2. Разработка  программы на командном языке  ОС………………………….. 22

Заключение……………………………………………………………………….. 24

Библиографический список………………………………………………………25 
 
 
 
 
 
 
 
 
 
 

ВВЕДЕНИЕ

     Целью работы является развитие у студентов навыков поэтапного программирования (или программирования "сверху вниз"), а именно умения вначале разработать алгоритм решения общей задачи, а затем постепенно уточнять алгоритмы отдельных ее частей. Такой подход позволяет достаточно сложную задачу разбивать на ряд подзадач до тех пор, пока эти задачи не станут настолько простыми, что для каждой из них можно без особых затруднений составить алгоритм решения, записать его на соответствующем языке программирования и отладить на ЭВМ.

     При выполнении курсовой работы студент  осваивает все этапы создания программного продукта – от составления алгоритмов до их практической реализации на командном и алгоритмическом языках; учится проверять правильность работы алгоритма и программы при ее отладке, использовать стандартные подпрограммы; закрепляет знания и практические приемы работы в среде операционной системы и в среде программирования алгоритмического языка.

     Целями  выполнения курсовой работы являются:

- закрепление  знаний теоретических положений  дисциплины;

- освоение основных  этапов создания программных  продуктов;

- закрепление  практических приемов работы в среде операционной системы MS DOS;

- закрепление  навыков разработки программ на конкретном языке программирования;

- приобретение  навыков проверки правильности  работы алгоритмов;

- приобретение  навыков использования средств  отладки программ.

     Курсовая  работа заключается в реализации на ПЭВМ решения основной задачи, которая включает выполнение программ решения ряда подзадач.

     Основной  задачей КР является подготовка файловой системы к исполнению прикладных программ с последующим выполнением этих программ в требуемом порядке. Эта задача решается на основе использования совокупности команд ОС MS DOS, объединенных в командный файл.

     Решение подзадач заключается в разработке программ на языке бейсик. Каждая подзадача представляет собой прикладную программу, либо составленную на языке бейсик, либо откомпилированную с языка бейсик и представленную в виде исполняемого файла с расширением *.exe. 

РАСЧЕТНАЯ ЧАСТЬ

     Основной  задачей является составление, отладка  и сохранение в каталоге V:\MYBAT3 командного файла с именем BAT3.BAT, в котором выполняется заданная последовательность действий.

         Частными задачами (подзадачами) являются составление и отладка прикладных программ на алгоритмическом языке бейсик, размещающихся в файлах с именами *.bas, и выполнение трансляции этих программ с созданием исполняемых файлов *.exe.

     Программы интегрированной среды программирования бейсик размещаются в каталоге V:\QBASIC. Файлы прикладных программ *.bas, *.exe в исходном состоянии (до исполнения) размещаются в каталоге V:\MYPROG3.

     Исходные данные и результаты работы программ размещаются в файлах 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. Вычисление  значения результата – значения  переменной Х0.

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,если ложно – 8.

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 для вычисления значений элементов  массива переменных М0(i,j).

9. Тело цикла. Вычисление значений элементов массива переменных М0(i,j).

10. Тело цикла.  Запись значений элементов массива  переменных М0(i,j) в файл DM0.dat.

11. Тело цикла.  Вывод значений элементов массива  переменных М0(i,j) на экран для контроля. Конец тела цикла.

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 для работы с элементами массива  M1.

6. Организация внутреннего цикла с параметром j для работы с элементами массива M1.

7. Тело цикла. Чтение из файла элемента массива M1(i,j)

8. Тело цикла. Условие – если элемент меньше ноля и если модуль значения элемента больше X1, тогда переменной X1 присвоить значение данного элемента массива. Иначе закончить оператор условия. Конец тела цикла.

9. Условие - Если X1 по прежнему остался равным нолю, то вывод сообщения о том, что в массиве нет отрицательных значений элементов. Иначе вывести на экран значение X1.

Разработка прикладных программ и командного файла