Лабораторная работа №5. “Обработка одномерных массивов”
“Обработка одномерных массивов”
Цель работы: Освоение методов обработки одномерных массивов, разработки алгоритмов, построения и отладки программ, ввода и вывода на печать одномерных массивов. Теоретическая часть 5.1.1. Описание одномерных массивов в языке программирования C++.
Массивы объявляются непосредственно в разделе описания переменных. Описание статического одномерного массива имеет следующую структуру: тип имя_массива[размер]; где: тип – указание на любой стандартный или нестандартный тип, которому будут принадлежать элементы массива; имя_массива – идентификатор массива; размер – целочисленная константа, определяющая максимальное количество элементов массива; int A[100];
#define N 50; ... float B[N]; Обращение к элементам массива в программе происходит по индексу, например: A[i] X[2] Y[i*2-1] Следует обратить внимание, что в языке C++ нумерация элементов массива начинается с 0. 5.1.2 Пример составления алгоритма и программы на языке C++ для обработки одномерного массива.
Задание: Дан массив действительных чисел А из 20 элементов. Определить m = (amax + amin)/100. Решение. Для обработки массива A сначала необходимо ввести его элементы. Выполним ввод элементов массива с клавиатуры. Для обозначения размерности массива A введем переменную N. После ввода всех элементов массива для наглядности выведем их на экран. Для определения числа m сначала в одном цикле выполним поиск максимального и минимального элемента массива, а затем после цикла найдем величину m и выведем ее значение на экран.
Блок-схема алгоритма решения данной задачи выглядит следующим образом:
Текст программы на языке С++ выглядит следующим образом:
#include <stdio.h> #include <conio.h> #define N 30 int main() { int i; float A[N]; float m, Amax, Amin; //clrscr(); printf("Введите элементы массива \n"); for(i=0;i<N;i++) scanf("%f",&A[i]); //clrscr(); for(i=0;i<N;i++) printf("%8.2f",A[i]); Amax=A[0]; Amin=A[0]; for(i=1;i<N;i++)
{ if (A[i] > Amax) Amax=A[i]; if (A[i] < Amin) Amin=A[i]; } m=(Amax + Amin)/100; printf("\nAmax=%.2f\nAmin=%.2f\nm=%.2f",Amax,Amin,m); getch(); return 0; }
Практическая часть
5.2.1 Требования к выполнению работы:
Составить блок-схему алгоритма и программу для решения индивидуального задания. Предусмотреть вывод на печать исходных массивов, подробных конечных результатов. При необходимости возможен вывод также промежуточных результатов. Значения элементов массивов задавать путем ввода с клавиатуры. Порядок выполнения работы. 1. Выполнить анализ задания, сформулировать постановку задачи. 2. Составить блок-схему алгоритма. 3. Составить программу на языке С++. Предусмотреть ввод исходных данных и вывод результатов на экран. 4. Выполнить проверку работоспособности программы на различных исходных данных. 5. Выполнить анализ полученных результатов.
Варианты индивидуальных заданий. Варианты индивидуальных заданий выбираются из таблицы 5 в соответствии с номером студента в списке группы в журнале преподавателя.
Таблица 5. Варианты индивидуальных заданий
5.3 Контрольные вопросы и практические задания:
1. Как выглядит форма объявления одномерных массивов? 2. Каким образом нумеруются элементы массива? 3. Каковы требования к индексам элементов массива? 4. Какой из типов операторов цикла удобнее использовать при работе с массивами? 5. Приведите варианты ввода численных значений элементов массива. 6. Приведите варианты вывода элементов массива на печать. 7. Приведите алгоритмы определения суммы и произведения элементов массива. 8. Приведите алгоритмы нахождение максимального и минимального элементов в массиве. 9. Приведите алгоритмы нахождение среднего значения элементов массива.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (4256)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |