Презентация, доклад по информатике Одномерные массивы

Содержание

СОДЕРЖАНИЕВведениеОдномерные массивы в ПаскалеПримеры решения задачОлимпиадные задачи

Слайд 1ПОДГОТОВКА К ОЛИМПИАДАМ ПО ПРОГРАММИРОВАНИЮ ОДНОМЕРНЫЕ МАССИВЫ
Автор: Шукалович Т.Г.
Учитель информатики
ГУО «Лельчицкая средняя

школа №2»
ПОДГОТОВКА К ОЛИМПИАДАМ ПО ПРОГРАММИРОВАНИЮ ОДНОМЕРНЫЕ МАССИВЫАвтор: Шукалович Т.Г.Учитель информатикиГУО «Лельчицкая средняя школа №2»

Слайд 2СОДЕРЖАНИЕ
Введение
Одномерные массивы в Паскале
Примеры решения задач
Олимпиадные задачи



СОДЕРЖАНИЕВведениеОдномерные массивы в ПаскалеПримеры решения задачОлимпиадные задачи

Слайд 3

.



все познается через труд,
через преодоление собственных ошибок,
через процесс решения

задач.

Основной методический принцип обучения
программированию –

Введение




.все познается через труд, через преодоление собственных ошибок, через процесс решения задач.Основной методический принцип обучения программированию –Введение

Слайд 4использовать его как инструментарий индивидуального и развивающего обучения;

Использование программирования позволяет:



показать практическую

значимость использования программирования для наглядного представления решения задач в различных областях жизнедеятельности человека;





развивать логическое и аналитическое
мышление школьников.

содействовать развитию общей информационной культуры как одного из аспектов будущей профессиональной деятельности;

активизировать учебный процесс;

Введение




использовать его как инструментарий индивидуального и развивающего обучения;Использование программирования позволяет:показать практическую значимость использования программирования для наглядного представления

Слайд 5ОДНОМЕРНЫЕ МАССИВЫ В ПАСКАЛЕ
Понятие «массив»
Описание одномерных массивов
Ввод одномерных массивов
Вывод одномерных массивов




ОДНОМЕРНЫЕ МАССИВЫ В ПАСКАЛЕПонятие «массив»Описание одномерных массивовВвод одномерных массивовВывод одномерных массивов

Слайд 6ПОНЯТИЕ «МАССИВ»
Необходимость в массивах возникает всякий раз, когда при решении

задачи приходится иметь дело с большим, но конечным количеством однотипных упорядоченных данных.
Эта структура представляет собой упорядоченный набор пронумерованных компонент, причем индивидуальное имя получает только весь набор, а для компонент этого набора определяется лишь порядок следования и общее их количество.
Массив - это упорядоченный набор фиксированного количества некоторых значений (компонент массива).




ПОНЯТИЕ «МАССИВ»	 Необходимость в массивах возникает всякий раз, когда при решении задачи приходится иметь дело с большим,

Слайд 7





Понятие «массив»

Название регулярный тип (или ряды) массивы получили за то, что

в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.

Массив – это составной объект,
образованный из элементов (компонент)
одного и того же типа.





Понятие «массив»Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные)

Слайд 8Такой тип данных применяется в программировании для обозначения объектов, аналогичных числовым

последовательностям в математике, где сразу целая группа чисел обозначается одним именем (чаще всего буквой), а для обращения к каждому отдельному числу данной последовательности используются различные индексы (номера элементов).

В математике это может выглядеть, например, так:
a1, а2, а3, …, аn.

Понятие «массив»




Такой тип данных применяется в программировании для обозначения объектов, аналогичных числовым последовательностям в математике, где сразу целая

Слайд 9


В программировании массив – это
последовательность однотипных элементов,
имеющих общее имя,

причем каждый элемент
этой последовательности определяется
порядковым номером (индексом) элемента.

Понятие «массив»




В программировании массив – это последовательность однотипных элементов, имеющих общее имя, причем каждый элементэтой последовательности определяется порядковым

Слайд 10Примеры массивов:



Понятие «массив»
Х1, Х2, …, Хn – одномерный массив,
состоящий из

n элементов.

А0, А1, А2, …, А10 – одномерный массив,
состоящий из 11 элементов.

Массивы бывают одномерными (один индекс),
двумерными (два индекса) и т.д.





Примеры массивов:Понятие «массив»Х1, Х2, …, Хn – одномерный массив, состоящий из n элементов.А0, А1, А2, …, А10

Слайд 11Структура массива всегда однородна.
Массив может состоять из элементов типа integer

, real или char , либо других однотипных элементов. Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом.
Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу).

Номер элемента массива называется индексом. Индекс – это значение порядкового типа, определенного, как тип индекса данного массива.

Понятие «массив»




Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо

Слайд 12

Рассмотрим массив Х1, Х2, …, Хn .
Здесь:
Понятие «массив»



Х – имя массива;
1,

2,…, n – индексы
(порядковые номера) элементов;

Х7 – седьмой элемент массива Х.






Рассмотрим массив Х1, Х2, …, Хn .Здесь:Понятие «массив»Х – имя массива;1, 2,…, n – индексы (порядковые номера)

Слайд 13ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВ
Для описания массивов в программировании предварительно следует ввести соответствующий

тип в разделе описания типов.

Тип массив описывается следующим образом:
Type
Имя типа = Array [тип индекса (ов)] Of тип элементов;
Var
Имя переменной: имя типа;




ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВДля описания массивов в программировании предварительно следует ввести соответствующий тип в разделе описания типов. Тип

Слайд 14ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВ
Переменную типа массив можно описать сразу в разделе описания

переменных Var:

Var
Имя переменной: Array [тип индекса (ов)] Of тип элементов;

Здесь
Array – служебное слово (в переводе с английского означает «массив»);
Of – служебное слово (в переводе с английского означает «из»).
Тип индекса – любой порядковый тип, кроме типов integer, longint.
Тип же самих элементов может быть любым, кроме файлового типа.




ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВПеременную типа массив можно описать сразу в разделе описания переменных Var:Var  Имя переменной: Array

