- •Контрольная работа
- •Оглавление
- •Постановка задачи
- •Описание решения
- •Теоретические вопросы Использование структур в качестве аргументов функций Передача членов структур функциям
- •Передача целых структур функциям
- •Одномерные и многомерные массивы, их инициализация Одномерные массивы
- •Многомерные массивы
- •Схемы алгоритмов
- •Описание работы программы
- •Исходный код программы
Министерство образования Республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕМЕНТРОНИКИ»
Специальность «Экономика и организация производства»
Контрольная работа
По курсу «Основы информатики и программирования»
Студент-заочник 1 курса
Группы № .............................
................................................
Адрес: ...........................................
Тел.: .............................................
Минск, 2010
Оглавление
Постановка задачи 3
Описание решения 3
Теоретические вопросы 3
Использование структур в качестве аргументов функций 3
Передача членов структур функциям 3
Передача целых структур функциям 4
Одномерные и многомерные массивы, их инициализация 4
Одномерные массивы 4
Многомерные массивы 5
Схемы алгоритмов 7
Схема алгоритма сортировки четных элементов массива по возрастанию методом пузырька 7
Описание работы программы 8
Исходный код программы 9
Постановка задачи
Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов целочисленного массива. Отсортировать по возрастанию (методом пузырька) четные элементы массива. Результат вывести на экран и записать в файл.
Описание решения
Сортировка простыми обменами, сортировка пузырьком (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов.
Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма.
Для вывода информации на экран используются функции и классы библиотеки iostream.h, а для записи данных в файл функции и классы библиотеки fstream.h. Также добавлена библиотека stdlib.h для вызова системной функции pause.
Теоретические вопросы Использование структур в качестве аргументов функций Передача членов структур функциям
При передаче функции члена структуры передается его значение, притом не играет роли то, что значение берется из члена структуры.
struct fred
{
char x;
int y;
float z;
char s[10];
} mike;
…
…
func(mike.x); /* передается символьное значение x */
func2(mike.y); /* передается целое значение y */
func3(mike.z); /* передается значение с плавающей точкой z */
func4(mike.s); /* передается адрес строки s */
func(mike.s[2]); /* передается символьное значение s[2] */
В каждом из этих случаев функции передается значение определенного элемента, и здесь не имеет значения то, что этот элемент является частью какой-либо большей совокупности.
Если же нужно передать адрес отдельного члена структуры, то перед именем структуры должен находиться оператор &. Например, чтобы передать адреса членов структуры mike, можно написать следующее:
func(&mike.x); /* передается адрес символа x */
func2(&mike.y); /* передается адрес целого y */
func3(&mike.z); /* передается адрес члена z с плавающей точкой */
func4(mike.s); /* передается адрес строки s */
func(&mike.s[2]); /* передается адрес символа в s[2] */