Что такое целочисленный массив

Урок 14. Одномерные массивы. Работа с элементами

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Одномерные массивы. Определение.

Одномерный массив — это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер. Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.

Между именем типа и именем переменной ставится знак «двоеточие». Array — служебное слово (в переводе с английского означает «массив», «набор»); [1..N] — в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива; of — служебное слово (в переводе с английского «из»); integer — тип элементов массива.

Индексом могут быть не только натуральные числа: мы можем написать так: [0..10], [-29..45], [‘a’..’z’], [false..true] — то есть нам подходят любые символы и числа — главное соблюсти следующее условие: левая часть меньше правой. Для того чтобы определить, что меньше — восклицательный знак(‘!’) или точка(‘.’) используем таблицу ASCII и функции Ord() и Chr().

Как же производится ввод одномерного массива?

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

Как видите, ничего страшного в массивах нет. Массивы применяют в тех случаях, когда нельзя обойтись одной-двумя переменными (примеры таких задач мы рассматривали в решении задач из блока Series). В случаях, когда после ввода последовательности целиком пользователю необходимо обратиться к переменным в середине последовательности, в начале, поменять их значения местами, отсортировать.

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

Одномерные массивы. Решение задач.

Series8. Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел.

Series28. Дано целое число N и набор из N вещественных чисел: A1, A2, …, AN. Вывести следующие числа:

Исходное решение: Series28.

Более подробно про возведение числа в степень мы говорили в решении задачи for36.

Ну и напоследок давайте разберём веселенькую задачу на длинную арифметику.

Задача. Найти факториал числа.

Мы уже решали эту задачу здесь(for19).

Научимся вычислять факториал натурального числа N. Факториал числа — это произведение чисел 1*2*3*…*(N-1 )*N (обозначается как N!). Сложность задачи в том, что уже 8!=40320, а 13!=6227020800. Типы данных Integer, Longlnt применимы весьма в ограниченном диапазоне натуральных чисел. Для представления факториала договоримся использовать массив. Пример:

A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]
800861993

В массиве записано значение 11!=39916800. Каким образом? В А[0] фиксируется число занятых элементов массива, в А[1] — цифра единиц результата, в А[2] — цифра десятков результата, в А[3] — цифра сотен результата и т. д. Почему так, а не наоборот? Такая запись позволяет исключить сдвиг элементов массива при переносе значений в старший разряд. А сейчас наберите, как обычно, текст программы, выполните компиляцию и, выполните ее в пошаговом режиме, отслеживая изменение значений переменных при не очень большом значении N. Добейтесь полного понимания логики работы программы.

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

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Одномерный массив — это конечное упорядоченное множество элементов. За первым элементом идет второй, за вторым — третий и т. д. Индекс может быть чем угодно — и целым числом, и символом. Но чаще мы всё-таки будем пользоваться следующим диапазоном: [1.. N].

На сегодня все! Если у вас еще остались вопросы о том, как работает программа выше, оставляйте их в комментариях. И очень скоро мы начнем решать задачи на массивы из задачника М. Э. Абрамяна.

Источник

Что такое целочисленный массив

Одномерные массивы целых чисел

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

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

Размерность массива — это количество индексов, необходимое для однозначного доступа к элементу массива. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д.

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

• суммирование значений элементов массива;

• поиск элемента с заданными свойствами;

Перед использованием в программе массив должен быть описан, т. е. должно быть указано имя массива, количество элементов массива и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения массива. Общий вид описания одномерного массива:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Здесь описан массив а из 10 целочисленных значений. При выполнении этого оператора в памяти компьютера будет выделено место для хранения десяти целочисленных переменных.

Массив, элементы которого имеют заданные начальные значения, может быть описан в разделе описания констант:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

В этом случае не просто выделяются последовательные ячейки памяти — в них сразу же заносятся соответствующие значения.

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

Например, для ввода с клавиатуры значений элементов описанного выше массива а используется следующий цикл с параметром:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Задавать значения элементов массива можно с помощью оператора присваивания. Например:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

