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




Скачать 63.12 Kb.
НазваниеПояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование»
Дата публикации10.02.2014
Размер63.12 Kb.
ТипПояснительная записка
uchebilka.ru > Информатика > Пояснительная записка
Реферат скачан с сайта allreferat.wow.ua


Создание и обработка динамического списка

Пензенский технологический институт (завод-втуз)Факультет ФСВТКафедра Вмис Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» на тему «Создание и обработка динамического списка» Выполнил: студент группы 02В2 Новокшонов М.С. Руководитель: Данилина Н.П. Проект защищен с оценкой ________ Пенза 2003 [pic]1. Постановка задачи В данной курсовой работе необходимо на языке программирования написатьпрограмму, которая выполняет следующие действия: o Создание однонаправленного динамического списка содержащего сведения о книгах o Вывод данных однонаправленного динамического списка на экран o Удаление первого элемента однонаправленного динамического списка. o Перемена мест элементов однонаправленного динамического списка, которые заданы ключами. Программу построить по процедурному принципу, пользовательский элементоформить в виде меню. 32. Разработка метода решения задачи и его формализация1) В данной программе будут использоваться следующие глобальные переменные:n – массив 30 переменных типа char. Несет информацию о названии газеты.s – массив 30 переменных типа char. Несет информацию о названии статьиst – переменная типа int. Несет информацию о номере страницы.Все эти переменные являются элементами структуры gaseta:struct games char n[30];char s[30];int st;;g – переменная типа gaseta. Несет полную информацию о газете.n – указатель на структуру news.Все эти переменные являются элементами структуры news:struct newsgaseta g;news *n;;un – указатель на структуру news. Несет информацию об адресе первогоэлемента однонаправленного динамического списка.p – указатель на структуру news. Несет информацию об адресе текущегоэлемента однонаправленного динамического списка.q – указатель на структуру news. Несет информацию об адресе последнегосозданного элемента однонаправленного динамического списка.news *un,*p,*q;i – переменная типа int. Несет информацию о количестве элементоводнонаправленного динамического списка.int i; 42) Локальные переменные процедуры ввода данных:j – переменная типа int. Эта переменная является параметром всех цикловиспользуемых в данной процедуре.int j;3) Локальные переменные процедуры вывода данных:j – переменная типа int. Эта переменная является параметром всех цикловиспользуемых в данной процедуре.int j;4) Локальные переменные процедуры удаления первого элемента списка:У данной процедуры нет локальных переменных.5) Локальные переменные процедуры перемены мест элементов, которые заданыпо названию:j – переменная типа int. Эта переменная является одним параметром всехциклов используемых в данной процедуре.int j;k1 – переменная типа char. Несет информацию о названии первой газеты,место которой будем менять.k1 – переменная типа cnar. Несет информацию о названии второй газеты,место которой будем менять.char k1[30],k2[30];p2 – указатель на структуру news. Несет информацию об адресе второготекущего элемента однонаправленного динамического списка.news *p2;c - переменная типа gaseta. Несет полную информацию об игре.gaseta c; 56) Локальные переменные основной части программы:a – переменная типа int. Несет информацию о текущей процедуре и являетсяпараметром цикла и оператора множественного выбора.int a; 63. Разработка состава и структуры исходных данных и результата Исходные данные и результат представляют собой однонаправленныйдинамический список. Элементом списка будет являться структура, состоящаяиз внутренней структуры и указателя на следующий элемент списка. Внутренняяструктура состоит из полей:1) название газеты (тип char)2) название статьи (тип char)3) номера страниц (тип int)[pic]На экране исходные данные будут представлены:Введите данные о 1 статьеНазвание: Комсомольская правдаСтатья: О вреде куренияСтраница: 12………………………………Результат будет представлен в виде таблицы:+---------------+--------------+--------------+| газета | статья| страница ||Комсомольская правда | О вреде курения | 12 | 74. Разработка алгоритма4.1 Основная часть программы.0. Начало1 Очищаем экран2 Присваиваем переменной а, которая является параметром последующего циклаи оператора множественного выбора значение равное единицы3 Открываем цикл с предусловием (условие: переменная а не равна 5); в циклебудут выполняться шаги с 4 по 114 Вводим переменную а5 Выполняем оператор множественного выбора с параметром а; операторвключает шаги с 6 по 106 Если а=1, вызываем процедуру ввода данных7 Если а=2, вызываем процедуру вывода данных8 Если а=3, вызываем процедуру удаления первого элемента9 Если а=4, вызываем процедуру перемены мест элементов, которые заданыназваниями10 Если а не равно не одному из указанных раннее значений, то а присваиваемзначение 511 Закрываем оператор множественного выбора12 Закрываем цикл с предусловием13 Конец4.2 Процедура ввода данных0 Начало процедуры1 Резервируем область оперативной памяти размером равным размеру элемента иприсваиваем указателю на последний элемент q адрес этой области.2 Последовательно вводим данные внутренней структуры, на которую будитуказывать указатель q.3 Присваиваем указателю на первый элемент списка un и указателю на текущийэлемент p значение указателя q. Присваиваем переменной i, которая содержитданные о числе элементов списка и переменной j, которая является параметромпоследующих циклов значение равное 14 Открываем цикл с предусловием (условие: переменная j равна 1); в циклебудут выполняться шаги с 5 по 9 85 Увеличиваем значение переменной i на единицу6 Резервируем область оперативной памяти размером равным размеру элемента иприсваиваем указателю q адрес этой области7 Последовательно вводим данные внутренней структуры, на которую будитуказывать указатель q8 Устанавливаем указатель введенного ранее элемента n на элемент, введенныйшагом 7, а указателю p значение указателя q9 Вводим новое значение переменной j10 Закрываем цикл с предусловием11 Устанавливаем указатель n текущего элемента на NULL12 Конец процедуры4.3 Процедура вывода данных0 Начало процедуры1 Устанавливаем указатель p на первый элемент списка, а переменную j,которая будет параметром следующего цикла, устанавливаем в 12 Открываем цикл с предусловием (условие: переменная j меньше или равно i);в цикле будет выполняться шаги с 3 по 43 Последовательно выводим данные внутренней структуры, на которую будитуказывать указатель p4 Указатель текущего элемента p устанавливаем на следующий элемент, азначение переменной j увеличиваем на 15 Закрываем цикл с предусловием6 Конец процедуры4.4 Процедура удаления первого в списке элемента0 Начало процедуры1 Указатель текущего элемента p устанавливаем в начало, а указатель первогоэлемента в списке un устанавливаем на следующий элемент2 Освобождаем область памяти, на которую указывает указатель текущегоэлемента p 93 Значение переменной i, которая содержит данные о числе элементов всписке, уменьшаем на 14 Конец процедуры4.5 Процедура перемены мест элементов, которые заданы номерами0 Начало процедуры1 Вводим переменную k1, которая указывает на название первого элемента воперации перемены мест2 Устанавливаем указатель p на первый элемент списка.3 Открываем цикл с заданным числом повторений (j=0…k1); в цикле будетвыполняться шаг 44 Указатель на текущий элемент p устанавливаем на следующий элемент списка5 Закрываем цикл с заданным числом повторений6 Вводим переменную k2, которая указывает на название второго элемента воперации перемены мест7 Устанавливаем указатель p2 на первый элемент списка.8 Открываем цикл с заданным числом повторений (j=0…k2); в цикле будетвыполняться шаг 49 Указатель на текущий элемент p2 устанавливаем на следующий элемент списка10 Закрываем цикл с заданным числом повторений11 Переменной с присваиваем данные внутренней структуры, на которыеуказывает указатель текущего элемента p12 Данные внутренней структуры, на которые указывает указатель текущегоэлемента p2, копируем в переменные внутренней структуры, на которыеуказывает указатель текущего элемента p.13 Значение переменной с присваиваем переменным внутренней структуры, накоторые указывает указатель текущего элемента p2.14 Конец процедуры 105. Выбор языка Язык программирования СИ++ является языком высокого уровня. Язык СИ++был разработан на основе языка СИ Бьярном Страуструпом. Выбор языка СИ++для решения данной задачи обусловлен наличием в языке СИ++ средств длядинамического распределения памяти. Динамическое распределение памяти осуществляется операциями new иdelete. Это 2 особые унарные операции, появившиеся в языке СИ++ (в языке СИэтих операций не было). Операция new имя_типа или new имя_типаинициализатор позволяет выделить и сделать доступным свободный участок восновной памяти, размеры которого соответствуют типу данных, определяемомуименем типа. В выделенный участок заносится значение, определяемоеинициализатором, который не является обязательным элементом. В случаеуспешного выполнения операции new возвращает адрес начала выделенногоучастка памяти. Если участок нужных размеров не может быть выделен (нетпамяти), то операция new возвращает нулевое значение адреса (NULL).Синтаксис применения операции: указатель=new имя_типа инициализатор. Продолжительность существования выделенного с помощью операции newучастка памяти – от точки создания до конца программы или до явного егоосвобождения. Для явного освобождения выделенного операцией new участка памятииспользуется оператор delete указатель, где указатель адресуетосвобождаемый участок памяти, ранее выделенный с помощью операции new. 116. Разработка программы6.1 Основная часть программы.0 Начало. Описываем глобальные переменные и типы данных1 Очищаем экран с помощью оператора clrscr()2 Присваиваем переменной а, которая является параметром последующего циклаи оператора множественного выбора значение равное единицы: a=13 Открываем цикл с предусловием (условие: переменная а не равна 5); в циклебудут выполняться шаги с 4 по 11: while (a!=5)4 Вводим переменную а: a=getch()5 Выполняем оператор множественного выбора с параметром а; операторвключает шаги с 6 по 10: switch(a)6 Если а=1, вызываем процедуру ввода данных: case '1':vvod(); break7 Если а=2, вызываем процедуру вывода данных: case '2':vivod(); break8 Если а=3, вызываем процедуру удаления первого элемента: case '3':dele();break;9 Если а=4, вызываем процедуру перемены мест элементов, которые заданыномерами: case '4':pomen(); break;10 Если а не равно не одному из указанных раннее значений, то а присваиваемзначение 5: default: a=5; break;11 Закрываем оператор множественного выбора: 12 ????????? ???? ? ????????????: 13 ?????:

Добавить документ в свой блог или на сайт

Похожие:

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине «Объектно-ориентированное...
Целью работы является создание программной системы, которая реализует действия выполняемые пользователем почтового отделения с использованием...

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине «информатика»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине «Информатика»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине «Вычислительный практикум»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconКурсовой проект по дисциплине: «Основы программирования и алгоритмические языки»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconКурсовой проект по дисциплине: «Основы программирования и алгоритмические языки»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине «Системы сокрытия информации»

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная Записка к Курсовой Работе по Дисциплине «Информатика. Основы Программирования»

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

Пояснительная записка к курсовой работе по дисциплине: «Алгоритмические языки и программирование» iconПояснительная записка к курсовой работе по дисциплине "Информатика"...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<