Слайд 15ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВ
Например:
Type
mas = Array [1..20] of

real;
Var
X: mas;
Массив Х – одномерный, состоящий из двадцати элементов вещественного типа. Элементы массива хранятся в памяти компьютера последовательно друг за другом.


Размерность массива равна:
максимальное значение индекса –
минимальное значение индекса + 1.

Количество элементов массива называется его размерностью.




ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВНапример:Type    mas = Array [1..20] of real;Var    X: mas;Массив

Слайд 16ВВОД ОДНОМЕРНЫХ МАССИВОВВВОД ОДНОМЕРНЫХ МАССИВОВ ВВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕ
Ввод массивов

осуществляется поэлементно.

Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30.

Пусть i – индекс (порядковый номер) элемента в массиве Х.
Тогда Хi – i-й элемент массива Х, где i = 1, 2, …, 30.

Для ввода массива можно использовать любой цикл.




ВВОД ОДНОМЕРНЫХ МАССИВОВВВОД ОДНОМЕРНЫХ МАССИВОВ ВВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕВвод массивов осуществляется поэлементно.Введем одномерный массив Х, состоящий

Слайд 17ВВОД ОДНОМЕРНЫХ МАССИВОВ
Первый вариант: ввод массива с использованием цикла с предусловием:
Да
Нет



ВВОД ОДНОМЕРНЫХ МАССИВОВПервый вариант: ввод массива с использованием цикла с предусловием:ДаНет

Слайд 18
Program Primer_1;
Var i: integer;
X: array [1..30] of Integer;
Begin

i := 1;
While i <= 30 Do
Begin
Read (X[i]);
i := i + 1
End;
Readln
End.


Ввод одномерных массивов




Program Primer_1;Var i: integer;   X: array [1..30] of Integer;Begin   i := 1;

Слайд 19ВВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕ
Второй вариант: ввод массива с использованием цикла

с постусловием:

i := 1

Конец

i > 30

Ввод
xi

i := i + 1

Начало

Да

Нет




ВВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕВторой вариант: ввод массива с использованием цикла с постусловием:i := 1Конецi > 30Ввод

Слайд 20
Ввод одномерных массивов
Program Primer_2;
Var i: integer;
X: array [1..30]

of Integer;
Begin
i := 1;
Repeat
Read (X[i]);
i := i + 1
Until i > 30;
Readln
End.




Ввод одномерных массивовProgram Primer_2;Var i: integer;   X: array [1..30] of Integer;Begin   i :=

Слайд 21ВВОД ОДНОМЕРНЫХ МАССИВОВ
Третий вариант: ввод массива с использованием цикла с параметром:


Конец

i := 1, 30, 1

Ввод
xi

Начало




ВВОД ОДНОМЕРНЫХ МАССИВОВТретий вариант: ввод массива с использованием цикла с параметром: Конецi := 1, 30, 1Ввод xiНачало

Слайд 22Program Primer_3;
Var i: integer;
X: array [1..30] of Integer;
Begin

For i := 1 To 30 Do Read (X[i]);
Readln
End.

Ввод одномерных массивов




Program Primer_3;Var i: integer;   X: array [1..30] of Integer;Begin   For i := 1

Слайд 23ВЫВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕ
Вывод одномерного массива осуществляется также поэлементно.

Например, выведем

одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа.

Для вывода массива можно использовать любой цикл.




ВЫВОД ОДНОМЕРНЫХ МАССИВОВ В ПАСКАЛЕВывод одномерного массива осуществляется также поэлементно.Например, выведем одномерный массив Х1, Х2, …, Хn,

Слайд 24ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Первый вариант: вывод массива с использованием цикла с предусловием:
Да
Нет



ВЫВОД ОДНОМЕРНЫХ МАССИВОВПервый вариант: вывод массива с использованием цикла с предусловием:ДаНет

Слайд 25ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Второй вариант: вывод массива с использованием цикла с постусловием:
i

:= 1

Конец

i > 30

Вывод
xi

i := i + 1

Начало

Да

Нет




ВЫВОД ОДНОМЕРНЫХ МАССИВОВВторой вариант: вывод массива с использованием цикла с постусловием:i := 1Конецi > 30Вывод xii :=

Слайд 26ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Третий вариант: вывод массива с использованием цикла с параметром:


Конец

i := 1, 30, 1

Вывод
xi

Начало




ВЫВОД ОДНОМЕРНЫХ МАССИВОВТретий вариант: вывод массива с использованием цикла с параметром: Конецi := 1, 30, 1Вывод xiНачало

Слайд 27ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
В программе вместо операторов Read или Readln используются операторы

Write или Writeln.

Но просто заменить одни операторы на другие здесь недостаточно.

Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки.




ВЫВОД ОДНОМЕРНЫХ МАССИВОВВ программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить

Слайд 28ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Приведем два возможных способа вывода массива:


1) For i

:= 1 To n Do Write (X[i],’ ‘)

2) For i := 1 To n Do Writeln (x[i])




ВЫВОД ОДНОМЕРНЫХ МАССИВОВПриведем два возможных способа вывода массива:1)  For i := 1 To n Do Write

Слайд 29ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
На первый взгляд второй способ может показаться более простым

и удобным, но это далеко не всегда так.

Результат работы такой программы зачастую неудобно, а то и просто невозможно анализировать.

Ведь каждый элемент массива будет располагаться в отдельной строке, следовательно, мы не сможем увидеть более 25 элементов одновременно.


ВЫВОД ОДНОМЕРНЫХ МАССИВОВНа первый взгляд второй способ может показаться более простым и удобным, но это далеко не

Слайд 30ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Кроме того, очень часто массив требуется распечатать дважды, чтобы

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

В этом случае сравнение состояний массива гораздо удобнее проводить, если они распечатаны в двух соседних строках, а элементы выровнены по столбцам, то есть к варианту 1 должна быть добавлена еще и форматная печать (указано количество позиций, которое должно отводиться на печать одного элемента).





