Курсовая работа по дисциплине «Основы алгоритмизации»




Скачать 160.74 Kb.
НазваниеКурсовая работа по дисциплине «Основы алгоритмизации»
Дата публикации31.03.2014
Размер160.74 Kb.
ТипКурсовая
skachate.ru > Спорт > Курсовая















^
ФГБОУ ВПО «БАЙКАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


ЭКОНОМИКИ И ПРАВА»
Кафедра информатики и кибернетики

КУРСОВАЯ РАБОТА
по дисциплине «Основы алгоритмизации»

Вариант 31

Выполнил

группа:

Проверил:




2012 год

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ 3

^ ОСНОВНАЯ ЧАСТЬ 4

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

Математическая модель задачи 4

Функциональная схема и ее спецификация 5

Спецификации вспомогательных алгоритмов 6

Блок схемы основного и вспомогательного алгоритмов 11

ЗАКЛЮЧЕНИЕ 14

^ СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 15

ПРИЛОЖЕНИЕ 1 16


ВВЕДЕНИЕ


Различные виды алгоритмов мы постоянно используем в нашей повседневной жизни, например в приготовление пищи или, но особую роль алгоритмы играют в программировании. Можно сказать основную. Любая программа это – прежде всего алгоритм, не имея алгоритма хотя бы в голове невозможно даже начать писать программу. Алгоритм это – четкое понимание какие действия и в какой последовательности нужно выполнить, чтобы получить результат. Понятно, что каждый из нас составляет алгоритмы по своему, алгоритмизация учит нас делать это согласно стандартам, на языке алгоритмов. Алгоритмизация, на мой взгляд, решает две задачи, во-первых: упрощает взаимодействие между людьми, как и любой другой технический стандарт, во-вторых: предоставляет инструмент для записи алгоритмов любой сложности.
^

ОСНОВНАЯ ЧАСТЬ

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


Определить средневзвешенную величину партии поставки, если известны: объем поставки каждого вида продукции по каждому виду транспорта и количество поставок каждым видом транспорта. Средневзвешенная величина определяется по формуле:

Pv = , где

p(i,j) – объем поставки j-ого вида продукта i-тым транспортом

m(i) – количество поставок i-тым транспортом

Найти минимум отклонения n(i)=min

Упорядочить n(i) по убыванию
^

Математическая модель задачи


Введем дополнительные переменные: a – числитель дроби, b – знаменатель дроби, вычислим их отдельно, а затем найдем их отношение.

Числитель, он же a, представляет собой число, сумму элементов, стоящих по строкам матрицы p(i,j), построчно разделенных на соответствующий элемент массива m(i) и затем сложенных между собой.

Знаменатель дроби, он же b, это- число, получаемое в результате суммирования всех элементов матрицы p(i,j).
Исходные данные:

