§ элементы, стоящие на четных местах
§ элементы, значения которых – четные числа
§ элементы, значения которых превосходят 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 |