ВЫВОД ОДНОМЕРНЫХ МАССИВОВКроме того, очень часто массив требуется распечатать дважды, чтобы сравнить состояние массива до обработки и

Слайд 31ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Программа вывода одномерного массива
с помощью цикла с параметром:

Program Primer_4;
Const

n = 30;
Var i: Integer;
X: Array [1..n] Of Real;
Begin
For i:= 1 To n Do Write (X[i] : 6 : 2, ‘ ‘);
Writeln; {курсор переводит на новую строку}
Readln
End.




ВЫВОД ОДНОМЕРНЫХ МАССИВОВПрограмма вывода одномерного массивас помощью цикла с параметром:Program Primer_4;Const n = 30;Var i: Integer;

Слайд 32Вычисление суммы и произведения элементов массива, удовлетворяющих заданному условию
Нахождение количества элементов,

удовлетворяющих заданному условию
Нахождение номеров элементов, обладающих заданным свойством
Поиск нужного элемента в массиве
Изменение значений некоторых элементов массива
Формирование нового массива
Перестановка элементов массива
Сортировка массива

Примеры решения задач




Вычисление суммы и произведения элементов массива, удовлетворяющих заданному условиюНахождение количества элементов, удовлетворяющих заданному условиюНахождение номеров элементов, обладающих

Слайд 33 ЗАДАЧА 1

Дан целочисленный одномерный
массив, состоящий из n элементов.
Найти сумму

и произведение нечетных
элементов, кратных 3.

Вычисление суммы и произведения элементов массива,
удовлетворяющих заданному условию


ЗАДАЧА 1 Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов,

Слайд 34ЗАДАЧА 1.
Введем обозначения:
n – количество элементов в массиве;
А –

имя массива;
i – индекс элемента массива;
Ai – i-й элемент массива A;
s – сумма нечетных элементов массива, кратных 3;
p – произведение нечетных элементов массива, кратных 3.





Входные данные: n, A.

Выходные данные: s, p.




ЗАДАЧА 1.Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента

Слайд 35ПЕРВЫЙ СПОСОБ. ДЛЯ РЕШЕНИЯ ИСПОЛЬЗУЕТСЯ ЦИКЛ С ПАРАМЕТРОМ:
Начало
Ввод n
i := 1,

n, 1

Ввод
Ai

S := 0

P := 1

i := 1, n, 1

(Ai mod 2 <>0) и
(Ai mod 3 = 0)

P := p * A

S := s + Ai

Ввод
S, p

Начало

i := 1, n, 1

Да

Нет




ПЕРВЫЙ СПОСОБ. ДЛЯ РЕШЕНИЯ ИСПОЛЬЗУЕТСЯ ЦИКЛ С ПАРАМЕТРОМ:НачалоВвод ni := 1, n, 1ВводAiS := 0P := 1i

Слайд 36Program Primer1_1;
Var A: Array[1..20] Of Integer;
i, n, s,

p: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (A[i]); {ввод массива}
s:= 0; p:=1;
For i:=1 To n Do {обработка массива}
If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then
Begin
s:=s+A[i];
p:= p*A[i]
End;
Writeln (‘s=’, s, ‘p=’, p);
Readln
End.

Задача 1.


Дан целочисленный одномерный массив, состоящий из n элементов.
Найти сумму и произведение нечетных элементов, кратных 3.





Program Primer1_1;Var A: Array[1..20] Of Integer;   i, n, s, p: Integer;Begin   Write (‘n=’);

Слайд 37
Второй способ. Для решения используется цикл с предусловием:
Program Primer1_2;
Var A: Array[1..20]

Of Integer;
i, n, s, p: Integer;
Begin
Write (‘n=’); Readln (n);
i:=1;
While i <= n Do
Begin
Readln (A[i]); i:= i + 1 End;
s:= 0; p:=1; i:=1;
While i<=n Do Begin
If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then
Begin
s:=s+A[i]; p:= p*A[i]
End;
i:= i + 1 End;
Writeln (‘s=’, s, ‘p=’, p);
Readln
End.

Задача 1.




Второй способ. Для решения используется цикл с предусловием:Program Primer1_2;Var A: Array[1..20] Of Integer;   i, n,

Слайд 38ЗАДАЧА 2
Дан массив целых чисел. Найти
количество тех элементов, значения которых

положительны
и не превосходят заданного
натурального числа А.

Нахождение количества элементов,
удовлетворяющих заданному условию




ЗАДАЧА 2Дан массив целых чисел. Найти количество тех элементов, значения которых положительны и не превосходят заданного натурального

Слайд 39ЗАДАЧА 2.
Введем обозначения:
n – количество элементов в массиве;
X –

имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива X;
A – заданное число;
k – количество элементов, значения которых положительны и не превосходят заданного числа А.





Входные данные: n, , X, A.

Выходные данные: k.




ЗАДАЧА 2.Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента

Слайд 40ПЕРВЫЙ СПОСОБ. ДЛЯ РЕШЕНИЯ ИСПОЛЬЗУЕТСЯ ЦИКЛ С ПАРАМЕТРОМ:
Начало
Ввод n
i := 1,

n, 1

Ввод
Xi

k := 1

(Xi > 0) и
(Xi <=A)

k := k + 1

Вывод
k

Конец

i := 1, n, 1

Да

Нет

Ввод
A




ПЕРВЫЙ СПОСОБ. ДЛЯ РЕШЕНИЯ ИСПОЛЬЗУЕТСЯ ЦИКЛ С ПАРАМЕТРОМ:НачалоВвод ni := 1, n, 1ВводXik := 1(Xi > 0)

Слайд 41Program Primer2_1;
Var X: Array[1..20] Of Integer;
i, n, k,

A: Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); {ввод массива}
Write (‘A=’); Readln (A);
k:= 0;
For i:=1 To n Do {обработка массива}
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1;
Writeln (‘k=’, k);
Readln
End.

