Суббота, 27.04.2024, 18:59
Приветствую Вас Гость | RSS | PDA

Всё для студента информата

Полезная информация

Материалы для студента

Всё для студента IT » Материалы для студента » Программирование на языке Pascal

Рассчётно-графическое задание. Модуль 2. Вариант 1.

РГЗ по предмету "Программирование на языке Pascal". Модуль 2. Вариант 1.

Исходные коды всех программ

Сборник задач по языку Паскаль - А.И.Семенов


Модуль 2. Задание 1.

Условие задачи: Из заданного массива удалить повторяющиеся элементы, массив сжать.

Блок-схема задачи:

Блок-схема задачи 1

Текст программы:

program z1;
uses crt;
const n=10;
var a:array[1..n] of integer;
i,j,k:integer;
begin
clrscr;
randomize;
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end; writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
if (a[i]=a[j]) and (i<>j) then
begin
a[i]:=-1;
end;
end;
end;
for k:=1 to n do
begin
if (a[k]<>-1) then write(a[k], ' ');
end;
readkey;
end.


Модуль 2. Задание 2.

Условие задачи: Даны два массива A[N] и B[N] из целых чисел. Напечатать в порядке возрастания все суммы вида A[i]+B[j].

Блок-схема задачи

Блок-схема задачи 1

Текст программы:

program z2;
uses crt;
const n=10;
var a,b:array[1..n] of integer;
q:array[1..n*n] of integer;
i,j,k:integer;
begin
clrscr;
randomize;
writeln('Massiv A');
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end;
writeln;
writeln('Massiv A');
for i:=1 to n do
begin
b[i]:=random(9)+1;
write(b[i],' ');
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
k:=k+1;
q[k]:=a[i]+b[j];
end;
end;
writeln;
writeln('Massiv A[i]+B[j]');
for i:=1 to n*n do
for j:=1 to i do
begin
if q[i]<q[j] then
begin
k:=q[i];
q[i]:=q[j];
q[j]:=k;
end;
end;
for i:=1 to n*n do
begin
write(q[i]:2,' ');
if (i mod 10=0) then writeln;
end;
readkey;
end.


Модуль 2. Задание 3.

Условие задачи: В целочисленном двумерном массиве A размером N×N все элементы различны. В каждой строчке выбирается элемент с меньшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.

Блок-схема задачи:

Блок-схема задачи 3

Текст программы:

program z3;
uses crt;
label q;const n=10;
var a:array[1..n,1..n] of integer;
i,j,max,min,k:integer;
begin clrscr; randomize;
write(' Massiv');
writeln;
for i:=1 to n do
begin
write(i:3,'Ю ');
for j:=1 to n do
begin
a[i,j]:=random(99)+1;
write(a[i,j]:2,' ');
if j=n then writeln;
end;
end;
for i:=1 to n do
begin
min:=a[i,1];
for j:=1 to n do
begin
if a[i,j]<min then min:=a[i,j];
if j=n then goto q;
end;
q:
if min>max then
begin
max:=min;
k:=i;
end
else
begin
min:=max;
end; end;
writeln(' Result: ',max);
writeln(' stroka: ',k);
readkey;
end.


Модуль 2. Задание 4.

Условие задачи: Задана матрица N×N, в которую записаны по порядку целые числа от 1 до N×N. Вывести последовательность элементов, читая по спипали.

Блок-схема задачи:

Блок-схема задачи 4

Текст программы:

uses crt;
var a:array[1..100,1..100]of integer; n,i,k,j:integer;
begin clrscr;
write('Vvedi n= ');
read(n);i:=0;k:=0;
repeat k:=k+1;
for j:=k to n-k+1 do
begin
i:=i+1; a[k,j]:=i
end;
for j:=k+1 to n-k+1 do
begin
i:=i+1; a[j,n-k+1]:=i;
end;
for j:=n-k downto k do
begin
i:=i+1; a[n-k+1,j]:=i;
end;
for j:=n-k downto k+1 do
begin
i:=i+1; a[j,k]:=i;
end;
until i=n*n;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:3);writeln;
end;
readkey;
end.


Модуль 2. Задание 5.

Условие задачи: Дана целочисленная матрица размером m×n, в которой имеется два одинаковых элемента. Найти индексы этих элементов.

Блок-схема задачи:

Блок-схема задачи 5

Текст программы:

program z5;
uses crt;
const n=4; m=4;
var a:array[1..m,1..n] of integer; i,j,k,k1,q,w1,w:integer;
begin
clrscr;
randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin write('A[',i,',',j,']= ');read(a[i,j]);
end;
end;
for i:=1 to m do
begin
for j:=1 to n do
begin
for q:=1 to n+m do
if a[i,j]=a[i,j-q] then
begin
k:=i;k1:=j;
end;
end;
end;
for i:=1 to m do
begin
for j:=1 to n do
begin
if (a[k,k1]=a[i,j])and((k<>i)or(k1<>j))then
begin
w:=i;w1:=j;
end;
end;
end;
writeln(w,' ',w1);
writeln(k,' ',k1);
readkey;
end.


Модуль 2. Задание 6.

Условие задачи: Напишите программу сортировки элементов массива A[N] по убыванию методом обменной сортировки.

Блок-схема задачи:

Блок-схема задачи 6

Текст программы:

uses crt;
const n=20;
var a:array[1..n] of integer; i,j,k:integer;
begin clrscr;randomize;
for i:=1 to n do
begin
a[i]:=random(99)+1;
write(a[i],' '); end;
for i:=1 to n do
begin
for j:=1 to n do
begin
if a[i]>a[j] then
begin k:=a[i];
a[i]:=a[j];
a[j]:=k;
end;end;end;
writeln;
for i:=1 to n do write(a[i],' ');
readkey;
end.

Похожие статьи:

Не нашли то, что Вам нужно?.. Найдите ответ на форуме!
Категория: Программирование на языке Pascal | Добавил: admin (02.06.2010)
Просмотров: 1892 | Теги: ргз
Сообщество
Помощь
Форма входа
Поиск

Студенческий помощник по информатике © 2024
При цитировании материалов данного сайта, обязательна ссылка на источник: ITstudents.ru



>