В следующем фрагменте программы организовано заполнение целочисленного массива а, состоящего из 10 элементов, случайными числами, значения которых изменяются в диапазоне от 0 до 99:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

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

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

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Более наглядным является следующий вариант вывода элементов массива с пояснениями в столбик:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

На основании рассмотренных примеров запишем программу, в которой осуществляется: заполнение целочисленного массива а, состоящего из 10 элементов, случайными числами, значения которых изменяются в диапазоне от 0 до 99; вывод массива а на экран.

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Вычисление суммы элементов массива

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Результат работы алгоритма обозначен через s.

Суммирование элементов массива осуществляется по тому же принципу, что и суммирование значений простых переменных: за счёт поочерёдного добавления слагаемых:

1) определяется ячейка памяти (переменная s), в которой будет последовательно накапливаться результат суммирования;

2) переменной s присваивается начальное значение 0 — число, не влияющее на результат сложения;

3) для каждого элемента массива из переменной s считывается её текущее значение и складывается со значением элемента массива; полученный результат присваивается переменной s.

Источник

Pascal: Занятие № 5. Одномерные массивы в Паскале

Одномерные массивы в Паскале

Объявление массива

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

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Объявить размер можно через константу:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Инициализация массива

Кроме того, массив может быть сам константным, т.е. все его элементы в программе заранее определены. Описание такого массива выглядит следующим образом:

const a:array[1..4] of integer = (1, 3, 2, 5);

Заполнение последовательными числами:
Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

var a: array of integer; var n:=readInteger; a:=new integer[n];

var a: array of integer; var n:=readInteger; SetLength(a,n); // устанавливаем размер

begin var a: array of integer; a := new integer[3]; a[0] := 5; a[1] := 2; a[2] := 3; end.

begin var a: array of integer; a := new integer[3](5,2,3); print(a) end.

Ввод с клавиатуры:

var a:=ReadArrInteger(5); // целые var a:=ReadArrReal(5); // вещественные

Вывод элементов массива

var a: array[1..5] of integer; <массив из пяти элементов>i: integer; begin a[1]:=2; a[2]:=4; a[3]:=8; a[4]:=6; a[5]:=3; writeln(‘Массив A:’); for i := 1 to 5 do write(a[i]:2); <вывод элементов массива>end.

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

[Название файла: taskArray0.pas ]

В данном примере работы с одномерным массивом есть явное неудобство: присваивание значений элементам.

for var i:=0 to a.Length-1 do a[i] += 1;

Проход по элементам (только для чтения):
Пример:

foreach var x in a do Print(x)

Функция Random в Pascal

Диапазон в Паскале тех самых случайных чисел от a до b задается формулой:

var f: array[1..10] of integer; i:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); < интервал [0,9] >write(f[i],’ ‘); end; end.

Для вещественных чисел в интервале [0,1]:

или с дополнительными параметрами (диапазон [5;15]):

[Название файла: taskArray1.pas ]

Числа Фибоначчи в Паскале

Наиболее распространенным примером работы с массивом является вывод ряда чисел Фибоначчи в Паскаль. Рассмотрим его.

Получили формулу элементов ряда.

var i:integer; f:array[0..19]of integer; begin f[0]:=1; f[1]:=1; for i:=2 to 19 do begin f[i]:=f[i-1]+f[i-2]; writeln(f[i]) end; end.

[Название файла: taskArray2.pas ]

Максимальный (минимальный) элемент массива

Поиск максимального элемента по его индексу:
Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

// … var (min, minind) := (a[0], 0); for var i:=1 to a.Length-1 do if a[i]

[Название файла: taskArray_min.pas ]

[Название файла: taskArray4.pas ]

[Название файла: taskArray5.pas ]

[Название файла: taskArray6.pas ]

Пример:

[Название файла: taskArray7.pas ]

Поиск в массиве

Рассмотрим сложный пример работы с одномерными массивами:

Для решения поставленной задачи понадобится оператор break — выход из цикла.
Решение Вариант 1. Цикл for:

var f: array[1..10] of integer; flag:boolean; i,c:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); write(f[i],’ ‘); end; flag:=false; writeln(‘введите образец’); readln(c); for i:=1 to 10 do if f[i]=c then begin writeln(‘найден’); flag:=true; break; end; if flag=false then writeln(‘не найден’); end.

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.IndexOf(3)) // 1 end.

