§  элементы, стоящие на четных местах

§  элементы, значения которых – четные числа

§  элементы, значения которых превосходят S

12.  Вставить в массив новый элемент в s-ю позицию.

13.  В массиве определить, имеются ли элементы с одинаковыми значениями.

14.  Даны список футбольных команд высшей лиги России и количество очков, набравших каждой командой в чемпионате. Известно, что нет команд с равным количеством очков. Какая команда стала чемпионом? Составьте список команд в порядке возрастания мест.

15.  Задан список городов России. Напечатайте самое длинное (короткое) название. Все названия городов из 8 букв.

16.  Дан входной упорядоченный массив А длиной N. В массив С переписать неповторяющиеся элементы из А

17.  Реализовать операции объединения, пересечения и объединения без пересечения 2-х массивов размерности n и m.

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

Пересечение двух массивов – это третий массив, в который входят все совпадающие элементы первого и второго массива.

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

Массив, не содержащий ни одного элемента, называется пустым.

Примеры программ

Задача 6

program lokal;

var a, b:array[1..80]of integer;

i, g,j, m,n:integer;

begin

randomize;

for i:=1 to 80 do

a[i]:=round(random(1000));

for i:=1 to 80 do begin

write(a[i],' ');

НЕ нашли? Не то? Что вы ищете?

if (i mod 10)=0 then writeln;end;

g:=1;

for i:=1 to 78 do

if (a[i]>a[i+1])and (a[i+2]>a[i+1])then begin b[g]:=a[i+1];g:=g+1;end;

writeln('Локальные минимумы:');

for j:=1 to g-1 do begin

write(b[j],' ');

if (j mod 10)=0 then writeln;end;

m:=b[1];

for j:=1 to g-1 do

if m<b[j] then m:=b[j];writeln;

writeln('Больший из локальных ',m);

readln;

end.

Задача 17

program mnoj;

var a, b:array [1..100] of integer;

c: array [1..200] of integer;

i, j,k, n,m:integer;

l:boolean;

begin

writeln('введите размерность первого массива'); readln(m);

writeln('введите размерность второго массива'); readln(n);

writeln('ведите первый массив');

for i:=1 to m do read (a[i]);

writeln('ведите второй массив');

for i:=1 to n do read (b[i]);

{пересечение}

k:=1;

for i:=1 to m do

for j:=1 to n do

if a[i]=b[j] then begin c[k]:=a[i]; k:=k+1;end;

if k=1 then write ('пересечение пусто') else begin

write('пересечение ');

for i:=1 to k-1 do write (c[i],' '); end;

writeln;

{объединение}

l:=true; k:=m+1;

for i:=1 to m do c[i]:=a[i];

for j:=1 to n do begin

for i:=1 to m do

if b[j]=a[i] then l:=false;

if l then begin c[k]:=b[j]; k:=k+1; end;l:=true; end;

write('объединение ');

for i:=1 to k-1 do write (c[i],' ');

writeln;

{ объединение без пересечения}

l:=true; k:=1;

for j:=1 to n do begin

for i:=1 to m do

if b[j]=a[i] then l:=false;

if l then begin c[k]:=b[j]; k:=k+1; end;l:=true; end;

for i:=1 to m do begin

for j:=1 to n do

if a[i]=b[j] then l:=false;

if l then begin c[k]:=a[i]; k:=k+1; end;l:=true; end;

if k=1 then write ('объединение без пересечения пусто') else begin

write('объединение без пересечения ');

for i:=1 to k-1 do write (c[i],' '); end;

writeln;

end.

Процедуры

1. По введенным оценкам (не более 6) по литературе, математике, физике и химии у N (не более 40) учащихся вывести средние

program class;

var fam : array [1..40] of string;

lit, mat, fiz, chem : array [1..40,1..6] of integer;

i, j,N:integer;

procedure wwod (var a: matrix;s:string;k:integer);

var i, j:integer;

begin

writeln('сколько оценок по ',s,' у ',fam[k]);

readln(i);

for j:=1 to i do begin

writeln('введите оценки по ',s);readln(a[k, j]);end;

end;

procedure sred(var a:matrix; k:integer);

var i, j,s:integer;

e:real;

begin

S:=0; i:=0;

for J:=1 to 5 do

if a[k, j]<>0 then begin

i:=i+1; s:=s+a[k, j]; end;

if i<>0 then e:=s/i;a[k,6]:=round(e); end;

begin

writeln('введите КОЛИЧЕСТВО учеников'); readln(N);

for i:=1 to n do begin

writeln('введите фамилию ',i,' - го ученика'); readln(fam[i]); end;

for i:=1 to n do

for j:=1 to 6 do begin

lit[i, j]:=0; mat[i, j]:=0; fiz[i, j]:=0; chem[i, j]:=0; end;

for i:=1 to n do begin

wwod(lit,'литературе',i);wwod(mat,'математике',i);

wwod(fiz,'физике',i);

wwod(chem,'химии',i); end;

for i:=1 to n do begin

sred(lit, i);

sred(mat, i);

sred(fiz, i);

sred(chem, i); end;

writeln(' лит мат физ хим');

for i:=1 to n do

writeln(fam[i],' ',lit[i,6],' ',mat[i,6],' ',fiz[i,6],' ',

chem[i,6]);

end.

Альбина Владимировна Розина

ПРОГРАММИРОВАНИЕ НА ПАСКАЛЕ

Методическое пособие

 

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8