Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Содержание отчета и его форма
Лабораторная работа 4 С/С++: работа с одномерными массивами Цель и содержание: приобретение практических навыков в составлении программ с одномерными массивами. Теоретическое обоснование Массивы – структурированный тип данных с элементами одного типа, имеющий одно имя и определенное количество элементов. Количество элементов определяет размер массива. Например, массив составляют номера зачетных книжек студентов, здесь число элементов равно числу студентов; массив образуют набор чисел, их количество равно числу элементов массива. Порядковый номер элемента массива называется его индексом. Массив может иметь не один, а большее число индексов. Число индексов называется размерностью массива, например, массив с двумя индексами называется двумерным массивом. Строка символов является массивом символов, вектор – массив вещественных чисел, матрица – массив векторов. Обработка массивов выполняется в следующем порядке: описание, ввод или инициализация элементов массива, преобразование и вывод. При описании массивов после имени в квадратных скобках указывается число его элементов. В языке Си индекс элемента массива начинается с нуля, поэтому индекс последнего элемента массива на 1 меньше числа элементов в данном массиве. Ввод и вывод элементов массива выполняется с использованием операторов цикла. Например, массив Х из 10 элементов можно ввести через форматный или потоковый ввод следующим образом: Int i, Х [10]; for (i=0; i<10; i++) {printf( “Введите элемент массива \n ”);scanf ("%d", &a[i]);} Или for (i=0; i<10; i++) {cout cout << “Введите элемент массива ” <<endl; cin >> X[[i] }; Манипулятор endl (сокращение end line) выполняет переход на новую строку при выводе значений. Вывод элементов массива можно выполнить в строку или в столбец. Для вывода элементов массива Х [10] в строку: for (i=0; i<10; i++) printf ( "%6d", Х[i] ); Или for (i=0; i<10; i++) cout << Х[i] ; Для вывода в столбец надо написать: printf ( "%6d \n", a[i] ); или cout << Х[i] << endl; Сортировка элементов массивов.Сортировка– это процесс обработки последовательности данных с целью их перестановки в определенном порядке: в порядке убывания значений или в порядке возрастания. Главными требованиями к алгоритмам сортировки массивов являются экономное использование памяти и быстродействие. Методы сортировки, в зависимости от способа перемещения элементов массива, делятся на три основных вида: включением, выбором, обменом. Рассмотрим наиболее распространенные методы. Метод «пузырька» один из самых простых методов внутренней сортировки. Суть алгоритма состоит в последовательном просмотре массива от конца к началу или от начала к концу и сравнении каждой пары элементов между собой. Если Х[i] и Х[i+1] не упорядочены, то их значения меняются местами. Если элементы массива переставлялись хотя бы единожды во время просмотра всего массива, то процесс сравнения каждой пары элементов повторяются заново. При сортировке по возрастанию «легкие» элементы с меньшим значением как бы «всплывают» к началу массива подобно тому, как это делают пузырьки воздуха в стакане с водой – отсюда и происходит популярное название алгоритма. На рисунке 4.1 представлена сортировка массива по возрастанию. Метод сортировки выбором элемента основан на следующем алгоритме. В первую очередь определяются наименьший элемент (для сортировки по убыванию – наибольший) и его координата в заданном массиве. Этот элемент меняется местами с первым элементом массива Х. Затем определяются наименьший (наибольший) элемент и его координата среди оставшихся n-1 элементов. Он меняется со вторым элементом. Данная процедура повторяется со всеми оставшимися элементами, пока не останется только один наибольший (наименьший) элемент. В результате все элементы упорядочиваются. На рисунке 4.2 представлена сортировка массива по возрастанию элементов.
Рисунок 4.2 – Алгоритм сортировки выбором минимального элемента Методика и порядок выполнения работы 1. Изучите теоретическое обоснование. 2. Выполните пример программы обработки одномерного массива: Дан массив из 50 целых чисел. Найти наибольший элемент в массиве и его порядковый номер. # include <stdio.h> # define n 50 // определение константы n=50 int max, nom, a[n]; //описание массива целых чисел из n элементов main() { for (i=0; i<n; i++) {printf( “Введите элемент массива \n ”);scanf ("%d", &a[i]);} max= a[0]; nom=1; // полагаем первый элемент наибольшим for (i=1; i<n; i++) if (max<a[i]) {nom=i+1; max=a[i];} printf("\n Вывод элементов исходного массива : \n"); for (i=0; i<n; i++) printf ( "%6d", a[i] ); printf ("\n Максимальное число в массиве %d, его индекс %d\n" , max, nom); return 0;}
Пояснение. По окончании цикла переменная max будет иметь значение, равное максимальному элементу массива, а переменная nom – порядковый номер этого элемента. Вывод элементов массива выполняется в строку. 3. В отлаженной программе измените форматный ввод и вывод массива на потоковый, как описано в теоретической части. 4. Составьте алгоритмы и программы с применением массивов согласно вариантам задания 1 и задания 2, введите исходные данные, проверьте полученный результат. Исходные и результативные массивы обязательно вывести. Таблица 4.1- Варианты заданий 1 и 2
Содержание отчета и его форма Выполните все описанные пункты задания, письменно оформите отчет, который должен содержать: - тему, цель лабораторной работы; - условия, блок–схемы, программы и результаты выполнения задания1 и задания 2. Контрольные вопросы и защита работы 1) Что такое массив, индекс элемента массива? 2) Какие виды массивов? 3) В каком порядке выполняется обработка массивов? 4) Как ввести и вывести элементы одномерных массивов в строку и в столбец? 5) Способы описания и инициализации массивов. Защита лабораторной работы включает в себя демонстрацию выполненных программ, подготовленный отчет и устный ответ на контрольные вопросы.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 229. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |