Министерство образования Республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕМЕНТРОНИКИ»

Специальность «Экономика и организация производства»

Контрольная работа

По курсу «Основы информатики и программирования»

Студент-заочник 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] */

Соседние файлы в папке Контрольная работа №1 по курсу «Основы информатики и программирования»