Алгоритмізація та програмування

Автор работы: Пользователь скрыл имя, 08 Июня 2015 в 22:42, курсовая работа

Описание работы

Си - универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан в этой системе, которая, как и большинство программ, работающих в ней, написаны на Си. Однако язык не привязан жестко к какой-то одной операционной системе или машине. Хотя он и назван «языком системного программирования», поскольку удобен для написания компиляторов и операционных систем, оказалось, что на нем столь же хорошо писать большие программы другого профиля.

Файлы: 1 файл

КурсачПрограммирование.docx

— 271.65 Кб (Скачать файл)

 

 

 

 

 

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

 

Кафедра автоматизованих

систем управління

 

 

 

ПОЯСНЮВАЛЬНА ЗАПИСКА

до курсової роботи з дисципліни

«Алгоритмізація та програмування»

 

 

 

Виконавець

ст.гр.__КН-__           __________________   __________________

(підпис)   (П.І.Б.)

Керівник            __________________   __________________

(підпис)   (П.І.Б.)

Дата захисту  ______________ Оцінка _______________________

Донецьк 2014г.

 

Реферат

47 страниц, 6 рисунков, 25 таблиц и 2 приложения

Целью курсовой работы по дисциплине «Алгоритмизация и программирование» является практическое закрепление теоретической части курса и приобретение навыков алгоритмизации и программирования с использованием современных программных и технических средств вычислительной техники.

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

 

 

МНОГОУРОВНЕВОЕ МЕНЮ, ГРАФИЧЕСКИЙ РЕЖИМ,ДВИЖЕНИЕ КРУГА ,МЕТОД СОРТИРОВКИ ВСТАВКАМИ, ЗАМЕНА МЕСТОИМЕНИЙ В ТЕКСТОВОМ ФАЙЛЕ

 

           
         

Вим

Лист

№ документа

Підпис

Дата

Розр.

     

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Лит

Лист

Керів.

       

у

   

Т.контр.

     

ДонНТУ, ФКНТ, гр. КН-13Б

Н.контр.

     

Зав.каф.

     


 


 

 

Содержание

 

 

 

Введение

 

Си - универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан в этой системе, которая, как и большинство программ, работающих в ней, написаны на Си. Однако язык не привязан жестко к какой-то одной операционной системе или машине. Хотя он и назван «языком системного программирования», поскольку удобен для написания компиляторов и операционных систем, оказалось, что на нем столь же хорошо писать большие программы другого профиля.

Многие важные идеи Си взяты из языка BCPL. Влияние BCPL на Си было косвенным – через язык В.

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

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

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

 

 

 

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

 

    1. Общие требования

 

Требования к структуре программы

 

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

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

 

Требования к интерфейсу программы

 

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

  • Вывести на экран  данные о задаче, которая решается;
  • Выбирать вариант решаемой задачи (работа с массивами, матрицами, построение графиков и т.д.)
  • Выбирать метод решения задачи;
  • Заносить исходные данные в удобном диалоговом окне;
  • Выводить результаты на экран;
  • Заканчивать работу программы (выход в DOS, Windows , С++);
  • Справка
  • О программе (автор, год создания, назначение);
  • О задаче;
  • О методе или методах решения задачи;
  • Инструкция по использованию.

Конкретный состав меню выбирается студентом по согласованию с руководителем. Место запроса в программе для выбора метода вычисления, способа отображения результатов вычислений также может быть определено самостоятельно в зависимости от индивидуального задания.

 

Требования к входным и выходным данным

 

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

 

 

 

1.2 Построение графических фигур

 

При решении задач должны выполняться следующие требования:

  • Хотя бы одна фигура должна иметь заливку, которая согласно условию меняет свои параметры;
  • Завершение движения происходит по нажатию клавиши Esc;
  • По нажатию клавиши С должен изменяться цвет фона.

 

 

вар-та

Индивидуальные задания

18

Круг, меняя свой цвет,  движется по диагонали экрана, оставляя за собой «шлейф». Дойдя до угла, останавливается и «шлейф» постепенно пропадает.


 