или метод a.Contains(x) наравне с x in a :

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.Contains(3)); // True print(3 in a)// True end.

Рассмотрим эффективное решение:

Алгоритм:

решение на Паскале Вариант 2. Цикл While:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Поиск элемента в массиве

Предлагаем посмотреть подробный видео разбор поиска элемента в массиве (эффективный алгоритм):

Пример:

[Название файла: taskArray8.pas ]

Циклический сдвиг

Решение:

Программа:
Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

// … var v := a[0]; for var i:=0 to a.Length-2 do a[i] := a[i+1]; a[a.Length-1] := v;

// … var v := a[a.Length-1]; for var i:=a.Length-1 downto 1 do a[i] := a[i-1]; a[0] := v;

[Название файла: taskArray9.pas ]

Перестановка элементов в массиве

Рассмотрим, как происходит перестановка или реверс массива.

Решение:

Псевдокод:
Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Программа:
Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Решение 2 (стандартная процедура Reverse() ):

begin var a:=new integer[10]; a:=arrRandomInteger(10); print(a);// [41,81,84,63,12,26,88,25,36,72] Reverse(a); print(a) //[72,36,25,88,26,12,63,84,81,41] end.

[Название файла: taskArray10.pas ]

Выбор элементов и сохранение в другой массив

Решение:

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив
Вывод массива B:

writeln(‘Выбранные элементы’); for i:=1 to count-1 do write(B[i], ‘ ‘)

[Название файла: taskArray11.pas ]

Сортировка элементов массива

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

for i:=1 to N-1 do begin for j:=N-1 downto i do if A[j] > A[j+1] then begin с := A[j]; A[j] := A[j+1]; A[j+1] := с; end; end;

[Название файла: taskArray12.pas ]

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

PascalPascalABC.NET

for i := 1 to N-1 do begin min:= i ; for j:= i+1 to N do if A[j] i then begin c:=A[i]; A[i]:=A[min]; A[min]:=c; end; end;

for var i := 0 to a.High-1 do begin var (min,imin) := (a[i],i); for var j := i + 1 to a.High do if a[j] [Название файла: taskArray13.pas ]

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Рубрики:

См. пузырьковая сортировка.
При второй итерации цикла (согласно вашим рисункам и коду ) нет надобности сравнивать первый элемент со вторым. Снова вы всех путаете =)

admin

Именно поэтому в коде : for j:=N-1 downto i do

downto i — то есть мы доходим сначала до первого элемента, потом до второго и т.д.

Bronislav

Смотрите. Ваш код работает. Но работает не так, как вы пишете перед этим. Он просеивает минимальный элемент с конца через весь массив до первой позиции (первого индекса если хотите). А не так как вы пишете: «При второй итерации цикла нет надобности сравнивать последний элемент с предпоследним. Последний элемент уже стоит на своем месте, он самый большой.» Соответственно вашему коду и вашим рисункам на второй итерации не сравнивается первый элемент (минимальный) со вторым, а не последний (который вообще не факт что максимальный) с предпоследним. Вот об чем речь. Или код меняйте или описание алгоритма перед кодом.

Владимир

В сохранении в другой массив ошибка. Надо поменять местами счётчик и команду сохранения. В массиве В нет элемента 0.

Aurangzeb

А как заполнить случайными числами (из файла!) такой массив: Type mass=array[1..n] of smallint; var A:array[1..n] of mass… В файле они введены, допустим, квадратно! Потом её нужно перевернуть и записать в выходной файл! Подумайте!

Источник

Презентация к уроку

Понятие «массив» носит фундаментальный характер. Самым удобным способом хранения большого количества однотипных данных является массив. Обработка массивов является основой практически любой программы.

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

Созданная обучающая программа может использоваться при изучении темы «Одномерные массивы в языке программирования Паскаль» в среднем и старшем звене общеобразовательной школы.

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

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

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

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

С понятием «массив» приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений. В общем случае массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве. (Приложение 1 [13, с.181])

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

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

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

