СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

ТИПОВЫЕ АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ

Категория: Информатика

Нажмите, чтобы узнать подробности

Пособие для учащихся при работе с одномерными массивами.

Просмотр содержимого документа
«ТИПОВЫЕ АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ»

Урок #


Тема: ТИПОВЫЕ АЛГОРИТМЫ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ


1.Описание массива.

Назначение: необходим при использовании процедур и функций программиста.

2.Описание массива.

Назначение: используется, когда нет процедур и функций программиста.

const

n=10;

type

massiv = array[1..n] of integer;

var

mas1: massiv;


const

n=10;


var

mas1: array[1..n] of integer;


1. Ввод массива

1) Поэлементный ввод 2) Формирование массива с

с клавиатуры: использованием генератора

На некоторых компьютерах идет такая схема алгоритма (зависит от процессора):

randomize;

For i:=1 to n do

mas1[i]:= – 50+random(100);

Универсальная схема алгоритма:

randomize;

x:=100;

For i:=1 to n do

begin

r:= random(x); mas1[i]:= – 50+r;

end;


случайных чисел:

For i:=1 to n do

begin

write('mas1[',i,']=');

readln(mas1[i]);

end;

3) Ввод массива по формуле:


For i:=1 to n do

mas1[i]:= {формула};


2. Вывод массива на экран

1) Вывод в строку: 2) Вывод в столбик:

{ для mas1[i]:real;} {для mas1[i] : integer}

For i:=1 to n do

For i:=1 to n do For i:=1 to n do writeln(mas1[i]);

write(mas1[i]:5:1); write(mas1[i]:5);

writeln; writeln;



3. Алгоритмы обработки линейного массива

1) Сумма элементов массива 2) Произведение элементов массива


s:=0; p:=1;

for i:=1 to n do for i:=1 to n do

s:=s+mas1[i]; p:=p*mas[i];



3) Сумма отрицательных 4) Количество отрицательных

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

s:=0; kol:=0;

for i:=1 to n do for i:=1 to n do

if mas1[i]

s:=s+mas1[i]; kol:=kol+1;



5) Есть ли в массиве элемент, 6) Заменить элементы с четными

равный заданному числу Х номероми числом Х


flag:=false;

for i:=1 to n do for i:=1 to n do

if mas1[i] = X then if i mod 2 =0 then

begin mas1[i]:=x;

flag:=true;

break;

end;



7) Поиск минимального 8) Поиск максимального

элемента элемента

min:=mas1[1]; num:=1; max:=mas1[1]; num:=1;

For i:=1 to n do For i:=1 to n do

if minmas1[i] then if max

begin begin

min:=mas1[i]; max:=mas1[i];

num:=i; num:=i;

end; end;





9) Нахождение первого 10) Нахождение последнего

отрицательного элемента отрицательного элемента


for i:=n downto 1 do for i:=1 to n do

if mas1[i]

begin begin

x:=mas1[i]; x:=mas1[i];

num:=i; num:=i;

end; end;



Задание.


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



  1. Найти сумму положительных элементов массива;

  2. Найти сумму отрицательных элементов массива;

  3. Найти количество положительных элементов массива;

  4. Найти количество отрицательных элементов массива;

  5. Найти номера и значения первого и последнего отрицательных элементов массива;

  6. Найти сумму элементов массива, если среди них есть хотя бы один больший () единицы, и произведение - в противном случае;

  7. Найти максимальный и минимальный элементы массива и их номера;

  8. Найти значения двух наибольших элементов;

  9. Найти сумму элементов массива, не превышающих максимального среди отрицательных;

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

  11. Найти сумму элементов массива, превышающих минимальный среди положительных;

  12. Найти сумму и количество элементов из заданного промежутка чисел [a,b], причем a, b заданы с клавиатуры.