k – количество видов транспорта (совпадает с номером строки матрицы p(i,j)

m(i), i= - количество видов продукции, совпадает с количеством элементов в i-той строке матрицы p(i,j)

p(i,j), i=; j= –матрица j-ого вида продукта поставленного i-тым транспортом

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

pv – средневзвешенная величина партии поставки

n(i), i= – минимум отклонения найденный по формуле n(i)=
Для этой задачи мы используем следующие вспомогательные алгоритмы:

  • Вычисление суммы элементов матрицы по строкам, деление полученной суммы на соответствующий элемент массива m(i), затем суммирование полученных результатов. Вычисление суммы элементов матрицы p(i,j)

  • Нахождение минимальных элементов матрицы по строкам

  • Упорядочить элементы массива по убыванию (невозрастанию)
^

Функциональная схема и ее спецификация




3.1

3.3

2.3

2.1

3.2


2.2


1.1



Таблица 1. Спецификация функциональной схемы


Спецификация функциональной схемы

Уровень иерархии

Номер подпрограммы в уровне

Имя подпрограммы

Функции
подпрограммы

1

1

Program

Головная программа

2

1

Input

Ввод исходных данных

2

Main

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

3

Output

Вывод результатов

3

1

Solution

Вычисление значения по формуле pv=

2

Minimum

Нахождение минимума отклонения по условию n(i)=

3

Select

Упорядочение массива по убыванию



^

Спецификации вспомогательных алгоритмов


Таблица 2. Спецификация подпрограммы ввода


Номер подпрограммы: 2.1.

Имя подпрограммы: Input

Тип:

Процедура

Вызывается: 1.1.

Вызывает подпрограмму: нет

Назначение: ^ Ввод исходных данных




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

нет




Рабочие переменные

Имя

Тип и длина

Область определения

Назначение

i

integer

> 0

Счетчик цикла по строкам

j

integer

> 0

Счетчик цикла по столбцам

k

integer

> 0

Кол-во строк в матрице

m

integer

> 0

Массив, определяет кол-во элементов в каждой строке матрицы




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

Имя

Тип и длина

Область определения

Назначение

k

integer

> 0

Количество строк матрицы

m

integer

> 0

Массив, количество элементов в каждой строке матрицы

p

real

любое

Двумерный массив

Таблица 3. Спецификация подпрограммы вывода


Номер подпрограммы: 2.3.

Имя подпрограммы: Output

Тип:

Процедура

Вызывается: 1.1.

Вызывает подпрограмму: нет

Назначение: ^ Вывод одномерного массива




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

Имя

Тип и длина

Область определения

Назначение

k

integer

> 0

длина массива

pv

Real

Любое

Средневзвешенная величина партии поставки

n

Real

Любое

Одномерный массив







Рабочие переменные

Имя

Тип и длина

Область определения

Назначение

i

integer

> 0

счетчик цикла




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

нет



Таблица 4. Спецификация основной подпрограммы


Номер подпрограммы: 2.2.

Имя подпрограммы: Main

Тип:

Процедура

Вызывается подпрограммой: 1.1.

Вызывает модуль: 3.1., 3.2., 3.3.

Назначение: Решение задачи




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

Имя

Тип и длина

Область определения

Назначение

k

integer

> 0

Количество строк в матрице

m

integer

> 0

Массив, количество элементов в каждой строке матрицы

p

real

любое

Двумерный массив




Рабочие переменные

нет




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

Имя

Тип и длина

Область определения

Назначение

n

Real

Любое

Одномерный массив

pv

real

любое

Полученный результат средневзвешенной величины партии поставки


Таблица 5. Спецификация подпрограммы вычисления pv


Номер подпрограммы: 3.1.

Имя подпрограммы: Solution

Тип:

Процедура

Вызывается подпрограммой: 2.2.

Вызывает модуль: нет

Назначение: pv=




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

Имя

Тип и длина

Область определения

Назначение

m

integer

> 0

Массив, количество элементов в каждой строке матрицы

k

integer

> 0

Количество строк в матрице

p

real

любое

Двумерный массив




Рабочие переменные

Имя

Тип и длина

Область определения

Назначение

a

real

Любое

Числитель дроби

b

real

Любое

Знаменатель дроби

i,j

integer

>0

Счетчики циклов

s

real

Любое

Текущее значение суммы




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

Имя

Тип и длина

Область определения

Назначение

pv

real

любое

Средневзвешенная величина партии поставки


Таблица 6. Спецификация подпрограммы нахождения минимума отклонения


Номер подпрограммы: 3.2.

Имя подпрограммы: Minimum

Тип:

Процедура

Вызывается подпрограммой: 2.2.

Вызывает модуль: нет

Назначение: Нахождение минимума отклонения по условию n(i)=




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

Имя

Тип и длина

Область определения

Назначение

m

integer

> 0

Массив, количество элементов в каждой строке матрицы

k

integer

> 0

Количество строк в матрице

p

real

любое

Двумерный массив




Рабочие переменные

Имя

Тип и длина

Область определения

Назначение

a

real

Любое

Числитель дроби

b

real

Любое

Знаменатель дроби

i,j

integer

>0

Счетчики циклов

s

real

Любое

Текущее значение суммы




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

Имя

Тип и длина

Область определения

Назначение

n

real

Любое

Массив, минимум отклонения по строкам матрицы


Таблица 7. Спецификация подпрограммы упорядочения массива по убыванию


Номер подпрограммы: 3.3.

Имя подпрограммы: Select

Тип:

Процедура

Вызывается подпрограммой: 2.2.

Вызывает модуль: нет

Назначение: Упорядочение массива по убыванию




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

Имя

Тип и длина

Область определения

Назначение

n

real

Любое

Одномерный массив, минимум отклонения по строкам матрицы

k

integer

> 0

Количество элементов в массиве




Рабочие переменные

Имя

Тип и длина

Область определения

Назначение

min

real

Любое

Текущее значение минимума

nom

integer

>0

Текущее значение номера

i,j

integer

>0

Счетчики циклов

l

integer

>0

Номер последнего элемента при очередном просмотре




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

Имя

Тип и длина

Область определения

Назначение

n

real

Любое

Массив, минимум отклонения по строкам матрицы, упорядоченный по убыванию


^

Блок схемы основного и вспомогательного алгоритмов






диаграмма6.jpeg

Блок схема 1. Головной алгоритм


Начало алгоритма;

Ввод исходных данных;

Обращение (вызов)

процедуры;

Вывод результата;


Конец алгоритма




диаграмма1.jpeg

Блок схема 2. Алгоритм ввода данных


диаграмма5.jpeg

Блок схема 3. Алгоритм вывода данных




диаграмма7.jpeg

Блок схема 4. Основной алгоритм


диаграмма2.jpeg

Блок схема 5. Алгоритм вычисления средневзвешенной величины партии поставки pv




диаграмма3.jpeg

Блок схема 6. Алгоритм нахождения минимума отклонения


диаграмма4.jpeg

Блок схема 7. Алгоритм упорядочивания массива по убыванию



ЗАКЛЮЧЕНИЕ


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

^

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ


  1. Пешкова О.В. Методические указания к выполнению курсовой работы по направлению подготовки 230700.62 «Прикладная информатика» / Сост. О.В. Пешкова, — Иркутск: Изд-во БГУЭП, 2012. — 29с.

  2. Пешкова О.В. Основы алгоритмизации / О.В. Пешкова. – Иркутск, БГУЭП, 2003. – 54 с.


ПРИЛОЖЕНИЕ 1



Контрольные работы, выполненные в течение первого триместра 2012 года
Контрольная работа №1

Вариант 25
Z=

y= x=
Исходные данные: a, b, c

Выходные данные: z

Рабочие переменные: m1 – максимум (a, b, c); m2 – минимум (a, b); m5 – максимум (a, b); x, y, f
диаграмма3.jpeg
Контрольная работа №2

Вариант 30

N=

=


Исходные данные: x, g

Выходные данные: N

Рабочие переменные: k, i, f, s, c0, stg, stx, c, n

диаграмма2.jpeg
Контрольная работа №3

Вычислить y=arcsin x,

Arsic x


Исходные данные: x, E

Выходные данные: y

Рабочие переменные: n – номер вычисляемого слагаемого, c0 – предыдущее слагаемое, c1 – текущее слагаемое, y – текущее значение суммы

диаграмма4.jpeg
Контрольная работа №4

Карточка 26

Дан ряд чисел , j=, разбить этот ряд на 2 массива z, y. В z записать элементы предшествующие последнему минимальному элементу. В y записать элементы после последнего минимального. Определить в каком из этих рядов сумма элементов наибольшая.

Исходные данные:

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

Рабочие переменные: j – счетчик цикла; min – минимум ряда , j=; r – номер последнего минимального элемента ряда , j=; sz – сумма элементов , k=; sy – сумма элементов , i=; , k=; , i=

диаграмма5.jpeg

диаграмма6.jpeg
Контрольная работа №5

Вариант 1

Задана матрица чисел i=1,n; j=1,m. В каждом столбце найти минимальный элемент и поставить его на место последнего в этом столбце, а последний на место минимального. Определить строку с максимальным значением суммы положительных элементов
Исходные данные: , i=; j=

Выходные данные: , i=; j=

Рабочие переменные: i – счетчик цикла, совпадает с номером строки

J – счетчик цикла, совпадает с номером столбца

Min – текущее значение минимума

Max – текущее значение максимума

Sum(i), i= - сумма по строкам

k- текущий номер строки

диаграмма7.jpeg

Похожие:

Курсовая работа по дисциплине «Основы алгоритмизации» iconМетодические указания к лабораторной работе по дисциплине «Программирование...
Данные методические указания относятся к лабораторной работе по дисциплине «Программирование и основы алгоритмизации»
Курсовая работа по дисциплине «Основы алгоритмизации» iconМетодические указания к лабораторной работе по дисциплине «Программирование...
Данные методические указания относятся к лабораторной работе по дисциплине «Программирование и основы алгоритмизации»
Курсовая работа по дисциплине «Основы алгоритмизации» iconРецензия на контрольную работу по дисциплине «Основы алгоритмизации и языки программирования»
Ваша работа идентична работе другого студента. Данное обстоятельство не позволяет сделать однозначного вывода относительно вашего...
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по программированию и основам алгоритмизации
Курсовая работа состоит из практической части (разработки программы в среде Delphi) и пояснительной части (написания пояснительной...
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по дисциплине: «Основы менеджмента»
Теоретические основы и характеристика коммуникаций в деятельности современного менеджера
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по дисциплине «Основы финансового менеджмента»
Теоретические основы изучения обеспеченности и эффективности использования оборотного капитала
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по программированию и основам алгоритмизации выполнение...
Курсовая работа состоит из практической части (разработки программы в среде Delphi) и пояснительной части (написания пояснительной...
Курсовая работа по дисциплине «Основы алгоритмизации» iconМетодические указания проведения практики по дисциплине «Основы алгоритмизации...
Специальность 2202 «автоматизированные системы обработки информации и управления»
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по дисциплине «Антикризисное управление» на тему...
Основы действующего законодательства Российской Федерации о несостоятельности (банкротстве) предприятий
Курсовая работа по дисциплине «Основы алгоритмизации» iconКурсовая работа по дисциплине «основы менеджментА»


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


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