- •Кафедра "Математическое обеспечение и применение эвм" Отчет по учебной практике
- •Пенза 2012 Содержание
- •Введение. Информационная структура предприятия …………………………………………..3
- •I раздел.
- •1.1 Введение. Информационная структура предприятия
- •1.2 Раздел анализа
- •1.3 Раздел проектирования
- •1.4 Раздел реализации
- •1.5 Раздел тестирования
- •1.6 Заключение
- •1.7 Список использованных источников и приложения
- •II Раздел.
- •2.1Задания. Одномерные массивы.
- •Двумерные массивы.
- •Процедуры и функции
- •Листинг.
- •2.2.1 Одномерные массивы
- •2.2.2 Двумерные массивы
- •Двумерные массивы
Двумерные массивы.
Задана целочисленная квадратная матрица A размерностью N:(a)Поменять местами элементы матрицы, расположенные на одной строке и принадлежащие главной и побочной диагоналям
Среди элементов, расположенных ниже главной диагонали матрицы A, найти те элементы, которые удовлетворяют условию K1 <= A[i,j] <= K2 (K1, K2 – произвольные числа), и сформировать из них одномерный массив B
Сформировать одномерный массив B, элементы которого Bi равны true, если элементы i-й строки матрицы A упорядочены по возрастанию, и false – в противном случае
Задана целочисленная матрица A размерностью NxM и массив X(N). Обнулить строки матрицы с номером K, для которого X[K] >= 0
Даны два массива X(N) и Y(M). Сформировать массив Z(N+M) из положительных элементов массивов X и Y.
Процедуры и функции
Листинг.
2.2.1 Одномерные массивы
1.F
program Project2;
const N=9;
var
A,B:array[1..N]of integer;
i,j:integer;
d,c:real;
f:boolean;
begin
writeln('Введите D');
readln(d);
for i := 1 to N do
begin
Writeln('Введите элемент A[',i,']');
readln(A[i]);
end;
C:=A[1]+d*(N-1);
if A[1]<C then f:=true else f:=false;
writeln(f,C,A[1]);
end.
1.I
program Project2;
const N=7;
var
A,B,C:array[1..N]of integer;
i:integer;
h,g:integer;
begin
h:=0;
g:=0;
for i := 1 to N do
readln(A[i]);
for i := 1 to N do
begin
if A[i]>=0 then
h:=h+1;
B[i]:=A[i];
if A[i]<0 then
g:=g+1;
C[i]:=A[i];
writeln(B[i],' ',C[i],' ',h,' ',g);
end;
end.
2
program Project2;
const N=3;
var
A,Z,X:array[1..N]of real;
i:integer;
begin
for i := 1 to N do
begin
Writeln('Введите элемент A[',i,']');
readln(A[i],X[i]);
z[i]:=sqrt((x[i]+a[i])/2)
end;
writeln(z[i],' ',z[1],' ',z[2],' ',z[3]);
end.
3.
program Project2;
const N=3;
var
A,B,X:array[1..N]of real;
i:integer;
begin
for i := 1 to N do
begin
Writeln('Введите элемент A[',i,']');
readln(A[i],B[i]);
x[i]:=b[i]/a[i];
end;
writeln(x[i],' ',x[1],' ',x[2],' ',x[3]);
end.
5.
program Project5;
const N=2;
var
A,B:array[1..N]of integer;
i:integer;
f:boolean;
begin
for i:=1 to N do
begin
writeln('Введите A[',i,']');
readln (A[i]);
writeln('Введите B[',i,']');
readln (B[i]);
end;
for i:=1 to N do
begin
if A[i]=B[i] then
f:=true
else
f:=false;
end;
writeln('Ответ:',f);
end.
2.2.2 Двумерные массивы
1.
Program smenaMest
Uses crt;
Const
N=4;
Type
mas=array [1..N,1..N] of integer;
Procedure vvod(var a:mas);
var
i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
readln(a[i,j]);
end;
Procedure smena(var a:mas);
var
i,k:integer;
begin
for i:=1 to n do
begin
k:=a[i,i];
a[i,i]:=a[i,N+1-i];
a[i,N+1-i]:=k;
end;
end;
Procedure vyvod(a:mas);
var
i,j:integer;
begin
for i:=1 to N do begin
for j:=1 to N do begin
write(a[i,j]);
end;
writeln;
end;
end;
Var
a:mas;
Begin
Clrscr;
vvod(a);
smena(a);
vyvod(a);
Readkey;
end.
2
Uses crt;
Const
N=4;
Type
mas=array [1..N,1..N] of integer;
masb=array [1..N*N] of integer;
Procedure vvod(var a:mas);
var
i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
readln(a[i,j]);
end;
Procedure B_ot_K_do_K(k1, k2:integer; var k:integer; var a:mas; var b:masb);
var
i,j:integer;
begin
for i:=2 to n do
for j:=1 to i-1 do
if (k1<=a[i,j]) and (a[i,j]<=k2) then
begin
b[k]:=a[i,j];
k:=k+1;
end;
end;
Procedure vyvod(k:integer; b:masb);
var
i:integer;
begin
for i:=1 to k do
write(b[i],' ');
end;
Var
a:mas;
b:masb;
k:integer;
Begin
clrscr;
vvod(a);
B_ot_K_do_K(4,8,k,a,b);
vyvod(k,b);
readkey;
end.
3.
Program smenaMest;
Uses crt;
Const
N=4;
Type
mas=array [1..N,1..N] of integer;
masb=array [1..N*N] of boolean;
Procedure vvod(var a:mas);
var
i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
readln(a[i,j]);
end;
Procedure true_false(a:mas; var b:masb);
var
z,i,j:integer;
k:boolean;
begin
for i:=1 to n do
begin
z:=0;
j:=2;
k:=false;
while j<=N do begin
if a[i,j-1] < a[i,j] then
begin
k:=true;
z:=z+1;
end;
j:=j+1;
end;
if z=N-1 then b[i]:=k;
end;
end;
Procedure vyvod(b:masb);
var
i:integer;
begin
for i:=1 to N do
write(b[i],' ');
end;
Var
a:mas;
b:masb;
Begin
clrscr;
vvod(a);
true_false(a,b);
vyvod(b);
Readkey;
End.
4.
Program obnulenie;
Uses crt;
Const
N=5;
M=4;
Type
masA=array [1..N,1..M] of integer;
masX=array [1..N] of integer;
Procedure vvod_A(var a:masA);
var
i,j:integer;
begin
writeln('vvedite A: ');
for i:=1 to N do
for j:=1 to M do
readln(a[i,j]);
end;
Procedure vvod_X(var x:masX);
var
i:integer;
begin
writeln('vvedite X: ');
for i:=1 to N do
readln(x[i]);
end;
Procedure ob_e(k:integer; var a:masA);
var
j:integer;
begin
for j:=1 to M do
a[k,j]:=0;
end;
Procedure prosmotr(x:masX; var a:masA);
var
i:integer;
begin
for i:=1 to N do
if x[i]>=0 then ob_e(i,a);
end;
Procedure vyvod(a:masA);
var
i,j:integer;
begin
for i:=1 to N do begin
for j:=1 to M do begin
write(a[i,j]);
end;
writeln;
end;
end;
Var
a:masA;
x:masX;
Begin
clrscr;
vvod_A(a);
vvod_X(x);
prosmotr(x,a);
vyvod(a);
Readkey;
End.
5.
Program ex;
uses crt;
Const
N=5;
M=3;
Type
massX=array[1..N] of integer;
massY=array[1..M] of integer;
massZ=array[1..N+M] of integer;
Var
k:integer;
Procedure masX(l:integer; var mass:massX);
var
i:integer;
begin
writeln('vvedite masX: ');
for i:=1 to l do
readln(mass[i]);
end;
Procedure masY(l:integer; var mass:massY);
var
i:integer;
begin
writeln('vvedite masY: ');
for i:=1 to l do
readln (mass[i]);
end;
Procedure ifi1(l:integer; v:massX; var k:integer; var c:massZ);
var
i:integer;
begin
for i:= 1 to l do
begin
if v[i]>0 then
begin
k:=k+1;
c[k]:=v[i];
end;
end;
end;
Procedure ifi2(l:integer; v:massY; var k:integer; var c:massZ);
var
i:integer;
begin
for i:= 1 to l do
begin
if v[i]>0 then
begin
k:=k+1;
c[k]:=v[i];
end;
end;
end;
Procedure masZ(k:integer; c:massZ);
var
i:integer;
begin
writeln('massiv iz pol el: ');
for i:=1 to k do
write(c[i],' ');
end;
Var
x:massX;
y:massY;
z:massZ;
Begin
Clrscr;
masX(N, x);
ifi1(N, x, k, z);
masY(M, y);
ifi2(M, y, k, z);
masZ(k, z);
readkey;
end.
2.2.3 Блок-схемы
Одномерные массивы
1.f
1.i
2.
3.
5.
Результаты
Одномерные массивы
1.F
Тест№ |
Ввод |
Вывод |
1 |
|
|
2 |
|
|
1.I
Тест№ |
Ввод |
Вывод |
1 |
|
|
2 |
|
|
2.
Тест№ |
Ввод |
Вывод |
1 |
|
|
2 |
|
|
3.
Тест№ |
Ввод |
Вывод |
1 |
|
|
2 |
|
|
5.
Тест№ |
Ввод |
Вывод |
1 |
|
|
2 |
|
|