Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Reshenie_zadachi_na_EVM_Algoritm.doc
Скачиваний:
22
Добавлен:
11.04.2015
Размер:
343.04 Кб
Скачать
  1. Анализ и исследование задачи, модели;

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

В методе простого выбора выделяется наименьший (или наибольший) элемент массива и отделяется от остальных. Далее опять выделяется наименьший (или наибольший) из оставшихся и т. д. Например, расположить элементы последовательности А1, А2, …, АN в порядке убывания. Для этого найдем в массиве элемент с наибольшим значением и поменяем его местами с первым элементом. Далее те же действия выполним с остальными N – 1 элементами массива, затем N -2 элементами и т.д., пока не останется один элемент – последний, наименьший. Для получения результата необходимо N – 1 раз найти максимальное значение в массиве, длина которого будет уменьшаться с каждым шагом на 1.

Фрагмент программы для организации сортировки простым выбором:

Private Sub Command1_Click()

Dim i as Integer, j as Integer, k as Integer

For i = 1 To n : k = i: x = a(i)

For j = i + 1 To n : If a(j) > x Then : x = a(j): k = j : End If: Next j

a(k) = a(i): a(i) = x: Next i

For i = 1 To n : Print “ ”; a(i); : Next i

End Sub

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

Фрагмент программы для организации сортировки простым обменом:

Private Sub Command1_Click()

For i = 2 To n: j = n

Do If a(j - 1) < a(j) Then: x = a(j - 1): a(j - 1) = a(j): a(j) = x: End If: j = j - 1

Loop While j >= 1

Next i

For i = 1 To n: List2.AddItem Str(Round(a(i), 2)): Next i

End Sub

3. Алгоритм ………… Учитывая вышесказанное о сортировках, воспользуемся алгоритмом нахождения максимального из трех величин, блок-схема которого представлена на рисунке 2. Алгоритм реализуем в функции пользователя. Функцию будем вызывать дважды, сначала для первых трех чисел, потом для выбранного максимума и оставшихся двух чисел.

Рис. 2. Блок-схема алгоритма нахождения максимального из 3 величин.

Рис 3. Схемы алгоритмов а) простого выбора, б) простого обмена

  1. Условные обозначения.

Назначение переменных сведено в таблице 1. Таблица 1

Имя

Назначение

Тип

Характеристика

mas()

cont

str1

f1

max

i,j

Массив хранения данных

Индекс массива

Вводимое число

Промежуточный максимум

Окончательный максимум

Индексы циклов

Integer

Integer

String

Integer

Integer

Byte

Служебный

Служебная

Входная

Служебная

Служебная

Служебная

Разработку проекта начнем со скелета программы – объектов управления.

Таблица 2

Элементы управления

Свойство

Значение

Form1

Name

Caption

Height

Top

Width

ScaleHeight

ScaleMode

ScaleWidth

Form1

Сортировка

6480

105

5474

398

3-Pixel

317

CommandButton 1

CommandButton 2

ListBox

Name

Caption

Height

Left

Top

Width

TabIndex

Name

Caption

Height

Left

Top

Width

Name

Height

Left

Top

Command1

Заполнить список

37

3

357

82

0

Command1

Сортировать

37

3

357

82

List1

2790

1560

1200

  1. Написание и эксплуатация программы;

Пример запуска приложения с кодом программы (рис. 4)

Рис. 4 Запуск приложения с кодом программы

  1. Тестирование и отладка;

Тестовый пример…………………………………………………..

  1. Анализ результатов решения задачи;………………..

Для анализа результатов выполнения программы составляется и заполняется таблица с несколькими контрольными примерами.

Таблица № – Результаты выполнения программы

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

Результат

  1. Сопровождение программы;………………………..

- доработка программы для решения конкретных задач;