Дан массив целых чисел. Найти количество тех элементов, значения
которых положительны и не превосходят заданного натурального числа А.

Задача 2.




Program Primer2_1;Var X: Array[1..20] Of Integer;   i, n, k, A: Integer;Begin   Write (‘n=’);

Слайд 42ЗАДАЧА 2.
Program Primer2_2;
Var X: Array [1..20] Of Integer;
i,

n, k, A: Integer;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
Write (‘A=’); Readln (A);
k:= 0; i:=1;
Repeat
If (X[i] >0) and (X[i] <= A) Then
k:=k + 1; i := i + 1
Until i > n;
Writeln (‘k=’, k);
Readln
End.

Второй способ. Для решения используется цикл с постусловием:




ЗАДАЧА 2.Program Primer2_2;Var X: Array [1..20] Of Integer;   i, n, k, A: Integer;Begin

Слайд 43ЗАДАЧА 3
Найти номера четных элементов массива, стоящих на нечетных местах.
Нахождение номеров

элементов,
обладающих заданным свойством




ЗАДАЧА 3Найти номера четных элементов массива, стоящих на нечетных местах.Нахождение номеров элементов, обладающих заданным свойством

Слайд 44ЗАДАЧА 3
Введем обозначения:
n – количество элементов в массиве;
X –

имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива X.





Входные данные: n, X.

Выходные данные: i.




ЗАДАЧА 3Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента

Слайд 45ЗАДАЧА 3
Начало
Ввод n
i := 1, n, 1
Ввод
Xi
(Xi mod 2 =0) и


(i mod 2 <> 0)

Вывод
i

Конец

i := 1, n, 1

Вывод
i

Вывод
i

Да

Нет

i := 1, n, 1

i := 1, n, 1




ЗАДАЧА 3НачалоВвод ni := 1, n, 1ВводXi(Xi mod 2 =0) и (i mod 2 0) ВыводiКонецi :=

Слайд 46ЗАДАЧА 3

Program Primer3_1;
Var X: Array[1..20] Of Integer;
i, n:

Integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 To n Do Readln (X[i]); {ввод массива}
For i:=1 To n Do {обработка массива}
If (X[i] mod 2 = 0) and (i mod 2<>0) Then
Write (i:5);
Readln
End.




ЗАДАЧА 3Program Primer3_1;Var X: Array[1..20] Of Integer;   i, n: Integer;Begin   Write (‘n=’); Readln

Слайд 47ЗАДАЧА 4
Найти номер последнего отрицательного
элемента массива.



ЗАДАЧА 4Найти номер последнего отрицательного элемента массива.

Слайд 48ЗАДАЧА 4
Введем обозначения:
n – количество элементов в массиве;
A –

имя массива;
i – индекс элемента массива;
Ai – i-й элемент массива А;
m – номер последнего отрицательного элемента массива.





Входные данные: n, А.

Выходные данные: m.




ЗАДАЧА 4Введем обозначения: n – количество элементов в массиве; A – имя массива; i – индекс элемента

Слайд 49ЗАДАЧА 4
Program Primer3_2;
Const n=10;
Var A: Array[1..n] Of Integer;
i,

m: Integer;
Begin
For i:=1 To n Do Readln (A[i]); {ввод массива}
m := 0; i:=n;
While (i >= 1) and (A[i] >=0) Do
i:=i-1;
m:=i;
Writeln (‘m=’, m);
Readln
End.




ЗАДАЧА 4Program Primer3_2;Const n=10;Var A: Array[1..n] Of Integer;   i, m: Integer; Begin   For

Слайд 50ПОИСК НУЖНОГО ЭЛЕМЕНТА В МАССИВЕ
Задача 5
Дан одномерный массив Х1, Х2,

…, Хn. Найти минимальный элемент и его порядковый номер среди элементов, расположенных на четных местах.




ПОИСК НУЖНОГО ЭЛЕМЕНТА В МАССИВЕЗадача 5 Дан одномерный массив Х1, Х2, …, Хn. Найти минимальный элемент и

Слайд 51ЗАДАЧА 5
Введем обозначения:
n – количество элементов в массиве;
X –

имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
min – значение минимального элемента массива;
k – порядковый номер минимального элемента среди элементов, расположенных на четных местах.






Входные данные: n, X.

Выходные данные: min, k.


ЗАДАЧА 5Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента

Слайд 52ЗАДАЧА 5
Первый способ
Program Primer4_1;
Var X: Array[1..30] Of Real;
i,

n, k: Integer; min: Real;
Begin
Write (‘n=’); Readln (n); i:=1;
While i <= n Do Begin {ввод массива}
Readln (X[i]); i:= i + 1 End;
min:=X[2]; k:=2; i:=4;
While i <= n Do Begin
If X[i] < min Then Begin min:= X[i]; k:= i End;
i:= i + 2 End;
Writeln (‘min=’, min:6:1, ‘ k=’, k);
End.




ЗАДАЧА 5Первый способProgram Primer4_1;Var X: Array[1..30] Of Real;   i, n, k: Integer; min: Real;Begin

Слайд 53ЗАДАЧА 5
Второй способ
Program Primer4_2;
Var X: Array[1..30] Of Real;
i,

n, k: Integer; min: Real;
Begin
Write (‘n=’); Readln (n); i:=1;
Repeat
Read (X[i]); i := i + 1
Until i > n;
min:=X[2]; k:=2; i:=4;
Repeat
If X[i] < min Then Begin
min:= X[i]; k:= i End; i:= i + 2
Until i > n;
Writeln (‘min=’, min:6:1, ‘ k=’, k)
End.




ЗАДАЧА 5Второй способProgram Primer4_2;Var X: Array[1..30] Of Real;   i, n, k: Integer; min: Real;Begin

Слайд 54ЗАДАЧА 6
Дан целочисленный одномерный массив. Есть ли в нем отрицательный элемент?



