русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Примеры обработки одномерных массивов.


Дата добавления: 2013-12-23; просмотров: 717; Нарушение авторских прав


Примеры обработки массивов.

Рассмотрим примеры обработки отдельных элементов массива. ( слайд 14,15)

1). Найти сумму элементов массива. ( слайд 16)

S:= 0;

for i:=1 to 5 do

S:= S + a[i];

writeln(‘S=’, S);

 

2). Сложение двух векторов A и B. ( слайд 17)

for i:=1 to 5 do

d[i]:= a[i] + b[i];

writeln(‘ массив D = A + B‘);

for i:=1 to 5 do

writeln(d[i]);

 

3). Определить количество четных элементов в массиве A и распечатать их.

( слайд 18)

k:= 0; { счетчик }

for i:=1 to 5 do

if a[i] mod 2 = 0 then

begin

k:= k + 1;

y[k]:= a[i]

end;

{распечатка массива четных чисел}

If k = 0 Then

writeln(‘четных нет’)

Else

for i:= 1 to k do

write( y[i]:5 );

writeln;

4). Определить количество положительных элементов в массиве A. ( слайд 19)

k:= 0; { счетчик }

for i:=1 to 5 do

if a[i] > 0 then

begin

k:= k + 1;

y[k]:= a[i]

end;

If k = 0 Then

writeln(‘ нет ’)

Else

for i:= 1 to k do

writeln( y[i] );

 

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

 

5). Если элемент массива принадлежит интервалу [n, m], то обнулить его.

( слайд 20)

 

for j:= 1 to 5 do

if (a[j] >= n) AND (a[j]<=m) then a[j]:=0;

 

6). Если элемент массива не принадлежит интервалу [n, m], то увеличить на единицу все его элементы.

 

for j:= 1 to 5 do

if (a[j]< n) OR (a[j]>m) then a[j]:=a[j]+1;

 

7). Найти максимальный и минимальный элементы массива и поменять их местами. ( слайд 21)

{ найдем max и его индекс }

max:= a[1]; n:=1; { n – индекс max}

for i:= 2 to 5 do

if max < a[i] then

begin

max:=a[i]; n:=i;

end;

 

{ найдем min и его индекс }

min:= a[1]; m:=1; { m – индекс min}



for i:= 2 to 5 do

if min > a[i] then

begin

min:=a[i]; m:=i;

end;

{ поменяем местами max и min }

buf:= a[n];

a[n]:=a[m];

a[m]:=buf;

 

8). Найти сумму элементов массива, начиная с первого отрицательного.

 

1-й вариант:

for i:= 1 downto 5 do

if a[i]< 0 then n:=i ; {n–номер отр. эл-та}

S:=0;

for i:= n to 5 do

S:=S = a[i];

 

2-й вариант:

for i:= 1 to 5 do

if a[i]< 0 then

begin

n:=i ;

goto 1 { или BREAK}

end;

1: S:=0;

for i:= n to 5 do

S:=S = a[i];

 

9). Определить, содержит ли массив число, равное Z, если да, то в каких позициях.

 

Program poisk;

Const Z=-20; n=30;

Var a: array[1..n] of integer;

i, k : byte;

Begin

for i:= 1 to n do

read(a[i]); {ввод элементов массива}

k:=0; { счетчик }

for i:= 1 to n do

begin

if a[i] = Z then

begin

k:=k + 1;

write(‘обнаружено ’, k, ‘-е число Z=’, Z);

writeln(‘ в позиции ’, i );

end;

end;

 

if k < > 0 then

writeln(‘Z= ‘, Z, ‘ встречается ‘, k, ‘ раз’)

else

writeln(‘числа ’,Z, ‘ нет в массиве A‘);

End.

 

1.1. Найти сумму элементов массива, начиная с первого отрицательного.

( слайд 2, 3)

 

1-й вариант:

for i:= 5 downto 1 do

if a[i]< 0 then n:=i ; {n–номер отр. эл-та}

S:=0;

for i:= n to 5 do

S:=S + a[i];

 

2-й вариант:

for i:= 1 to 5 do

if a[i]< 0 then

begin

n:=i ;

goto 1 { или BREAK}

end;

1: S:=0;

for i:= n to 5 do

S:=S + a[i];

 

1.2 Определить, содержит ли массив число, равное Z, если да, то в каких позициях.

(слайды 4, 5)

 

Program poisk;

Const Z=-20; n=30;

Var a: array[1..n] of integer;

i, k : integer;

Begin

for i:= 1 to n do

read(a[i]); {ввод элементов массива}

k:=0; { счетчик }

for i:= 1 to n do

begin

if a[i] = Z then

begin

k:=k + 1;

write(‘обнаружено ’, k, ‘-е число Z=’, Z);

writeln(‘ в позиции ’, i );

end;

end;

 

if k < > 0 then

writeln(‘Z= ‘, Z, ‘ встречается ‘, k, ‘ раз’)

else

writeln(‘числа ’,Z, ‘ нет в массиве A‘);

End.

1.3 Переставить попарно внутри массива первый и последний элементы, второй и предпоследний и т.д. ( А I-й с N+1-ым) (слайды 6, 7)

Const n=6;

VAR A,B : array[1..N] of integer;

I,k,r: integer;

BEGIN k:=round(N/2);

FOR i:= 1 to k do

begin r := A[i];

A[i] := A[n-i+1] ;

A[n-I+1]:=r;

end;

End.

 

 

2. Ввод – вывод двумерных массивов. ( слайд 8)

Значения элементов двумерного массива (матрицы) можно ввести в программу следующими способами:

1). типизированной константой;

2). ввод с клавиатуры;

3). ввод из файла;

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

Вывод элементов массива и результатов вычислений можно осуществить :

1). на экран;

2). в файл.

Рассмотрим примеры

 



<== предыдущая лекция | следующая лекция ==>
Тип-массив можно вводить непосредственно при определении переменных или типизированных констант. | Рассмотрим несколько примеров, связанных с поиском по какому-либо условию.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.313 сек.