- составление документации к решённой задаче, математической модели, алгоритму, программе по их использованию.

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

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

  1. Глушаков СВ., Клевцов А.Л., Теребилов С.А. Программирование на Visual Basic[Текст]. - Харьков: Фолио, 2002. -518 с.

  2. Гарнаев A. Visual Basic 6 [Текст]: разработка приложений. -СПб.: БХВ-Петербург, 2007.-448 с.

  3. Анциферова, В.И. Информатика [Текст]: методические указания к выполнению лабораторных работ для студентов специальности 150405 – Машины и оборудование лесного комплекса /Зольников В.К., Анциферова В.И, Муковников Н.М., Меерсон В.Э.; Фед. агентство по образованию, Гос. образовательное учреждение высш. проф. образования, Воронеж. гос. лесотехн. акад. – Воронеж, 2007. – 173 с.

  4. Чевычелов Ю.А. Информатика. Операционная система Windows 98. Язык визуального программирования Visual Basic[Текст]. Учебное пособие / Ю.А. Чевычелов, Н. Ю. Юдина, В. Е. Межов. – Воронеж: ВГЛТА, 2004, 139 с.

  5. Анциферова, В.И. Информатика [Текст]: методические указания к выполнению самостоятельных и контрольных работ студентами З/О 1, 2 курсов специальностей: 150200 (190601)  Автомобили и автомобильное хозяйство, 150200 (190601)  Автомобили и автомобильное хозяйство, ускоренная форма обучения. Фед. агентство по образованию, ГОУ ВПО «ВГЛТА» – Воронеж, 2008. – 51 с.

Пример выполнения задания (Анализ исходных данных) Задача. Площадь S и объем V обрезной доски, запиливаемой из необрезной доски, подгорбыленной доски рассчитываются по формулам , м2 , V = s*t, м3, где t = 0.25 м - толщина доски; b = 0.24 м - ширина необрезной доски в широком конце; h - длина необрезной доски, меняется от 4.5 м до 6 м через 0.25 м; L - длина обрезной доски, меняется от 2 м до 4.25 м через 0.25 м.

Анализ исходных данных. В рассматриваемом примере величины b, l, h и t являются исходными данными. Входными данными являются также не обозначенные буквами начальные и конечные длины необрезной и обрезной досок, а также величины их изменения (шаги). Объем обрезной доски V является выходной величиной. Роль площади обрезной доски S двойная: она одновременно является выходной величиной и входной для определения величины V, то есть промежуточной величиной. Для составления программы решения задачи на языке программирования высокого уровня Visual-Basic, всем переменным необходимо присвоить имена, согласно синтаксиса языка программирования. Результаты анализа исходных данных представляются в виде таблицы 3.

Таблица 3

Наименование данных

Обозначение

Имя

Характерис-

тика

Значение

1

Толщина доски

t

T

входная

0.25

2

Ширина необрезной доски

b

B

входная

0.24

3

Начальная длина необрезной доски

-

H1

входная

4.6

4

Конечная длина необрезной доски

-

H2

входная

6

5

Шаг изменения длины необрезной доски

-

H3

входная

0.25

6

Текущая длина необрезной доски

-

H

входная служ.

-

7

Начальная длина обрезной доски

-

L1

входная

2

8

Конечная длина обрезной доски

-

L2

входная

4.25

9

Шаг изменения обрезной доски

-

L3

входная

0.25

10

Текущая длина обрезной доски

l

L

входная служ.

-

11

Площадь обрезной доски

s

S

входная пром.

-

12

Объем обрезной доски

v

V

выходная

-

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

Упражнение 1. Выполните задания:

  1. Составить алгоритм вычисления суммы кубов трех чисел.

  2. Составить алгоритм вычисления среднего арифметического четырех чисел.

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

  4. Проверить, превышает ли 1000 произведение двух натуральных двузначных чисел, вводимых с клавиатуры.

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

  6. Составить алгоритм, позволяющий: ввести целое число с клавиатуры, если его значение меньше 200, - вывести на экран соответствующий числу - символ по кодам ACII.

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

  8. Составить алгоритм программы, устанавливающей, одного ли знака два числа, вводимые с клавиатуры.

  9. Составить алгоритм. Превышает ли площадь прямоугольника со сторонами a, b площадь круга радиуса r=(a+b)/4. Данные вводятся с клавиатуры.

  10. Найти сумму десяти произвольных чисел. Результат обозначить через S.

  11. Вычислить z=I, где I меняется от m до n, m и n вводятся с клавиатуры.

  12. Вычислить p=i2 , где I меняется от m до n. N и m вводится с клавиатуры.

  13. Каждое число вводить по очереди в переменную х. В цикле осуществлять ввод очередного значения х и выполнять операции сложения чисел и увеличения счетчика на 1.

  14. Составить алгоритм, позволяющий: ввести n чисел с клавиатуры; из них найти минимальное; вывести соответствующее сообщение на экран.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]