Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_SI_SUA.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.29 Mб
Скачать

4.3 Контрольные вопросы и практические задания:

1. Как работает оператор while?

2. Как работает оператор do ... while?

3. Как работает оператор for?

4. Подчеркнуть в программе операторы, образующие цикл.

5. В чем заключается отличие операторов while и do ... while?

  1. Заменить в программе один оператор цикла другим.

5. Лабораторная работа №5

Обработка одномерных массивов”

Цель работы: Освоение методов обработки одномерных массивов, разработки алгоритмов, построения и отладки программ, ввода и вывода на печать одномерных массивов.

5.1. Теоретическая часть

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. Практическая часть

5.2.1 Требования к выполнению работы:

Составить блок-схему алгоритма и программу для решения индивидуального задания.

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

Значения элементов массивов задавать путем ввода с клавиатуры.

Порядок выполнения работы.

1. Выполнить анализ задания, сформулировать постановку задачи.

2. Составить блок-схему алгоритма.

3. Составить программу на языке С++. Предусмотреть ввод исходных данных и вывод результатов на экран.

4. Выполнить проверку работоспособности программы на различных исходных данных.

5. Выполнить анализ полученных результатов.

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