Разработка программного обеспечения для обучающей и тестирующей системы "Лексика английского языка" - Курсовая работа

бесплатно 0
4.5 186
Методы работы с файлами на языке Си. Принципы модульного программирования. Реализация программы с дружелюбным интерфейсом для комфорта пользователя и организацией высокоэффективной работы по изучению лексики английского языка. Подпрограммы, их функции.


Аннотация к работе
Работа в двух режимах - администратора и пользователя; возможность работы со словарем: его просмотр целиком или по темам, поиск перевода определенного слова, причем как в направлении английский - русский, так и обратное; режимы тестирования: обучающий, который указывает правильные ответы, и режим самоконтроля. В режиме "Администратора" идет работа с набором файлов, каждый и которых представляет собой обособленную тему. Таким образом каждый файл содержит список строк вида: слово на английском языке - его перевод на русском. Вся задача разбита на семнадцать отдельных модулей (функций), шесть из которых используются для реализации диалога с пользователем, путем выбора определенного пункта меню, семь из них отвечают за выполнение конкретной задачи программы, остальные используются для реализации вспомогательных вычисления и промежуточных действий. Для работы с файлами данных предусмотрены двенадцать подпрограмм.Таким образом, был построен программный продукт, который может стать надежным помощником в изучении английского языка.} void zagolovok(); //пп печати заголовка на экран int menu(); //пп выбора меню работы int prosmotr (); //подпрограмма для печати словаря на экран int poisk(); // поиск перевода определенного слова int rabota_slovar(); // пп выбора режима работы со словарем int kolvo_strok(char name[]); // пп подсчета количества строк в файле int trenazer(int flk); // пп режима тренажер пользовательского меню int korr_temi(); // пп для корректировки заданной темы int kolvo_tem(); // пп подсчета количества тем void generator_input(); // пп генерирования из тем монолитного файла int ud_temi(); // пп удаления темы int kolic_tem; //глобальная переменная, отвечает за количество тем const int dobav = 5; // константа - добавления void generator_rus(); // пп для генерирования русско-английского словаря int vibor_polz_rezima (); //пп выбора пользовательского режима int parol(); //пп ввода пароля для доступа к режиму администратора int vibor_adm(); //пп выбора режима работы администратора int sozd_temi(); // пп создания новой темы int administrator(); // пп режима администратора int naxodka_stroki (int nomer,char str[100]); // находит строку с № nomer, считает, что "!

" не является строкой void zagolovok() //пп печати заголовка на экран char name[10]; // имя темы в формате t_.txt name[0]="t"; if (s == NULL) Rus("При вводе Вы пропустили символ "-"; повторите ввод...

"); if (s == NULL) Rus("При вводе Вы пропустили символ "-"; повторите ввод...

"); char name[7];Для тестирования программы нужно запустить файл VOCABULARYOFENGLISH.exe, зайти в режим администратора, проверить каждый из модулей на корректную работоспособность (ввод новой темы, корректировка темы, удаление темы). В режиме пользователя проверить корректность открытия файла словаря и корректность поиска заданной строки по словарю. При работе в пунктах вложенного меню рекомендуется выйти и зайти в них снова для проверки правильности сохранения данных. Программный продукт имеет следующий вид: (Рисунок 3 - 9).Для установки программы: скопировать папку VOCABULARYOFENGLISH с набором файлов вида: t0.txt. Также в папке могут содержаться файлы eng-rus.txt, rus-eng.txt. Программный продукт предназначен для оказания помощи в улучшении английского абсолютно любого человека. Программа дает возможности изучения отдельных лексикон английского языка с последующим тестированием для проверки знаний. Данный программный продукт может быть использован человеком, не имеющим большого опыта работы с компьютером.

Введение
В современном обществе для продуктивного обучения и успешной карьеры просто необходимо знание иностранных языков, в первую очередь - английского. Но мало кто владеет им в совершенстве, поэтому каждому из нас рано или поздно приходит в голову идея более детального изучения языка. И в чем же состоит его изучение?.. Конечно, нужно читать книги на английском, разговаривать на нем, учить грамматику, но и самое главное - учить новые слова. Для многих этот пункт вырастает в настоящую проблему. Несомненно придумано множество путей ее решения - и всевозможные карточки, и электронные словари, и метод графического изображения слов... Но, согласитесь, когда нас кто-то или что-то контролирует, мы относимся к себе более строже. Предложенная мною обучающе-тестирующая система поможет Вам решить эту проблему. Программа предлагает широкий спектр возможностей. Работа в двух режимах - администратора и пользователя; возможность работы со словарем: его просмотр целиком или по темам, поиск перевода определенного слова, причем как в направлении английский - русский, так и обратное; режимы тестирования: обучающий, который указывает правильные ответы, и режим самоконтроля. В режиме администратора - возможность редактирование словаря.

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

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

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

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

В режиме "Администратора" идет работа с набором файлов, каждый и которых представляет собой обособленную тему. Таким образом каждый файл содержит список строк вида: слово на английском языке - его перевод на русском.

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

Функции системы: - создание и корректировка файла выбранной темы: - создание новой темы

- корректировка уже существующей темы (запись новой строки, корректировка строки, удаление строки)

- удаление темы

- просмотр списка слов по темам либо в едином режиме

- поиск определенного слова

- тестирование (с сообщением итоговой информации о тесте)

- тренажер (с сообщением итоговой и промежуточной информации)

2. Решение задачи

2.1 Алгоритм решения

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

2.2 Структура данных

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

3. Описание программного обеспечения

3.1 Общий подход к программной реализации

Программа написана на языке Си. Этот язык выбран по причине своей гибкости, понятности и удобства.

Данная программа работает в консольном текстовом режиме. Программа имеет модульную структуру (всего 18 подпрограмм). Набор подпрограмм для режима администратора используется совокупность файлов-тем, для режима пользователя - 1 общий файл, в которой уже записаны все темы. Большая часть данных объявлена через локальные переменные, через глобальные объявлены переменная, отвечающая за количество используемых тем, и вторая - константа, отвечающая за приращение аргумента.

3.1.1 Данный программный продукт предусматривает наличие следующих файлов: VOCABULARYOFENGLISH.exe, eng-rus.txt, rus-eng.txt (при отсутствии создается автоматически) и набор файлов тем вида: t0.txt.

3.1.2 Объем разработанного программного обеспечения: VOCABULARYOFENGLISH.exe - 763 Кб, eng-rus.txt, rus-eng.txt по 3 Кб, и 4 стартовые темы, в сумме 3 Кб. Всего - 772 Кб

3.1.3 Общие требования к компьютеру и системному программному обеспечению: Microsoft Windows 2000/XP/Vista

Процессор Pentium II 266MHZ или выше

RAM 10 Мб

Жесткий диск 2 Мб свободного пространства

3.2 Укрупненный алгоритм программы

На рисунке 1 представлен укрупненный алгоритм программы. Причем каждый из этапов (модулей) программы подразумевает помимо основных функций еще защиту от некорректного ввода.

3.3 Модульная структура программы

В программном продукте реализована следующая иерархия модулей (Рисунок 2).

3.4 Состав программы main() - главная подпрограмма, реализующая связь и взаимодействие остальных подпрограмм.

В программном продукте использованы следующие подпрограммы: 1. Подпрограммы, реализующие диалог с пользователем (выбор пунктов меню): o int menu(); - подпрограмма выбора главного меню работы;

o int vibor_polz_rezima (); - подпрограмма выбора пользовательского режима;

o int administrator(); - подпрограмма управления режимом администратора;

o int vibor_adm(); - подпрограмма выбора режима работы администратора;

o int rabota_slovar(); - подпрограмма выбора режима работы со словарем;

2. Подпрограммы, отвечающие за реализацию основных модулей раздела "Администратор": o int korr_temi(); - подпрограмма для корректировки заданной темы;

o int ud_temi(); - подпрограмма для удаления темы;

o int sozd_temi(); - подпрограмма для создания новой темы;

3. Подпрограммы, отвечающие за реализацию основных модулей раздела "Пользователь": o int prosmotr (); - подпрограмма для печати словаря на экран;

o int poisk(); - подпрограмма для поиск перевода определенного слова;

o int trenazer(int flk); - подпрограмма для осуществления тестирования(параметр - 1 передается при режиме тренажер, 2 - при режиме теста);

4. Подпрограммы, реализующие вспомогательные функции: o void Rus (char *str); - подпрограмма печати русскоязычного текста (параметр - строка для печати);

o void zagolovok(); - подпрограмма печати заголовка на экран;

o int kolvo_strok(char name[]); - подпрограмма подсчета количества строк в файле (параметр - имя файла);

o int kolvo_tem(); - подпрограмма подсчета количества тем;

o void generator_input(); - подпрограмма генерирования из тем монолитного файла;

o void generator_rus(); - подпрограмма для генерирования русско-английского словаря;

o int parol(); - подпрограмма ввода пароля для доступа к режиму администратора;

o int naxodka_stroki (int nomer,char str[100]); - подпрограмма нахождения строки с заданным номером(параметры - номер строки, и, собственно, сама возвращаемая строка с заданным номером);

Вывод
Таким образом, был построен программный продукт, который может стать надежным помощником в изучении английского языка. Данные словаря представлены в удобном для пользователя виде.

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

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

Список литературы
1 Егорова Е.В. Программирование на языке высокого уровня: Учебное пособие / Алт. госуд. технич. ун-т им. И.И. Ползунова Барнаул: 2009. - 166 с.

2 Шилдт Г. Полный справочник по С. - М.: Вильямс, 2012. - 704 с.

3 Поляков К. Программирование на языке Си, 2008.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?