1.2. Описание одномерных массивов

Одномерный массив – это фиксированное количество элементов одного типа, объединенных одним именем, причем каждый элемент имеет свой уникальный номер, и номера элементов идут подряд. (Приложение 1 [12, с.100])

Для описания подобных объектов в программировании предварительно следует ввести соответствующий тип в разделе описания типов.

Тип массив описывается следующим образом:

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

Переменную типа массив можно описать сразу в разделе описания переменных Var:

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

mas = array [1..20] of real;

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

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

Индексы элементов массива могут начинаться с любого целого числа, в том числе и отрицательного, например:

Type bb = Array [-5..3] Of Boolean;

1.3. Ввод и вывод одномерных массивов в Паскале

Ввод и вывод массивов осуществляется поэлементно.

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

Пусть i индекс (порядковый номер) элемента в массиве Х. Тогда

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

Первый вариант: ввод массива с использованием цикла с предусловием (Рисунок 1).

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Var i: integer;

X: array [1..30] of Integer;

Begin

While i 30;

Массив X введен с использованием цикла с постусловием.

Третий вариант: ввод массива с использованием цикла с параметром (Рисунок 3).

Что такое целочисленный массив. Смотреть фото Что такое целочисленный массив. Смотреть картинку Что такое целочисленный массив. Картинка про Что такое целочисленный массив. Фото Что такое целочисленный массив

Var i: integer;

X: array [1..30] of Integer;

Begin

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

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

Вывод одномерного массива осуществляется аналогично.

В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы на другие здесь недостаточно. Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:

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

Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа, используя цикл с параметром (Рисунок 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, ‘ ‘);

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

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

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

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

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

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

При просмотре массива можно сразу вычислить и произведение элементов массива, удовлетворяющих заданному условию. Произведение вычисляется с помощью оператора p:=p*A[i]. При этом p справа и p слева имеют разные значения: p справа – уже известное, вычисленное ранее значение произведения, p слева – новое, вычисляемое его значение. Первоначально искомое произведение равно единице, т.е. p:=1.

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

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

Var A: Array[1..20] Of Integer;

Begin

For i:=1 To n Do Readln (A[i]);

For i:=1 To n Do

If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then

Begin

End.

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

Var A: Array[1..20] Of Integer;

Begin

Write (‘n=’); Readln (n); i:=1;

While i 0) and (A[i] mod 3 = 0) Then

Begin

End; i:= i + 1

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

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

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

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

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

Вводим с клавиатуры значение числа А. Количество элементов, значения которых положительны и не превосходят заданного числа А, вначале полагаем равным нулю, то есть k:=0. Если очередной элемент массива положителен и не превосходят заданного числа A, то количество таких элементов нужно увеличить на единицу, то есть k:=k + 1. Таким образом, обрабатываются все элементы массива.

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

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

Var X: Array[1..20] Of Integer;

Begin

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] n;

Write (‘A=’); Readln (A); k:= 0; i:=1;

Repeat

If (X[i] >0) and (X[i] n;

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

Задача 3. Найти номера четных элементов, стоящих на нечетных местах. (Презентация)

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

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

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

Необходимо просмотреть весь массив. Если просматриваемый элемент является четным, а его порядковый номер – нечетный, то вывести его номер. При решении этой задачи можно использовать любой из видов циклов.

Составим программу с помощью цикла с параметром:

Var X: Array[1..20] Of Integer;

Begin

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);

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

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

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

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

Последний отрицательный элемент массива – это первый отрицательный элемент, который встретится при просмотре массива с конца. Если очередной элемент не является отрицательным, то нужно уменьшать значение текущего индекса (i:=i-1), пока он не станет меньше номера первого элемента или не будет найден отрицательный элемент. Переменная m получает значение i (номер отрицательного элемента), т.е. m := i. Если в массиве нет отрицательного элемента, то значение переменной m остается равным нулю.

Const n=10;

Var A: Array[1..n] Of Integer;

Begin

For i:=1 To n Do Readln (A[i]);

While (i >= 1) and (A[i] >=0) Do i:=i-1; m:=i;

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

PascalPascalABC.NET