ЗАДАЧА 6Дан целочисленный одномерный массив. Есть ли в нем отрицательный элемент?

Слайд 55Задача 6
Введем обозначения:
n – количество элементов в массиве;
X –

имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
k – количество отрицательных элементов в массиве;
m – признак наличия или отсутствия отрицательного элемента в массиве Х.






Входные данные: n, X.

Выходные данные:
сообщение ‘yes’ или ‘no’ .




Задача 6Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента

Слайд 56ЗАДАЧА 6
Первый способ
Program Primer4_3;
Const n=10;
Var X: Array[1..n] Of Integer;

i, k: Integer;
Begin
For i:=1 To n Do Readln (X[i]); {ввод массива}
k:= 0;
For i:=1 To n Do
If X[i] < 0 Then k:= k + 1;
If k <> 0 Then Writeln (‘yes’)
Else Writeln (‘no’);
Readln
End.




ЗАДАЧА 6Первый способProgram Primer4_3;Const n=10;Var X: Array[1..n] Of Integer;   i, k: Integer;Begin   For

Слайд 57ЗАДАЧА 6
Второй способ
Program Primer4_4;
Const n=10;
Var X: Array[1..n] Of Integer;

i: Integer; m: Boolean;
Begin
For i:=1 To n Do Readln (X[i]); {ввод массива}
m := false; i:=1;
While (i <= n) and not m Do
Begin
If X[i] < 0 Then m:= true; i:=i+1
End;
If m Then Writeln (‘yes’)
Else Writeln (‘no’)
End.




ЗАДАЧА 6Второй способProgram Primer4_4;Const n=10;Var X: Array[1..n] Of Integer;   i: Integer; m: Boolean;Begin

Слайд 58ИЗМЕНЕНИЕ ЗНАЧЕНИЙ НЕКОТОРЫХ ЭЛЕМЕНТОВ МАССИВА
Задача 7
Дан одномерный массив, состоящий
из n

элементов. Если очередной элемент массива
четный, то прибавить к нему первый,
если нечетный – прибавить последний.
Первый и последний элементы не изменять.




ИЗМЕНЕНИЕ ЗНАЧЕНИЙ НЕКОТОРЫХ  ЭЛЕМЕНТОВ МАССИВАЗадача 7Дан одномерный массив, состоящий из n элементов. Если очередной элемент массива

Слайд 59ЗАДАЧА 7
Введем обозначения:
n – количество элементов в массиве;
А –

имя массива;
i – индекс элемента массива;
Аi – i-й элемент массива А.





Входные данные: n, А.

Выходные данные: А.




ЗАДАЧА 7Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента

Слайд 60ЗАДАЧА 7

Program Primer5_1;
Const n = 30;
Var A: Array[1..n] Of Integer;

i: Integer;
Begin
For i:=1 To n Do Readln (A[i]); {ввод массива}
For i:=2 To n-1 Do
If A[i] mod 2 = 0 Then A[i]:= A[i] + A[1]
Else A[i]:= A[i] + A[n];
For i:= 1 To n Do Write (X[i] : 5);
Writeln;
Readln
End.




ЗАДАЧА 7Program Primer5_1;Const n = 30;Var A: Array[1..n] Of Integer;   i: Integer;Begin   For

Слайд 61ЗАДАЧА 8
Дан одномерный массив А1, А2, …, Аn. Элементы, не превышающие

15, заменить средним арифметическим всех элементов массива.




ЗАДАЧА 8Дан одномерный массив А1, А2, …, Аn. Элементы, не превышающие 15, заменить средним арифметическим всех элементов

Слайд 62ЗАДАЧА 8
Введем обозначения:
n – количество элементов в массиве;
А –

имя массива;
i – индекс элемента массива;
Аi – i-й элемент массива А;
s– сумма элементов массива А;
sr – среднее арифметическое всех элементов массива.





Входные данные: n, А.

Выходные данные: А.




ЗАДАЧА 8Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента

Слайд 63ЗАДАЧА 8

Program Primer5_2;
Const n = 30;
Var A: Array[1..n] Of Real;

i: Integer; s, sr: Real;
Begin
For i:=1 To n Do Readln (A[i]); {ввод массива}
s:= 0;
For i:=1 To n Do
s:=s+A[i];
sr:= s/n;
For i:=1 To n Do
If A[i]<=15 Then A[i]:= sr;
For i:=1 To n Do Write (A[i]:5);
Writeln;
Readln
End.




ЗАДАЧА 8Program Primer5_2;Const n = 30;Var A: Array[1..n] Of Real;   i: Integer; s, sr: Real;Begin

Слайд 64ФОРМИРОВАНИЕ НОВОГО МАССИВА
Задача 9.
Сформировать целочисленный массив Х1,Х2,…,Хn, элементы которого: 2, 4,

8, 16, …




ФОРМИРОВАНИЕ НОВОГО МАССИВАЗадача 9.Сформировать целочисленный массив Х1,Х2,…,Хn, элементы которого: 2, 4, 8, 16, …

Слайд 65ЗАДАЧА 9
Введем обозначения:
n – количество элементов в массиве;
Х –

имя массива;
i – индекс элемента массива;
Хi – i-й элемент массива Х.





Входные данные: n.

Выходные данные: Х.




ЗАДАЧА 9Введем обозначения: n – количество элементов в массиве; Х – имя массива; i – индекс элемента

Слайд 66ЗАДАЧА 9
По исходным данным получаем следующее правило формирования массива: Х1=2; Хi

= Xi-1 * 2.

Program Primer6_1;
Const n = 20;
Var X: Array[1..n] Of Integer;
i: Integer;
Begin
X[1]:=2; {начало формирования массива}
For i:=2 To n Do
X[i]:=X[i-1]*2; {конец формирования массива}
For i:=1 To n Do Write (X[i]:5); {вывод массива}
Writeln;
Readln
End.




ЗАДАЧА 9По исходным данным получаем следующее правило формирования массива: Х1=2; Хi = Xi-1 * 2.Program Primer6_1;Const n

