Курсовая Работа Написание программы

Курсовая Работа Написание программы.rar
Закачек 746
Средняя скорость 5604 Kb/s

Курсовая Работа Написание программы

Все приложения, графические материалы, формулы, таблицы и рисунки работы на тему: Написание программы на языке VBA (предмет: Программирование, компьютеры и кибернетика) находятся в архиве, который можно скачать с нашего сайта. Приступая к прочтению данного произведения (перемещая полосу прокрутки браузера вниз), Вы соглашаетесь с условиями открытой лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная (CC BY 4.0) .

курсовая работа по дисциплине Программирование, компьютеры и кибернетика на тему: Написание программы на языке VBA; понятие и виды, классификация и структура, 2016-2017, 2018 год.

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

По дисциплине «Информатика»

Студент: Соколова Виктория Игоревна

Руководитель: Ф.И.О. Левкова Анна Витальевна

  • 1. Задание на курсовую работу
  • 2. Описание переменных
  • 3. Блок схема
  • 4. Описание алгоритма
  • 5. Листинг программы
  • 6. Описание входных данных и результат вычислений
  • 7. Список использованной литературы
  • 1. Задание на курсовую работу

    В коллективном хозяйстве имеются цветочные оранжереи (розы, гвоздики, лилии — всего 6 видов цветов). Каждый год в течение 3 лет колхоз собирал букеты с каждой оранжереи и продавал их по закупочным ценам, которые были различны в разные годы.

    Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:

    * исходные данные в виде таблицы, где указаны наименования цветов, закупочные цены букетов каждого вида и количество букетов в каждом году;

    * общее количество букетов за 3 года;

    * доход по всем цветам за каждый год;

    * общий доход колхоза за 3 года;

    * вид цветов, принесший максимальный доход за 2 года.

    2. Описание переменных

    Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:

    Количество проданных букетов в год (количество не меняется).

    Закупочные цены букетов каждого вида.

    Результаты работы программы оформляются на листе «Результат» (рис. 2).

    Рис.1. Лист с начальными данными

    Рис.2. Полученные результаты

    В программе переменные описаны следующим образом:

    1) cena(6,3) — закупочные цены каждого вида цветов

    Dim cena(6,3) As Integer

    2) koll(6) — количество букетов каждого вида

    Dim koll(6) As Integer

    3) zar(6,3) — доход за каждый год (от 1 до 3)

    4) koll_n(6) — количество букетов каждого вида за 3 года
    представляет массив целых чисел

    Dim kol_n(6) As Integer

    5)den — доход колхоза за 3 года

    6)Koll_iИтоговое количество букетов за 3 года

    Dim Koll_i As Integer

    7)zarpl (6)— доход за 3 года

    8) sum(6.3)-вид цветов принесший максимальный доход за 2 года.

    В программе также были использованы вспомогательные переменные, счетчики циклов, i и j, являющиеся целыми числами.

    Dim i As Integer, j As Integer

    Переменные для расчета я взяла целые числа

    Рис3. Блок- схема

    Рис.3. Блок-схема (продолжение)

    Рис.3. Блок-схе Рис.3. Блок-схема (окончание)

    4. Описание алгоритма

    Ввод начальных (нулевых) значений для расчетных величин (количество проданных букетов за год, доход по годам и общий, Вид цветов, принесший максимальный доход за 2 года).

    Открытие листа с начальными данными («Нач_д») и получение этих данных в рабочие переменные (массивы сеnа(7) и kоll(7, 5)).

    Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждому букету и году). Во внутреннем цикле (по годам, расчет по 1 букету) определяется количество букетов за 3 года. Результат выводится.

    Расчет сумм дохода по букетам за каждый год вывод результатов. Организуется два вложенных цикла: внешний по букетам, внутренний по годам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление суммы доходод по i-му букету в j-й год с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) — вывод количество букетов. Расчет дохода за каждый год организован в этом же внутреннем цикле.

    Определение вида цветов принесшего максимальный доход за 2 года.

    Сравниваем доход за 2 года(1-й год+ 2-й год; 1-й год+ 3-й год; 2-й год+ 3-й год) сумма двух с наибольшим показателем складывается и выводится вид цветов.

    5. Листинг программы

    ‘Сначала объявляем переменные, используемые в программе.

    ‘объявляем переменные используемые в программе

    Dim i As Integer, j As Integer, min As Integer, z As Integer ‘счетчики циклов

    Dim cena(6, 3) As Integer ‘ закупочные цены каждого вида

    Dim zar(6, 3) As Integer ‘доход за каждый год

    Dim koll_n(6) As Integer ‘количество букетов каждого вида вида за 3 года

    Dim den As Long ‘доход колхоза за 3 года

    Dim zarpl(6) As Integer ‘доход за 3 года

    Dim koll(6) As Integer ‘количество букетов каждого вида

    Dim koll_i As Integer ‘итоговое количество букетов за 3 года

    Dim sum(6, 3) As Integer

    ‘в начале программы все переменные равны нулям

    ‘считываем начальные данные

    ‘в каждую ячейку массива koll(i) записывается количество букетов каждого вида

    ‘для этого используем цикл

    Koll(i) = Cells(3 + i, 2)

    koll_n(i) = koll(i) * 3

    koll_i = koll_i + koll_n(i)

    ‘в каждую ячейку массива cena(i, j) записывается закупочные цены каждого вида за год

    ‘так как массив двумерный цикл проходит по двум счетчикам

    cena(i, j) = Cells(3 + i, 2 + j)

    ‘на листе «Результат» создаются ячейки с определенными названиями

    Sheets(«Результат»).Cells(1, 1) = «Закупочные цены за год»

    Sheets(«Результат»).Cells(2, 1) = «Наименование букетов»

    Sheets(«Результат»).Cells(2, 2) = «Количество букетов»

    Sheets(«Результат»).Cells(2, 3) = «Закуплено»

    Sheets(«Результат»).Cells(3, 3) = «1-й год»

    Sheets(«Результат»).Cells(3, 4) = «2-й год»

    Sheets(«Результат»).Cells(3, 5) = «3-й год»

    Sheets(«Результат»).Cells(3, 6) = «Всего»

    Sheets(«Результат»).Cells(4, 1) = «розы»

    Sheets(«Результат»).Cells(5, 1) = «гвоздики»

    Sheets(«Результат»).Cells(6, 1) = «лилии»

    Sheets(«Результат»).Cells(7, 1) = «ромашка»

    Sheets(«Результат»).Cells(8, 1) = «хризантема»

    Sheets(«Результат»).Cells(9, 1) = «тюльпан»

    Sheets(«Результат»).Cells(10, 1) = «Итого»

    Sheets(«Результат»).Cells(10, 6) = koll_i

    ‘в соответствующие ячейки записываются количество букетов

    Sheets («Результат»).Cells(3 + i, 2) = koll(i)

    Sheets («Результат»).Cells(3 + i, 6) = koll_n(i)

    ‘в соответствующие ячейки записываются закупочные цены за год

    Sheets(«Результат»).Cells(3 + i, 2 + j) = cena(i, j)

    ‘рассчитывается закупочные цены каждого вида за год

    ‘результат записывается в соответствующие ячейки

    ‘на листе «Результат» создаются ячейки с определенными названиями

    Sheets(«Результат»).Cells(12, 1) = «Результат в денежном эквиваленте»

    Sheets(«Результат»).Cells(13, 1) = «Наименование букетов»

    Sheets(«Результат»).Cells(13, 2) = «количество букетов в каждом году.»

    Sheets(«Результат»).Cells(13, 3) = «Заработано»

    Sheets(«Результат»).Cells(14, 3) = «1-й год»

    Sheets(«Результат»).Cells(14, 4) = «2-й год»

    Sheets(«Результат»).Cells(14, 5) = «3-й год»

    Sheets(«Результат»).Cells(14, 6) = «Всего»

    Sheets(«Результат»).Cells(15, 1) = «роза»

    Sheets(«Результат»).Cells(16, 1) = «гвоздики»

    Sheets(«Результат»).Cells(17, 1) = «лилии»

    Sheets(«Результат»).Cells(18, 1) = «ромашка»

    Sheets(«Результат»).Cells(19, 1) = «хризантема»

    Sheets(«Результат»).Cells(20, 1) = «тюльпан»

    Sheets(«Результат»).Cells(21, 1) = «ИТОГО»

    Sheets(«Результат»).Cells(22, 1) = «Вид цветов принесший макс доход за 2 года»

    ‘производится вывод количества букетов в каждом году

    Sheets («Результат»).Cells (14 + i, 2) = koll (i)

    ‘расчет сумм: проданных букетов, за 3 года каждого вида цветов, общего дохода за 3 года;

    ‘вывод: проданных букетов, за 3 года каждого вида цветов

    zar (i, j) = koll(i) * cena(i, j)

    Sheets («Результат»).Cells (14 + i, 2 + j) = zar(i, j)

    zarpl (i) = zarpl(i) + zar(i, j)

    Sheets («Результат»).Cells (14 + i, 6) = zarpl (i)

    den = den + zarpl (i)

    ‘вывод общего дохода за 3 года

    Sheets(«Результат»).Cells(21, 6) = den

    ‘расчет вида цветов за 2 года принесших максим доход

    sum (i, 1) = zar (i, 1) + zar (i, 2)

    sum (i, 2) = zar (i, 2) + zar (i, 3)

    sum (i, 3) = zar (i, 1) + zar (i, 3)

    If sum (i, j) > min Then

    Sheets («Результат»).Cells (22, 6) = Sheets («Результат»).Cells (14 + z, 1)

    6. Описание входных данных и результат вычислений

    Проверка программы на всех единицах:

    Проверка на всех нулях:

    Проверка на произвольных данных:

    Исходные данные для задания № представлены на Рис.№1., решение — на Рис.2..

    7. Список использованной литературы

    1. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.

    2. Информатика. Часть 1. ВВЕДЕНИЕ в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.

    3. Информатика. Часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.

    4. Моделирование с помощью Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005

    5. Профессиональная разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005

    6. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004

    7. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001

    Написание программы «телеграф», который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире. Их вывод сортируется звуковым сигналом соответствующей длительности. Программа написана на языке Turbo Pascal.

    Разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Описание программного продукта. Выбор языка программирования. Схема информационных потоков. Комплект поставки и инсталляция.

    Программа на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран. Лист с начальными данными. Ввод начальных (нулевых) значений для расчетных величин. Вспомогательные переменные, счетчики циклов. Формирование матрицы данных.

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

    Написание программы на языке Delphi для определения суммарного напряжения крюковой подвески: расчет мощности электродвигателя по среднеквадратической нагрузке, по максимальному усилию в стреловом полиспасте, составление блок-схем, описание алгоритма.

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

    Написание программы входа пользователя в систему через пароль. Необходимость содержания входа в систему через ввод, проверки пароля, а также регистрации пользователя с занесением его имени и пароля в базу данных. Блокировка системы при неверном пароле.

    Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.

    Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

    Написание программы на языке Delphi — создание электронной записной книжки. Описание типов «запись», полей и массива, составление процедур. Создание приветствия и редактирование записи. Создание команды для вызова справки. Принцип работы программы.

    Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.

    Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

    Написание программы на языке Delphi — создание электронной записной книжки. Описание типов «запись», полей и массива, составление процедур. Создание приветствия и редактирование записи. Создание команды для вызова справки. Принцип работы программы.

    Написание программы, исходя из конкретных данных. Создание двунаправленного линейного списка. Main — главная программа, содержащая меню. Занесение данных в память списка. Результирующий файл. Значения всех числовых данных из диапазона целого типа данных.

    Курсовая на тему Написание программы на языке VBA

    ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

    По дисциплине «Информатика»

    Студент: Соколова Виктория Игоревна

    Руководитель: Ф.И.О. Левкова Анна Витальевна

    1. Задание на курсовую работу

    2. Описание переменных

    4. Описание алгоритма

    5. Листинг программы

    6. Описание входных данных и результат вычислений

    7. Список использованной литературы

    1. Задание на курсовую работу

    В коллективном хозяйстве имеются цветочные оранжереи (розы, гвоздики, лилии — всего 6 видов цветов). Каждый год в течение 3 лет колхоз собирал букеты с каждой оранжереи и продавал их по закупочным ценам, которые были различны в разные годы.

    Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:

    • исходные данные в виде таблицы, где указаны наименования цветов, закупочные цены букетов каждого вида и количество букетов в каждом году;

    • общее количество букетов за 3 года;

    • доход по всем цветам за каждый год;

    • общий доход колхоза за 3 года;

    • вид цветов, принесший максимальный доход за 2 года.

    2. Описание переменных

    Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:

    Количество проданных букетов в год (количество не меняется).

    Закупочные цены букетов каждого вида.

    Результаты работы программы оформляются на листе «Результат» (рис. 2).

    Рис.1. Лист с начальными данными

    Рис.2. Полученные результаты

    В программе переменные описаны следующим образом:

    1) cena(6,3) — закупочные цены каждого вида цветов

    Dim cena(6,3) As Integer

    2) koll (6) — количество букетов каждого вида

    Dim koll(6) As Integer

    3) zar (6,3) — доход за каждый год (от 1 до 3)

    Dim zar (6,3) As Integer

    4) koll _ n (6) — количество букетов каждого вида за 3 года
    представляет массив целых чисел

    Dim kol_n(6) As Integer

    5) den — доход колхоза за 3 года

    6) Koll _ i Итоговое количество букетов за 3 года

    Dim Koll_i As Integer

    7) zarpl (6) — доход за 3 года

    Dim zarpl(6) As Integer

    8) sum (6.3)-вид цветов принесший максимальный доход за 2 года.

    В программе также были использованы вспомогательные переменные, счетчики циклов, i и j , являющиеся целыми числами.

    Dim i As Integer, j As Integer

    Переменные для расчета я взяла целые числа

    Рис3. Блок- схема

    Рис.3. Блок-схема (продолжение)

    Рис.3. Блок-схема (окончание)

    4. Описание алгоритма

    Ввод начальных (нулевых) значений для расчетных величин (количество проданных букетов за год, доход по годам и общий, Вид цветов, принесший максимальный доход за 2 года).

    Открытие листа с начальными данными («Нач_д») и получение этих данных в рабочие переменные (массивы сеnа(7) и k о ll (7, 5)).

    Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждому букету и году). Во внутреннем цикле (по годам, расчет по 1 букету) определяется количество букетов за 3 года. Результат выводится.

    Расчет сумм дохода по букетам за каждый год вывод результатов. Организуется два вложенных цикла: внешний по букетам, внутренний по годам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление суммы доходод по i -му букету в j -й год с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) — вывод количество букетов. Расчет дохода за каждый год организован в этом же внутреннем цикле.

    Определение вида цветов принесшего максимальный доход за 2 года.

    Сравниваем доход за 2 года(1-й год+ 2-й год; 1-й год+ 3-й год; 2-й год+ 3-й год) сумма двух с наибольшим показателем складывается и выводится вид цветов.

    5. Листинг программы

    ‘Сначала объявляем переменные, используемые в программе.

    ‘объявляем переменные используемые в программе

    Dim i As Integer, j As Integer, min As Integer, z As Integer ‘ счетчики циклов

    Dim cena(6, 3) As Integer ‘ закупочные цены каждого вида

    Dim zar(6, 3) As Integer ‘доход за каждый год

    Dim koll_n(6) As Integer ‘количество букетов каждого вида вида за 3 года

    Dim den As Long ‘доход колхоза за 3 года

    Dim zarpl(6) As Integer ‘доход за 3 года

    Dim koll(6) As Integer ‘количество букетов каждого вида

    Dim koll_i As Integer ‘итоговое количество букетов за 3 года

    Dim sum(6, 3) As Integer

    ‘в начале программы все переменные равны нулям

    ‘считываем начальные данные

    ‘в каждую ячейку массива koll(i) записывается количество букетов каждого вида

    ‘для этого используем цикл

    Koll(i) = Cells(3 + i, 2)

    koll_n(i) = koll(i) * 3

    koll_i = koll_i + koll_n(i)

    ‘в каждую ячейку массива cena(i, j) записывается закупочные цены каждого вида за год

    ‘так как массив двумерный цикл проходит по двум счетчикам

    cena(i, j) = Cells(3 + i, 2 + j)

    ‘на листе «Результат» создаются ячейки с определенными названиями

    Sheets(«Результат»).Cells(1, 1) = «Закупочные цены за год»

    Sheets(«Результат»).Cells(2, 1) = «Наименование букетов»

    Sheets(«Результат»).Cells(2, 2) = «Количество букетов»

    Sheets(«Результат»).Cells(2, 3) = «Закуплено»

    Sheets(«Результат»).Cells(3, 3) = «1-й год»

    Sheets(«Результат»).Cells(3, 4) = «2-й год»

    Sheets(«Результат»).Cells(3, 5) = «3-й год»

    Sheets(«Результат»).Cells(3, 6) = «Всего»

    Sheets(«Результат»).Cells(4, 1) = «розы»

    Sheets(«Результат»).Cells(5, 1) = «гвоздики»

    Sheets(«Результат»).Cells(6, 1) = «лилии»

    Sheets(«Результат»).Cells(7, 1) = «ромашка»

    Sheets(«Результат»).Cells(8, 1) = «хризантема»

    Sheets(«Результат»).Cells(9, 1) = «тюльпан»

    Sheets(«Результат»).Cells(10, 1) = «Итого»

    Sheets(«Результат»).Cells(10, 6) = koll_i

    ‘в соответствующие ячейки записываются количество букетов

    Sheets (» Результат «).Cells(3 + i, 2) = koll(i)

    Sheets (» Результат «).Cells(3 + i, 6) = koll_n(i)

    ‘в соответствующие ячейки записываются закупочные цены за год

    Sheets(» Результат «).Cells(3 + i, 2 + j) = cena(i, j)

    ‘рассчитывается закупочные цены каждого вида за год

    ‘результат записывается в соответствующие ячейки

    ‘на листе «Результат» создаются ячейки с определенными названиями

    Sheets(«Результат»).Cells(12, 1) = «Результат в денежном эквиваленте»

    Sheets(«Результат»).Cells(13, 1) = «Наименование букетов»

    Sheets(«Результат»).Cells(13, 2) = «количество букетов в каждом году.»

    Sheets(«Результат»).Cells(13, 3) = «Заработано»

    Sheets(«Результат»).Cells(14, 3) = «1-й год»

    Sheets(«Результат»).Cells(14, 4) = «2-й год»

    Sheets(«Результат»).Cells(14, 5) = «3-й год»

    Sheets(«Результат»).Cells(14, 6) = «Всего»

    Sheets(«Результат»).Cells(15, 1) = «роза»

    Sheets(«Результат»).Cells(16, 1) = «гвоздики»

    Sheets(«Результат»).Cells(17, 1) = «лилии»

    Sheets(«Результат»).Cells(18, 1) = «ромашка»

    Sheets(«Результат»).Cells(19, 1) = «хризантема»

    Sheets(«Результат»).Cells(20, 1) = «тюльпан»

    Sheets(«Результат»).Cells(21, 1) = «ИТОГО»

    Sheets(«Результат»).Cells(22, 1) = «Вид цветов принесший макс доход за 2 года»

    ‘производится вывод количества букетов в каждом году

    Sheets (» Результат «).Cells (14 + i, 2) = koll (i)

    ‘расчет сумм: проданных букетов, за 3 года каждого вида цветов, общего дохода за 3 года;

    ‘вывод: проданных букетов, за 3 года каждого вида цветов

    zar (i, j) = koll(i) * cena(i, j)

    Sheets (» Результат «).Cells (14 + i, 2 + j) = zar(i, j)

    zarpl (i) = zarpl(i) + zar(i, j)

    Sheets (» Результат «).Cells (14 + i, 6) = zarpl (i)

    den = den + zarpl (i)

    ‘вывод общего дохода за 3 года

    Sheets(«Результат»).Cells(21, 6) = den

    ‘расчет вида цветов за 2 года принесших максим доход

    sum (i, 1) = zar (i, 1) + zar (i, 2)

    sum (i, 2) = zar (i, 2) + zar (i, 3)

    sum (i, 3) = zar (i, 1) + zar (i, 3)

    If sum (i, j) > min Then

    Sheets (» Результат «).Cells (22, 6) = Sheets (» Результат «).Cells (14 + z, 1)

    6. Описание входных данных и результат вычислений

    Проверка программы на всех единицах:

    Проверка на всех нулях:

    Проверка на произвольных данных:

    Исходные данные для задания № представлены на Рис.№1., решение – на Рис.2..

    7. Список использованной литературы

    Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.

    Информатика. Часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.

    Информатика. Часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.

    Моделирование с помощью Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005

    Профессиональная разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005

    Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004

    Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001

    Пояснительная записка: 43c, 6 рис, 28 табл, 3 источника, 4 приложения.

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

    Входными данными являются: таблица различной структуры и размера в файле. Выходными данными является файл с данными, либо полностью очищенный файл. Так же выводится текстовый файл с информацией об внешних таблицах.

    1 Постановка задачи

    1.1 Цель разработки

    1.2 Функциональные требования

    2. Методы и алгоритмы

    3 Выбор языка программирования

    4 Описание программного продукта

    4.1 Входные данные

    4.2 Выходные данные

    4.3 Схема информационных потоков

    4.4 Метод решения

    4.5 Функционально — логическая схема

    5 Комплект поставки и инсталляция

    5.1 Комплект поставки

    5.2 Порядок инсталляции

    5.3 Запуск программы

    6 Тестирование программного продукта

    Перечень использованных источников

    Приложение А Техническое задание

    Приложение Б Руководство пользователя

    Приложение В Экранные формы

    Приложение Г Листинг программы

    Внешние таблицы — таблицы, хранящиеся в файлах. Как правило, такие файлы велики, и для операций над ними, в частности удаление или добавление элементов, требуется большой объем оперативной памяти, поэтому для экономии памяти используются дополнительные или временные файлы, которые после произведения операций над ними переименовываются или удаляются.

    Внешние таблицы — это таблицы любой структуры. Для работы с ними необходимо определить количество и тип полей (символьный или строковый). Примером внешних таблиц могут быть различные прайс-листы, информация об абонентах кабельного телевидения, телефонный справочник и т.д. Внешние таблицы активно используются в различных базах данных.

    1 ПОСТАНОВКА ЗАДАЧИ

    Цель курсового проекта — написание программы, которая загружала бы из файлов таблицы различной структуры и объема, имела понятный графический интерфейс, определяла тип полей (строковый или символьный), а также выводила данную таблицу на экран. Если файл велик, должен быть предусмотрен вертикальный скроллинг со сдвигом по одному элементу. Программный продукт предусматривает выполнение операций удаления и очистки внешних таблиц. Также должна быть разработана система помощи пользователю (информация о внешних таблицах, об использовании программы, а также краткие сведения об авторе).

    1.2 Функциональные требования

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

    2 МЕТОДЫ И АЛГОРИТМЫ

    Внешние таблицы могут быть очень велики, поэтому для работы с ними принципиально неправильно использовать только оперативную память, необходимы различные дополнительные (вспомогательные) структуры, например файлы. Приведем пример удаления элемента внешних таблиц по порядковому номеру и интервалу. Необходимо удалить с пятого по двенадцатый элемент. Вначале считываем заголовок таблицы и без изменений заносим в дополнительный файл.

    Вначале считываем заголовок таблицы и без изменений заносим в дополнительный файл.

    Исходная таблица Дополнительная таблица

    Затем начинаем считывать по одному элементу из исходной таблицы, и если условие выполняется (считывается с первого по пятый и с тринадцатого по последний элементы), заносим в дополнительную таблицу.

    Пропускаем элементы до тринадцатого, затем аналогично считываем по одному, и заносим в дополнительный файл

    Дополнительная таблица в дополнительном файле

    Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный.

    Сложнее обстоит дело с удалением элементов по заданному значению ключа. Необходимо определить тип полей таблицы и самого ключа, затем сравнивать поэлементно числа или строки (в зависимости от ключа) в записях внешних таблиц, и таким же образом, как было рассмотрено выше, заносить во временный файл и произвести переименовку дополнительного файла.

    Исходная таблица Дополнительная таблица

    Считываем 1-й элемент

    Элемент не заносится в дополнительную таблицу

    Считываем 2-й элемент

    Элемент не заносится в дополнительную таблицу

    Считываем 3-й элемент

    Элемент заносится в дополнительную таблицу

    Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный.

    3 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ

    Процесс работы компьютера состоит в выполнении программы, набора вполне определённых команд в вполне определённом порядке. Машинный код команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить процессор. Т.е. чтобы создать программу для компьютера, необходимо записать последовательность нулей и единиц. Однако программирование в машинных кодах — занятие утомительное и малопродуктивное. Для упрощения процесса программирования были созданы специальные средства — языки программирования. Они стали появляться с 50-х годов и не перестают появляться и сегодня. Огромное количество языков говорит об ещё большем числе задач, которые приходится решать с помощью компьютера.

    Вообще, одну и ту же задачу обычно можно решить с использованием разных языков. Но применение неподходящего языка программирования может заметно усложнить процесс программирования или ухудшить результат работы.

    Для реализации данного программного продукта был выбран язык C и компилятор Borland C++ 3.1.

    Это решение было принято по следующим причинам:

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

    – система требует высокого быстродействия и доступа к низкоуровневому оборудованию;

    – язык программирования должен содержать библиотеку для работы в графическом режиме;

    – язык должен иметь средства работы со строками;

    – язык должен содержать средства работы с файлами;

    – необходимы средства динамического распределения памяти;

    – желательно наличие отладчика, позволяющего исполнять программу в пошаговом режиме, просматривать значения переменных и регистров процессора в процессе исполнения программы.

    Язык C отвечает всем этим требованиям. Хоть он и не является языком низкого уровня, скорость программ написанных на C довольно высока в сравнении с другими высокоуровневыми языками. Тем не менее, он обладает всеми чертами языков высокого уровня: обладает мощными управляющими структурами, является типизированным языком, позволяет структурировать программу. Библиотеки языка C предоставляют средства работы в графическом режиме, множество функций работы со строками и файлами. В C реализована система динамического распределения памяти. Он позволяет обращаться к любым адресам оперативной памяти, к портам ввода вывода, прерываниям операционной системы. Есть возможность делать ассемблерные вставки. Так что наиболее критичные участки программы могут быть написаны на языке ассемблера. Наконец, в состав системы Borland C++ 3.1 входит мощный отладчик, позволяющий расставлять в тексте программы контрольные точки, исполнять программу в пошаговом режиме, просматривать значения переменных, регистров и областей оперативной памяти по ходу исполнения программы.

    Кроме того, программы, написанные на C, отличаются компактностью как исходного, так и машинного кода. Они легко переносятся на другие операционные системы.

    Язык C обладает также и некоторыми недостатками: некорректное использование указателей может привести к серьёзным ошибкам в программе; компактность языка в сочетании с большим количеством операторов даёт возможность создавать код, понимание которого чрезвычайно затруднительно. Эти недостатки связаны с тем, что C ориентирован на опытных программистов, которые хорошо знают, что они делают.

    Таким образом, наиболее удобным для реализации данного программного продукта является язык программирования C.

    4 ОПИСАНИЕ ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО ПРОДУКТА

    Входными данными является любой файл, содержащий таблицу любой структуры (тип полей — символьный или строковый).

    Выходными данными является тот же файл, но с изменениями, зависящими от действий пользователя, структура таблицы при этом не нарушается.

    4.3 Схема информационных потоков

    Существует главная программа. В неё поступают Входные данные, вводимые пользователем с клавиатуры (имя файла данных, ключ), а также из внешних текстовых файлов (теория по ВТ, исходные данные). В ответ на вводимые данные главная программа выводит на экран монитора Выходные данные — теоретический материал, справку, таблицы с данными. Схематически работа программы изображена на рисунке 1.6.

    Рисунок 4.3 Схема информационных потоков.

    4.4 Метод решения

    После запуска программы происходит прорисовка экрана затем и самого главного меню. Из меню вызываются функции: файл, вывод окошка-запроса о загрузке, либо очистке файла, либо запросе о выходе из программы; таблица, вывод окошка-запроса об удалении элементов внешних таблиц; Справка — в этом пункте меню пользователь узнает, как правильно работать с программой, как корректно выйти; выход.

    Удаление элементов происходит по такой схеме: считываем в цикле по одному элементы из заданного файла, проверяем, входит ли этот элемент в заданный диапазон: если нет, то записываем в цикле по одному элементы во временный файл, если да, то пропускаем. Затем удаляем начальный файл и переименовываем временный.

    4.5 Функционально — логическая схема

    Рисунок 4.5 — функционально — логическая схема

    Работа программы начинается с загрузки главного меню программы. Он состоит из строки меню и двух окон вывода. Строка «Файл» состоит из трех пунктов. Пользователь выбирает нужный ему пункт. Назначение пунктов строки следующее:

    1) новый — создание нового файла с таблицей;

    2) загрузка — загрузка из внешней памяти уже существующего файла;

    3) удаление — удаление существующего файла из памяти ЭВМ;

    Меню «Удаление» состоит из трех пунктов:

    1) по номеру — удаление из загруженной таблицы записи под соответствующим номером (значение задает пользователь).

    Просмотр меню «Справка» приведет к выводу справочной информации по эксплуатации программы на экран.

    Меню «Выход» выполняет освобождение используемой памяти, закрытие используемых файлов и завершение работы алгоритма.

    Схематично работа программы представлена на рисунке 4.5.


    Статьи по теме