- •Отчет по учебной практике
- •Содержание
- •Введение
- •1 Программирование алгоритмов линейной структуры
- •1.1 Практическое задание №1
- •2 Программирование алгоритмов разветвленной структуры
- •2.1 Практическое задание №2
- •2.2 Практическое задание №3
- •3.1 Практическое задание №4
- •4 Обработка массивов
- •4.1 Практическое задание №5
- •3 Программирование алгоритмов циклической структуры
- •4.2 Практическое задание №6
- •4.3 Практическое задание №7
- •4.4 Практическое задание №8
- •5 Скриншоты
- •6 Заключение
- •7 Список литературы
4.4 Практическое задание №8
Программирование алгоритмов работы со строками и столбцами матрицы.
Условие: Дана матрица А(5,6). Найти сумму положительных элементов каждого четного столбца и произведение отрицательных элементов каждого нечетного столбца.
1
A[i,j]:=random(10)-5
2
4
5
3
P:=1
sum=0
6
7
8
P:=1
sum=0
9
10
11
Блок-схема:
122
sum=sum+A[i,j]
142
P=P+A[i,j]
132
152
162
182
172
192
20
Программная запись:
Pascal:
Program Zadanie4D;
Uses crt;
Type T=array [1..5, 1..6] of integer;
Var A:T; i,j:integer; sum,P:real;
Begin
Clrscr;
Randomize;
Writeln('Sgenerirovannyi massiv A[5,6]');
for i:=1 to 5 do
begin
for j:=1 to 6 do
begin
A[i,j]:=random(10)-5;
Write(A[i,j],' ');
end;
Writeln; end;
Writeln;
P:=1; sum:=0;
for j:=1 to 6 do
begin
sum:=0; P:=1;
for i:=1 to 5 do
begin
if ((j mod 2)=0) and (A[i,j]>0) then
sum:=sum+A[i,j];
if ((j mod 2)=1) and (A[i,j]<0) then
P:=P*A[i,j];
end;
if (j mod 2)=0 then
Writeln('summa polozhitelnyh elementov stolbca ', j,' ravna ',sum:4:0);
if (j mod 2)=1 then
Writeln('proizvedenie otricatelnyh elementov stolbca ', j, ' ravna ',P:4:0);
end;
Readln;
End.
C++:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
#define R 6
int main()
{ clrscr();
int A[N][R],i,j,P,sum;
srand(time(NULL));
printf("Sgenerirovannyi massiv A[5][6]\n");
for (i=0;i<N;i++)
{ for (j=0;j<R;j++)
{ A[i][j]=rand()%10-5;
printf ("%3d ", A[i][j]); }
printf("\n"); }
sum=0; P=1;
for (j=0;j<R;j++)
{ sum=0; P=1;
for (i=0;i<N;i++)
{ if (j%2==0 && A[i][j]>0) sum=sum+A[i][j];
if (j%2==1 && A[i][j]<0) P=P*A[i][j]; }
if (j%2==0) printf("\nsumma elemntov v stolbce %d = %d", j,sum);
if (j%2==1) printf("\nproizvedenie elementov v stolbce %d = %d", j,P); }
getch(); }
5 Скриншоты
Практическое задание №1:
Практическое задание №2:
Практическое задание №3:
Практическое задание №4:
Практическое задание №5:
Практическое задание №6:
Практическое задание №7:
Практическое задание №8:
6 Заключение
За время проведения учебной практики я закрепил и поплнил уже имеющиеся знания в области программирования. Учебная практика способствует выработке у студентов навыков разработки алгоритмов линейных, разветвляющихся, циклических структур, массивов и их реализации на языке программирования Си и Pascal.