Слайд 67ЗАДАЧА 10
Сформировать одномерный массив так, что первые два элемента заданы, а

остальные элементы с нечетными номерами больше предыдущего на величину первого, а с четными – на величину второго.


ЗАДАЧА 10Сформировать одномерный массив так, что первые два элемента заданы, а остальные элементы с нечетными номерами больше

Слайд 68ЗАДАЧА 10
Введем обозначения:
n – количество элементов в массиве;
X –

имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
a, b – соответственно значения первого и второго элементов массива.





Входные данные: n, a, b.

Выходные данные: X.





Введем обозначения:
n – количество элементов в массиве;
X – имя массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
a, b – соответственно значения первого и второго элементов массива.










ЗАДАЧА 10Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента

Слайд 69ЗАДАЧА 10

Program Primer6_2;
Const n = 20;
Var X: Array[1..n] Of Integer;

i, a, b: Integer;
Begin
Write (‘a=’); Readln (a);
Write (‘b=’); Readln (b);
X[1]:=a; X[2]:=b; {начало формирования массива}
For i:=3 To n Do
If i mod 2 <> 0 Then X[i]:= X[i-1] + X[1]
Else X[i]:= X[i-1] + X[2];
{конец формирования массива}
For i:=1 To n Do Write (X[i]:5); {вывод массива}
Readln
End.




ЗАДАЧА 10Program Primer6_2;Const n = 20;Var X: Array[1..n] Of Integer;   i, a, b: Integer;Begin

Слайд 70ЗАДАЧА 11
Дан одномерный масив Х1,Х2,…,Хn. Из четных элементов этого массива сформировать

новый одномерный массив.




ЗАДАЧА 11Дан одномерный масив Х1,Х2,…,Хn. Из четных элементов этого массива сформировать новый одномерный массив.

Слайд 71ЗАДАЧА 11
Введем обозначения:
n – количество элементов в массиве;
X –

имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
Y – имя формируемого массива;
k – порядковый номер элемента в массиве Y;
Yk – k-й элемент массива Y.





Входные данные: n , X.

Выходные данные: Y.












Выходные данные: Y.












ЗАДАЧА 11Введем обозначения: n – количество элементов в массиве; X – имя заданного массива; i – индекс

Слайд 72ЗАДАЧА 11

Program Primer6_3;
Const n = 20;
Var X, Y: Array[1..n] Of Integer;

i, k: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива Х}
k:=0;
For i:=1 To n Do
If X[i] mod 2 = 0 Then
Begin
k:=k + 1;
Y[k] := X[i]
End;
For i:=1 To k Do Writeln (Y[i]:5); {вывод массива Y}
Readln
End.




ЗАДАЧА 11Program Primer6_3;Const n = 20;Var X, Y: Array[1..n] Of Integer;   i, k: Integer;Begin

Слайд 73ПЕРЕСТАНОВКА ЭЛЕМЕНТОВ МАССИВА
Задача 12
Дан одномерный массив Х1, Х2, …, Хn. Поменять

местами значения двух элементов массива с номерами k1 и k2, где k1 и k2 - вводятся с клавиатуры.




ПЕРЕСТАНОВКА ЭЛЕМЕНТОВ МАССИВАЗадача 12Дан одномерный массив Х1, Х2, …, Хn. Поменять местами значения двух элементов массива с

Слайд 74ЗАДАЧА 12
Введем обозначения:
n – количество элементов в массиве;
X –

имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
K1, k2 – порядковые номера элементов, значения которых нужно поменять местами;
b – дополнительная переменная, используемая для перестановки двух элементов массива.


Входные данные: n , X.

Выходные данные: Y.








ЗАДАЧА 12Введем обозначения: n – количество элементов в массиве; X – имя заданного массива; i – индекс

Слайд 75ЗАДАЧА 12

Program Primer7_1;
Const n = 20;
Var X: Array[1..n] Of Integer;

i, k1, k2, b: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
Write (‘k1=’); Readln (k1);
Write (‘k2=’); Readln (k2);
b:= X[k1];
X[k1]:= X[k2];
X[k2]:= b;
For i:=1 To n Do Writeln (X[i]:5); {вывод массива X}
Readln
End.




ЗАДАЧА 12Program Primer7_1;Const n = 20;Var X: Array[1..n] Of Integer;   i, k1, k2, b: Integer;Begin

Слайд 76ЗАДАЧА 13
Переставить все элементы одномерного массива Х
в обратном порядке.



ЗАДАЧА 13Переставить все элементы одномерного массива Х в обратном порядке.

Слайд 77ЗАДАЧА 13
Введем обозначения:
n – количество элементов в массиве;
X –

имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
b – дополнительная переменная.

Входные данные: n , X.

Выходные данные: Y.








ЗАДАЧА 13Введем обозначения: n – количество элементов в массиве; X – имя заданного массива; i – индекс

Слайд 78ЗАДАЧА 13

Program Primer7_2;
Const n = 20;
Var X: Array[1..n] Of Integer;

i, b: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
For i:=1 To n div 2 Do
Begin
b:= X[i];
X[i]:= X[n+1-i];
X[n+1-i]:= b
End;
For i:=1 To n Do Write (X[i]:5); {вывод массива X}
Writeln;
Readln
End.




ЗАДАЧА 13Program Primer7_2;Const n = 20;Var X: Array[1..n] Of Integer;   i, b: Integer;Begin

Слайд 79СОРТИРОВКА МАССИВА (СОРТИРОВКА «ПУЗЫРЬКОМ»)
Задача 14
Отсортировать целочисленный одномерный массив по возрастанию.




СОРТИРОВКА МАССИВА (СОРТИРОВКА «ПУЗЫРЬКОМ»)Задача 14Отсортировать целочисленный одномерный массив по возрастанию.

Слайд 80СОРТИРОВКА «ПУЗЫРЬКОМ»
Суть метода состоит в том, что последовательно сравниваются все пары

