Лабораторная работа 4 по дисциплине
Лабораторная работа 4 по дисциплине “Программирование” Тема. Основные алгоритмы обработки массивов. Нахождение элемента массива с максимальным значением 1
Задание 1 Разработать программу для нахождения элемента массива с максимальным значение. 2
Постановка задачи Дано. Одномерный массив чисел. Требуется. Найти элемент с максимальным значением. При: 1. Число элементов N<=20. 2. Значения элементов – целые числа. 3
Связь Присвоить начальные значения переменным: n Max – (максимальное значение элемента) – A[1]; n I - (текущий номер элемента массива) - 2. Для каждого элемента массива проверить условие. Если A[I] >Max , то Max = A[I] . Если I < N , то перейти к следующему элементу массива - I : = I +1, в противном случае вывести значение Max. 4
Внешняя спецификация Назначение: Найти элемент с максимальным значением в массиве чисел. Входн. данные: N – число элементов в массиве. A 1, A 2… AN – значения элементов массива. 5
Внешняя спецификация Вых. данные: В массиве найти элемент с максимальным значением Число элементов массива <=20
Алгоритм ‘ В массиве чисел найти элемент с максимальным значением ‘ Внутр перем N : цел. {Количество элементов массива} A [1 . . 20] : цел. {Одномерный массив, в котором можно разместить от 1 до 20 целых чисел} M ax : цел. {элемент массива с максимальным значением} I: цел. {Текущий номер элемента массива} 7
Начало Вывод (‘В массиве найти элемент с максимальным значением’) Вывод('Число элементов массива <=20 '); Ввод(N); Вывод('Значения элементов массива – целые числа'); Цикл-для I от 1 до N Ввод(A[I]) Кцикл Вывод(‘Исходный массив'); Цикл- для I от 1 до N Вывод (A[I]) КЦикл 8
Max : = A[1] Цикл - для I от 2 до N Если A[i] > Max то Max : = a[I] Кесли Кцикл Вывод ('Максимальное значение равно - ', Max) Конец 9
Текст программы Uses CRT; Var N : Integer; {количество элементов массива} A [1. . 20] : Array[1. . 20] of Integer; {одномерный массив, в котором можно разместить от 1 до 20 элементов - целых чисел} Max: Integer; {максимальное значение } I : Integer; {текущий номер элемента массива} Ch: Char; 10
Текст программы Begin Clrscr; Writeln (‘ В массиве найти элемент с максимальным значением ‘); Writeln (' Число элементов массива <=20 '); Readln(N); Writeln (‘Значения элементов массива – целые числа'); For I: =1 to N do Readln(A[I]); n 11
Текст программы Writeln (‘Исходный массив'); For i: =1 to N do Write (A[i]: 4); Writeln; Max: =A[1]; For I: =2 To N Do If A[I]>Max Then Max: = A[I]; Writeln (‘ Максимальное значение равно ‘, Max); Ch=Read. Key; End. 12
Тест Исходный массив I=2 3 -3 2 14 7 -3>3 – нет Max = 3 I=3 2>3 - нет I=4 14>3 – да Max=14 I=5 7>14 – нет 13
Задание 2 Разработать программу для нахождения элемента массива с минимальным значением и его номера. Рассматривать элементы массива с положительными значениями. 14
Постановка задачи Дано. Одномерный массив чисел. Требуется. Среди положительных элементов массива найти элемент с минимальным значением и его номер. При: 1. Число элементов N<=20. 2. Значения элементов – целые числа. 15
Связь Для поиска первого положительного элемента массива присвоим переменной I - (текущий номер элемента массива) начальное значение - 1. Если A [ I ] <= 0, то проверить условие, если I < N , то перейти следующему элементу массива - I : = I +1, в противном случае вывести сообщение ‘В массиве нет элементов с положительными значениями’. Если найден элемент массива A [ I ] > 0, то присвоить переменной Min значение A [ I ] и переменной Imin (номер минимального элемента) значение I. Для поиска минимального значения и его номера среди положительных элементов массива присвоить переменной J - (текущий номер элемента массива) значение - Imin+1. Рассмотрим элементы массива с номерами от Imin+1 до N. Если A[J] >0 и A[J]
Внешняя спецификация Назначение: Среди положительных элементов массива найти элемент с минимальным значением и его номер. Входн. данные: N – число элементов в массиве. A 1, A 2… AN – значения элементов массива. 17
Внешняя спецификация Вых. данные: 1. В массиве есть элементы с положительными значениями Среди положительных элементов массива найти элемент с минимальным значением и его номер Число элементов массива <=20
Внешняя спецификация Вых. данные: 2. В массиве нет элементов с положительными значениями Среди положительных элементов массива найти элемент с минимальным значением и его номер Число элементов массива <=20
Алгоритм ‘ Среди положительных элементов массива найти элемент с минимальным значением и его номер‘ Внутр перем N : цел. {Количество элементов массива} A [1 . . 20] : цел. {Одномерный массив, в котором можно разместить от 1 до 20 целых чисел} Min : цел. {элемент массива с максимальным значением} Imin : цел. {номер элемента с минимальным значением} I , J: цел. {текущие номера элементов массива} 20
Начало Вывод (‘Среди положительных элементов массива найти элемент с минимальным значением и его номер’) Вывод('Число элементов массива <=20 '); Ввод(N); Вывод('Значения элементов массива – целые числа'); Цикл-для I от 1 до N Ввод(A[I]) Кцикл Вывод(‘Исходный массив'); Цикл- для I от 1 до N Вывод (A[I]) КЦикл 21
Алгоритм {Поиск первого положительного элемента в массиве} I: =1 Цикл_пока (A[I]<=0) и (I<=N) I: =I+1 Кцикл 22
Алгоритм Если I<=N то {Найден первый положительный элемент массива } Min: = A[I] Imin: =I {Поиск элемента с минимальным значением и его номера} Цикл - для J от Imin+1 до N Если (A[J] >0 ) и (A[J] < Min) то Min : = a[J] Imin: =J Кесли Кцикл 23
Алгоритм Вывод ('Минимальное значение равно - ', Min ) Вывод (' Номер минимального значения равен - ', Imin ) Иначе {Положительный элемент не найден} Вывод (' В массиве нет элементов с положительными значениями ' ) Кесли Конец 24
Текст программы Uses CRT; Var N : Integer; {количество элементов массива} A [1. . 20] : Array[1. . 20] of Integer; {одномерный массив, в котором можно разместить от 1 до 20 элементов - целых чисел} Max: Integer; {максимальное значение } I : Integer; {текущий номер элемента массива} Ch: Char; n 25
Текст программы Begin Clrscr; Writeln (‘ В массиве найти элемент с максимальным значением ‘); Writeln (' Число элементов массива <=20 '); Readln(N); Writeln (‘Значения элементов массива – целые числа'); For I: =1 to N do Readln(A[I]); n 26
Текст программы Writeln (‘Исходный массив'); For i: =1 to N do Write (A[i]: 4); Writeln; Max: =A[1]; For I: =2 To N Do If A[I]>Max Then Max: = A[I]; Writeln (‘ Максимальное значение равно ‘, Max); Ch=Read. Key; End. 27
Тест Исходный массив I=2 3 -3 2 14 7 -3>3 – нет Max = 3 I=3 2>3 - нет I=4 14>3 – да Max=14 I=5 7>14 – нет 28
Задачи для самостоятельной работы Разработать программу для нахождения: 1. значения и порядкового номера минимального элемента в массиве чисел. Определить сколько раз элемент с таким значением встречается в массиве. 2. среди элементов с отрицательными значениями найти максимальный элемент и его порядковый номер. 3. значения и порядкового номера максимального по абсолютной величине элемента в массиве чисел. 4. среди элементов массива с нечетными значениями найти максимальный элемент и его порядковый номер.
Лабораторная_ работа_4_П.ppt
- Количество слайдов: 29