1.3 Задачи сортировки

 

 

При решении задач должны выполняться следующие требования:

  • Размер массива чисел должен вводиться с клавиатуры;
  • При формировании массива предусмотреть выбор варианта: случайным образом, вводом с клавиатуры или вводом из файла;
  • При выборе ввода чисел с клавиатуры, должен быть предусмотрен удобный интерфейс ввода данных;
  • При вводе из файла при недостаточном объеме данных элементы массива, для которых не хватило значений, заполняются случайными значениями;
  • Сформированный массив чисел отобразить на экране;
  • Предусмотреть вывод промежуточных результатов и результатов обработки на экран и/или в файл.

 

вар-та

Индивидуальные задания

15

Задана последовательность чисел, имеющая положительные и отрицательные элементы. Упорядочить положительные элементы по возрастанию методом вставки. У отрицательных элементов оставить тот же порядок следования в последовательности.


 

 

 

1.4 Обработка текстовых файлов

 

При решении задач должны выполняться следующие требования:

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

 

вар-та

Индивидуальные задания

21

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


 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

Запуск программы осуществляется с помощью файла «menu.exe». После запуска на экране появляется пользовательское меню. Меню состоит из пяти пунктов: Figure, Sort, Files, About и Exit.

Пункт «Sort» имеет выпадающее подменю, состоящие из трёх подпунктов, которое определяет способ заполнения:, С клавиатуры, Случайным образом, Из файла, а также кнопка Back, которая позволяет вернуться в главное меню. После выбора пункта/подпункта меню выполняется программа.

Программа будет состоять из 6-ти файлов:

- menu.cpp - файл содержит программу для реализации графического меню;

- menu_f.h - заголовочный файл, содержит функцию для реализации графического меню;

- first.h - файл содержит функции для реализации задания №1 - методы сортировки;

- second.h - файл содержит функции для реализации задания №2 – построение графических фигур;

- third.h - файл содержит функции для реализации задания №3 – обработка текстовых файлов;

- cl.h - файл содержит функции для настройки цвета текста и фона;

- about.h – файл, содержащий функцию для чтения файла о программе.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Анализ существующих  методов решения задачи 

 

3.1 Методы сортировки

 

Упорядочивание  положительных элементов по возрастанию методом вставки, не меняя порядок и расположение отрицательных элементов, осуществляется следующим образом:

Сначала надо выяснить положительный элемент или нет, если он больше нуля, то записываем его в дополнительный массив - так проверяем все элементы массив. Затем производим сортировку положительных элементов в дополнительном массиве методом вставки. Алгоритм таков:

  1. Исходный неотсортированный массив делится на 2 части: отсортированную и не отсортированную. В начале отсортированная часть состоит из 1-го элемента. Не отсортированная - остальные элементы. 

  1. Из неотсортированной части берется 1-й элемент, и в цикле сравнивается с элементами отсортированной части.
  2. Если находится первый элемент, который больше вставляемого, то вставляемый элемент вставляется перед ним. В противном случае, элемент вставляется в конец отсортированной части. Длина отсортированной части увеличивается на 1, а длина неотсорт. части уменьшается на 1.
  3. Выполняем до тех пор, пока в неотсортированной части не будет элементов.

 

3.2 Построение графических фигур

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

 

3.3  Обработка текстовых файлов

  По заданию сказано, что необходимо считывать не более 2-х символов, потому в моей работе будет считываться по 1 элементу. Программа проверяет каждый символ. Если этот символ не является разделителем, то это значит, что мы нашли слово. Далее слово записывается до первого разделителя после него. Затем программа проверит, является ли это слово местоимением, если да, то это местоимение заменится на местоимение множественного числа. Также предусматривается то, что местоимение единственного числа может быть короче или длиннее местоимения множественного числа или наоборот . Поэтому мы должны проверить размер местоимения. Если заменимое местоимение короче, то необходимо сдвинуть символы после слова на необходимое количество букв влево. Если больше, то на оборот, должны сдвинуть вправо.

Информация о работе Алгоритмізація та програмування