соседних элементов массива, и если значения элементов в паре стоят в неправильном порядке (правый меньше левого), то они меняются местами.

В результате одного такого прохода по массиву самый большой элемент обязательно окажется на последней позиции массива. При этом от своей позиции он, путем постепенных обменов, дойдет до последнего места. «Всплывает» как пузырек.




СОРТИРОВКА «ПУЗЫРЬКОМ»Суть метода состоит в том, что последовательно сравниваются все пары соседних элементов массива, и если значения

Слайд 81СОРТИРОВКА «ПУЗЫРЬКОМ»
Но массив при этом вовсе не обязательно окажется упорядоченным. Гарантированно

на нужном месте при этом окажется только самый большой элемент. Поэтому эту процедуру нужно повторить. Но только теперь можно не рассматривать самую последнюю пару.

В результате предпоследний элемент тоже окажется на нужном месте.
Значит, всю процедуру нужно повторить столько раз, сколько элементов нужно поставить на требуемое место, то есть n – 1 (оставшийся элемент окажется при этом на своем месте сам).




СОРТИРОВКА «ПУЗЫРЬКОМ»Но массив при этом вовсе не обязательно окажется упорядоченным. Гарантированно на нужном месте при этом окажется

Слайд 82ЗАДАЧА 14
Введем обозначения:
n – количество элементов в массиве;
X –

имя заданного массива;
i – индекс элемента массива;
Xi – i-й элемент массива Х;
k – номер просмотра, изменяется от 1 до n-1;
w – промежуточная переменная для перестановки местами элементов массива.


Входные данные: n , X.

Выходные данные: Х.








ЗАДАЧА 14Введем обозначения: n – количество элементов в массиве; X – имя заданного массива; i – индекс

Слайд 83ЗАДАЧА 14

Program Primer8_1;
Const n = 100;
Var X: Array[1..n] Of Integer;

i, k, w: Integer;
Begin
For i:=1 To n Do Read (X[i]); {ввод массива}
For k:=n - 1 Downto 1 Do {цикл по номеру просмотра}
For i:=1 To k Do
If X[i] > X[i + 1] Then {перестановка элементов}
Begin
w:= X[i];
X[i]:= X[i + 1];
X[i + 1]:= w
End;
For i:=1 To n Do Writeln (X[i]:5); {вывод массива X}
Readln
End.




ЗАДАЧА 14Program Primer8_1;Const n = 100;Var X: Array[1..n] Of Integer;   i, k, w: Integer;Begin

Слайд 84Предсказание
Расстояние в массиве
Средний балл
Неровный забор
Теннисисты-2
Исключая крайних-2
Наибольшая сумма


Олимпиадные задачи




Предсказание Расстояние в массиве Средний балл Неровный забор Теннисисты-2Исключая крайних-2Наибольшая сумма Олимпиадные задачи

Слайд 85ПРЕДСКАЗАНИЕ (2014-2015, 6 КЛ)
Известны идентификационные номера десяти спортсменов. Второму (в порядке

возрастания идентификационных номеров) спортсмену астрологи предсказали победу в предстоящем соревновании. Выведите идентификационный номер спортсмена, которому предсказали победу.
(формальное условие: дан массив из 10 чисел, необходимо упорядочить его по возрастанию и напечатать элемент массива, стоящий на 2-ом месте)




ПРЕДСКАЗАНИЕ (2014-2015, 6 КЛ)Известны идентификационные номера десяти спортсменов. Второму (в порядке возрастания идентификационных номеров) спортсмену астрологи предсказали

Слайд 86{упорядочить и вывести второй}
program ex1;
var i,j,x,k,n:integer; a:array[1..10] of integer;
begin

Readln(n);
For i:=1 to n do readln(a[i]);
{упорядочение массива}
For i:=1 to n-1 do
begin
For j:=1 to n-i do
If a[j]>a[j+1] Then begin
x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
end;
{упорядоченный массив}
For i:=1 to n do Write(a[i]:4);
Writeln;
{печать результата}
Writeln(a[2]);
end.




{упорядочить и вывести второй}program ex1;var i,j,x,k,n:integer; a:array[1..10] of integer;begin   Readln(n);   For i:=1 to

Слайд 87РАССТОЯНИЕ В МАССИВЕ (2013-2014, 9 КЛ)
Вася очень хочет стать профессором математики.

Но для этого ему нужно защитить несколько научных докладов. Один из них – «Расстояние в массиве». Назовём А-В расстоянием в массиве количество чисел, стоящих на позициях между числами А и В. Вася попросил вас найти для данного массива минимально-максимальное расстояние. Как видно из названия – это расстояние между максимальным и минимальным числом массива. (количество элементов массива между min и max. R=abs(nmin-nmax)-1)
(формальное условие: дан массив, необходимо найти min и max элементы; их номера и количество элементов, стоящих между ними)




РАССТОЯНИЕ В МАССИВЕ (2013-2014, 9 КЛ)Вася очень хочет стать профессором математики. Но для этого ему нужно защитить

Слайд 88Program ex2;
Var a:array[1..1000]of integer; i, n:integer; max, min, nmax, nmin, r:integer;
Begin

Readln(n);
For i:=1 to n do Read(a[i]);
For i:=1 to n do Write(a[i]:5);
Writeln;
{начальные присваивания}
max:=a[1];
min:=a[1];
nmax:=1;
nmin:=1;
For i:=2 to n do
Begin
If a[i]>max then begin max:=a[i]; nmax:=i; end;
If a[i] End;
Writeln(nmin);
Writeln(nmax);
R:=abs(nmin-nmax)-1;
{печать результата}
Writeln(r);
End.




Program ex2;Var a:array[1..1000]of integer; i, n:integer; max, min, nmax, nmin, r:integer;Begin   Readln(n);   For

Слайд 89СРЕДНИЙ БАЛЛ (2016-2017, 9 КЛ)
У восьмиклассницы Марины есть старший брат Петя.

