Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

22

.DOC
Скачиваний:
0
Добавлен:
22.02.2023
Размер:
223.23 Кб
Скачать

Томский политехнический университет

Кафедра КМС

Отчёт

По лабораторным работам по информатике

Выполнил студент группы 4А12: Султанов А. В.

Проверил преподаватель: Коротков В. C.

Томск 2001

Лабораторная работа №1

Математические выражения ”

Задание:

Даны переменные X,Y. Вычислить следующее выражение.

Программа:

#include<stdio.h>

#include<math.h>

main()

{

float a,x,y;

clrscr();

puts("Программа для вычисления сложного выражения");

printf("Введите X = ");

scanf("%f",&x);

printf("Введите Y = ");

scanf("%f",&y);

a=(sqrt(abs(x-1))-pow(abs(y),1/3))/(1+pow(x,2)/2+pow(y,2)/4);

printf("Результат вычисления равен %.3f",a);

getch();

}

Результат:

Программа для вычисления сложного выражения

Введите X = 8

Введите Y= 3

Результат вычисления равен 0.047

Алгоритм программы:

Лабораторная работа №2

Задание: Исходные данные x, y, z. Вычислить m

Программа:

#include<stdio.h>

main()

{

float x,y,z,m;

clrscr();

printf("Введите x=");

scanf("%f",&x);

printf("Введите y=");

scanf("%f",&y);

printf("Введите z=");

scanf("%f",&z);

if ((x>y)&&(x>z)&&(y<z))

m=(x/y)+5;

if ((x>y)&&(x>z)&&(z<y))

m=(x/z)+5;

if ((y>x)&&(y>z)&&(x<z))

m=(y/x)+5;

if ((y>x)&&(y>z)&&(z<x))

m=(y/z)+5;

if ((z>x)&&(z>y)&&(x<y))

m=(z/x)+5;

if ((y>x)&& (y>z)&&(z<x))

m=(y/z)+5;

if ((x==y)&&(y==z))

m=6;

if ((x==y)&&(x>z))

m=(x/z)+5;

if ((x==y)&&(x<z))

m=(z/x)+5;

if ((x==z)&&(y<x))

m=(x/y)+5;

if ((x==z)&&(x<y))

m=(y/x)+5;

if ((y==z)&&(y<x))

m=(x/y)+5;

if ((y==z)&&(x<y))

m=(y/x)+5;

printf("Результат равен %.2f",m);

getch();

}

Результат:

Введите x = 9

Введите y = 3

Введите z = 7

Результат равен 8

Алгоритм программы:

Лабораторная работа №3

Разветвляющие алгоритмы

Задание: Дан ряд чисел Y1….Yn. Найти сумму отрицательных и нечётных чисел.

Программа:

#include<stdio.h>

#include<math.h>

main()

{

int i,n,a[100],s;

clrscr();

puts("Введите количество элементов в массиве");

scanf("%d",&n);

puts("Введите элементы в массиве");

s=0;

for(i=1;i<=n;i++)

{

scanf("%d",&a[i]);

if ((a[i]%2!=0) if (a[i]<0) s=s+a[i];

}

printf(" Сумма отрицательных и нечётных чисел в массиве = %d ",s);

getch();

}

Результат:

Введите количество элементов в массиве

5

Введите элементы в массиве

-3

4

-7

1

-2

Сумма отрицательных и нечётных чисел в массиве = -10

Алгоритм программы:

i =1

Да

Нет

i=i+1

i<=n

Лабораторная работа № 4.

Типы данных

Задание: Дана матрица nxm. Заменить максимальный элемент минимальным.

Программа:

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

main()

{

int n,m,i,j,max,min,i2[100],j2[100];

int a[10][10],m1,k;

clrscr();

randomize();

puts("Введите число строк :");

scanf("%d",&n);

puts("Введите число столбцов");

scanf("%d",&m);

for(i=1;i<=n;i++)

for (j=1;j<=m;j++)

a[i][j]=random(10)-5;

for (i=1;i<=n;i++)

{

puts(" ");

for (j=1;j<=m;j++)

printf("%d ",a[i][j]);

}

min=a[1][1];

max=a[1][1];

for(i=1;i<=n;i++)

{

puts("");

for(j=1;j<=m;j++)

{

if (a[i][j]>max) max=a[i][j];

if (a[i][j]<min) min=a[i][j];

}

}

printf("\n Максимальный элемент в матрице = %d\n",max);

printf("\n Минимальный элемент в матрице = %d\n",min);

m1=0;

/* Поиск и запоминание индексов максимальных элементов в матрице */

/* Результат заносится в массивы i2,j2: */

for (i=1;i<=n;i++)

for (j=1;j<=m;j++)

if (a[i][j]==max)

{

m1++;

i2[m1]=i;

j2[m1]=j;

}

/* Замена минимальных элементов на максимальные */

for (i=1;i<=n;i++)

for (j=1;j<=m;j++)

if (a[i][j]==min) a[i][j]=max;

/* Находятся элементы с индексами из массивов i2,j2, и заменяются на */ /* минимальные элементы */

for (i=1;i<=n;i++)

for(j=1;j<=m;j++)

for (k=1;k<=m1;k++)

if ((i==i2[k])&&(j==j2[k])) a[i][j]=min;

puts(" Mатрица после преобразования: ")

for (i=1;i<=n;i++)

{

puts("");

for (j=1;j<=m;j++)

printf("%d ",a[i][j]);

}

getch();

}

Результат работы программы:

Введите размерность матрицы: 4

-1

3

3

2

-2

-1

1

-1

-1

-1

4

-4

4

1

-5

-5


Максимальный элемент в матрице = 4

Минимальный элемент в матрице = -5

Матрица после преобразования:

-1

3

3

2

-2

-1

1

-1

-1

-1

-5

-4

-5

1

4

4

Алгоритм программы:

Н а

i = i+1

i<=n

i =1

j =1 i =1

j =1

j = j+1

j <=n

i = i+1

i <=n

i =1

j =1

j = j + 1

j<=n

j = j+1 i = i + 1

j<=n i<=n

i = 1

j = j+1

j<=n

i = i+1

j = 1 i<=n

i =1

j = 1

j =j+1

j<=n k= 1

i = i+1

i<=n

i = 1 k=k+1

k<=m1

j = 1 j=j+1

j<=n

i=i+1

i<=n

i = 1

j =1

j = j+1

j<=n

i = i+1

i<=n

Соседние файлы в предмете Информатика