Он заканчивает школу. Марина решила написать программу для вычисления среднего балла аттестата брата. С клавиатуры нужно ввести количество отметок аттестата и отметки. Ответ вывести с точностью до десятых. Дополнительно покажите минимальную и максимальную отметки.
(формальное условие: дан массив, необходимо найти сумму элементов; разделить сумму на количество элементов; найти min и max элементы)




СРЕДНИЙ БАЛЛ (2016-2017, 9 КЛ)У восьмиклассницы Марины есть старший брат Петя. Он заканчивает школу. Марина решила написать

Слайд 90Program ex3;
Var n,i,s,max,min:integer; sa:real; a:array[1..30] of integer;
Begin
  Readln(n);
For i:=1 to n do

Read(a[i]);
S:=0;
For i:=1 to n do s:=s+a;
Sa:=s/n;
max:=a[1]; min:=a[1];
For i:=2 to n do
Begin
If a[i]>max Then max:=a[i];
If a[i] Writeln(sa:5:1);{1 знак после запятой}
Writeln(min);
Writeln(max);
End.




Program ex3;Var n,i,s,max,min:integer; sa:real; a:array[1..30] of integer;Begin 	Readln(n);	For i:=1 to n do Read(a[i]);	S:=0;	For i:=1 to n do s:=s+a;	Sa:=s/n;	max:=a[1];

Слайд 91НЕРОВНЫЙ ЗАБОР (2016-2017, 5 КЛ)
Вася построил забор из имеющихся досок разной

длины. Сколько раз из двух соседних досок правая доска больше левой больше чем на 10?
Организуем массив, в цикле (начиная со 2-го) находим количество разностей текущего и предыдущего элементов, >10




НЕРОВНЫЙ ЗАБОР (2016-2017, 5 КЛ)Вася построил забор из имеющихся досок разной длины. Сколько раз из двух соседних

Слайд 92program ex4;
var n,kol,i:integer; a:array[1..20] of integer;
begin
Readln(n);
For i:=1 to n

do Readln(a[i]);
For i:=2 to n do
If a[i]-a[i-1]>10
Then kol:=kol+1;
Writeln(kol);
end.




program ex4;var n,kol,i:integer; a:array[1..20] of integer;begin Readln(n); For i:=1 to n do Readln(a[i]); For i:=2 to n

Слайд 93ТЕННИСИСТЫ-2 (2016-2017, 5 КЛ)
Тренер по теннису решил разбить своих подопечных на

пары для проведения тренировочного турнира. Он разбил разбил 10 учеников на пары следующим образом. Выстроил их в порядке убывания силы игрока, а затем в первую команду первого поставил в пару со вторым, во вторую команду – третьего с четвёртым и т.д. Известны силы каждого ученика, выведите 5 чисел – силы команд от первой до пятой в порядке их формирования.
Упорядочиваем массив в порядке убывания и выводим суммы 1+2 элементов, 3+4, … , 9+10




ТЕННИСИСТЫ-2 (2016-2017, 5 КЛ)Тренер по теннису решил разбить своих подопечных на пары для проведения тренировочного турнира. Он

Слайд 94program ex5;
var i,j,x,k,n:integer; a:array[1..10] of integer;
begin
Readln(n);{n

условию}
For i:=1 to n do readln(a[i]);
For i:=1 to n-1 do begin
For j:=1 to n-i do {упорядочение по убыванию}
If a[j] x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
end;
For i:=1 to n do Write(a[i]:4);{печать силы каждого ученика}
Writeln;
i:=1; {силы команд}
While i<=n-1 do
begin
Writeln(a[i]+a[i+1]); i:=i+2;
end;
end.




program ex5;var i,j,x,k,n:integer; a:array[1..10] of integer;begin   Readln(n);{n

Слайд 95ИСКЛЮЧАЯ КРАЙНИХ-2 (2015-2016, 5 КЛ)
Вам даны N (5

по возрастанию N-4 из них, исключив два самых больших и самых маленьких
Упорядочиваем массив по возрастанию и печатаем со 2-го по N-2




ИСКЛЮЧАЯ КРАЙНИХ-2 (2015-2016, 5 КЛ)Вам даны N (5

Слайд 96program ex6;
var i,j,x,k,n:integer; a:array[1..15] of integer;
begin
Readln(n);{5

условию}
For i:=1 to n do readln(a[i]);
For i:=1 to n-1 do begin
For j:=1 to n-i do {упорядочение по возрастанию}
If a[j] x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
end;
For i:=3 to n-2 do Writeln(a[i]);{печать}
end.




program ex6;var i,j,x,k,n:integer; a:array[1..15] of integer;begin   Readln(n);{5

Слайд 97НАИБОЛЬШАЯ СУММА (2014-2015, 8 КЛ)
Заданы N чисел. Определите, какую максимальную сумму

можно получить, выбрав любые K из них.
Упорядочиваем массив в порядке убывания и находим сумму первых K из них. Сумма больших чисел – максимальное число




НАИБОЛЬШАЯ СУММА (2014-2015, 8 КЛ)Заданы N чисел. Определите, какую максимальную сумму можно получить, выбрав любые K из

Слайд 98program ex7;
var i,j,x,K,N,s:integer; a:array[1..10000] of integer;
begin
Readln(N,K);

For i:=1 to n do readln(a[i]);
For i:=1 to n-1 do begin
For j:=1 to n-i do {упорядочение по убыванию}
If a[j] x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
end;
s:=0; {находим сумму K наибольших}
For i:=1 to K do s:=s+a[i];
Writeln(s);
end.




program ex7;var i,j,x,K,N,s:integer; a:array[1..10000] of integer;begin   Readln(N,K);   For i:=1 to n do readln(a[i]);

Слайд 99УСПЕХОВ В ПРЕОДОЛЕНИИ ТРУДНОСТЕЙ

УСПЕХОВ В ПРЕОДОЛЕНИИ ТРУДНОСТЕЙ

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть