рефератырефератырефератырефератырефератырефератырефератырефераты

рефераты, скачать реферат, современные рефераты, реферат на тему, рефераты бесплатно, банк рефератов, реферат культура, виды рефератов, бесплатные рефераты, экономический реферат

"САМЫЙ БОЛЬШОЙ БАНК РЕФЕРАТОВ"

Портал Рефератов

рефераты
рефераты
рефераты

Основы алгоритмизации и программирования

ГОУ СПО СО "Асбестовский политехникум"

Специальность: "Программное обеспечение вычислительной техники и автоматизированных систем"

ДОМАШНЯЯ КОНТРОЛЬНАЯ РАБОТА

по дисциплине "Основы алгоритмизации и программирования"

ТЕХНИЧЕСКИЙ ОТЧЕТ

ДК ОАиП 25.00 ТО

Преподаватель Студент группы ПОВТ-2-1

О.Н. Савина Д.А. Савин

2010 г 05.03.2010 г.

2010

Содержание

  • Задача 1
    • 1.1 Постановка задачи
    • 1.2 Метод решения
    • 1.3 Блок-схема
    • 1.4 Листинг программы
    • 1.5 Тестинг программы
  • Задача 2
    • 2.1 Постановка задачи
    • 2.2 Метод решения
    • 2.3 Блок-схема
    • 2.4 Листинг программы
    • 2.5 Тестинг программы
  • Задача 3
    • 2.1 Постановка задачи
    • 2.2 Метод решения
    • 3.3 Блок-схема
    • 3.4 Листинг программы
    • 3.5 Тестинг программы
  • Задача 4
    • 4.1 Постановка задачи
    • 4.2 Метод решения
    • 4.3 Блок-схема
    • 4.4 Листинг программы
    • 4.5 Тестинг программы
ЗАДАЧА 1

В одномерном массиве найти элементы, заканчивающиеся на 3. Использовать функцию. Найти максимальный из них.

1.1 Постановка задачи

Исходные данные: mas[n] - одномерный массив, где n - количество элементов.

Результат: Изменённый изначальный массив - mas3[n], максимальный элемент, который заканчивается на 3 - max.

1.2 Метод решения

- Составляем функцию, которая будет находить элементы, заканчивающиеся на 3.

- Заполняем массив данными, которые вводим с клавиатуры

- Находим элементы, заканчивающиеся на 3, с помощью цикла с параметром.

- Находим максимальный элемент, заканчивающийся на 3.

- Выводим изменённый массив через цикл с параметром, и максимальный элемент, заканчивающийся на 3.

  • 1.3 Блок-схема
1.4 Листинг программы

/* В одномерном массиве найти элементы, заканчивающиеся на 3. Использовать функцию. Найти максимальный из них. */

#include<iostream.h>

#include<conio.h>

#define n 5

// функция

long int fy(long int a)

{ if(a%10==3)

return a;

else return 0;}

void main()

{clrscr();

long int mas[n],mas3[n],max=0;

int d=0,i;

// вводим массив

cout<<"vvedite massive"<<'\n';

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

cin>>mas[i];

// массив

cout<<"massive:"<<'\n';

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

cout<<mas[i]<<'\t';

// находим элементы, заканчивающиеся на 3

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

{mas3[d]=fy(mas[i]);

if (mas3[d]!=0)

d=d+1;}

// находим максимальный элемент, заканчивающий на 3

for (i=0;i<d; i++)

if (mas3[i]>max)

max=mas3[i];

cout<<'\n';

// вывод результатов на экран

cout<<"elements with end for 3:"<<'\n';

for (i=0;i<d; i++)

cout<<mas3[i]<<'\t';

cout<<'\n';

cout<<"max="<<max<<'\n';

}

1.5 Тестинг программы

Тест 1) Введите массив 5 3 43 6 103 Изменённый массив 3 43 103

Максимальный элемент, заканчивающийся на 3

103 Тест 2) Введите массив 133 131 312 213 333 Изменённый массив 133 213 333

Максимальный элемент, заканчивающийся на 3

333

ЗАДАЧА 2

В одномерном массиве найти элемент, который кратен 7, и после него вставить число, определяющее место этого элемента в массиве. Если таких нет, то вывести соответствующее сообщение.

2.1 Постановка задачи

Исходные данные: mas[n] - одномерный массив, где n - количество элементов.

Результат: Изменённый изначальный массив - mas, где удалены чётные элементы.

2.2 Метод решения

- Заполняем массив данными, которые вводим с клавиатуры

- Находим элемент кратный 7 через цикл с параметром.

- Вставляем число, определяющее место этого элемента в массиве.

- Выводим результаты на экран.

- Если таких элементов в массиве нет, то выводим соответствующее сообщение.

2.3 Блок-схема

2.4 Листинг программы

/* В одномерном массиве найти элемент, который кратен 7, и после него вставить число, определяющее место этого элемента в массиве. Если таких нет, то вывести соответствующее сообщение. */

#include<iostream.h>

#include<conio.h>

#define n 8

void main()

{clrscr();

int mas[n], i, p=-1;

//вводим массив

cout<<"vvedite massive"<<'\n';

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

cin>>mas[i];

//массив

cout<<"massive:"<<'\n';

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

cout<<mas[i]<<'\t';

//находим элемент кратный 7

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

if (mas[i]%7==0)

{p=i;

break;}

//вставляем после первого такого элемента его позицию в массиве и выводим новый массив

if (p!=-1) {for(i=n; i>p+1;i--)

mas[i]=mas[i-1];

mas[p+1]=p;

cout<<"end massive"<<'\n';

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

cout<<mas[i]<<'\t';}

//вывод сообщения если таковых нет

else {cout<<endl;

cout<<"v massive net elementa kratnogo chislu 7";}

}

2.5 Тестинг программы

Тест 1) Начальный массив 1 4 3 5 7 6 4 3 Конечный массив 1 4 3 5 7 4 6 4 3 Тест 2) Начальный массив 1 2 3 4 5 6 8 9 Вывод сообщения

"В массиве нет элемента кратного числу 7"

ЗАДАЧА 3

В двумерном массиве найти среднее арифметическое значение нечётных элементов расположенных над главной диагональю, и среднее арифметическое чётных элементов, расположенных под главной диагональю.

3.1 Постановка задачи

Исходные данные: mas[n][n] - где n число строк и число столбцов (квадратная матрица), kch - количество чётных, knch - количество нечётных, sumch - сумма чётных, sumnch - сумма нечётных.

Результат: среднее арифметическое значение нечётных элементов, расположенных над главной диагональю, и среднее арифметическое значение чётных элементов, расположенных под главной диагональю.

3.2 Метод решения

- Заполняем двумерный массив mas [n][n].

- Находим количество и сумму нечётных элементов над главной диагональю.

- Находим количество и сумму чётных элементов под главной диагональю.

- Находим среднее арифметическое значение чётных и нечётных.

- Записываем 2 ответа.

3.3 Блок-схема

3.4 Листинг программы

/* В двумерном массиве найти среднее арифметическое значение нечётных элементов расположенных над главной диагональю, и среднее арифметическое чётных элементов, расположенных под главной диагональю.*/

#include<iostream.h>

#include<conio.h>

#define n 3

void main()

{clrscr();

int i, j, kch=0,knch=0,mas[n][n];

float srch, srnch, sumch=0,sumnch=0;

//вводим массив

cout<<"vvedite massive"<<'\n';

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

for(j=0;j<n; j++)

cin>>mas[i][j];

//массив

cout<<"massive:"<<'\n';

for(i=0;i<n; I++)

{for(j=0;j<n; j++)

cout<<mas[i][j]<<'\t';

cout<<'\n';}

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

for(j=0;j<n; j++)

{if ((i<j)&&(mas[i][j]%2==0))

//кол-во и сумма нечётных элементов расположенных над главной диагональю

{knch++;

sumnch=sumnch+mas[i][j];}

if ((i>j)&&(mas[i][j]%2==0))

//кол-во и сумма чётных элементов расположенных под главной диагональю

{kch++;

sumch=sumch+mas[i][j];};}

//среднее арифметическое

srnch=sumnch/knch;

srch=sumch/kch;

//вывод результатов на экран

cout<<"srednee arifm. nechetnikh= "<<srnch<<'\n';

cout<<"srednee arifm. chetnikh= "<<srch<<'\n';}

3.5 Тестинг программы

Тест 1) n=3 Массив 1 2 3

4 5 6

7 8 9

Сумма нечётных = 3;

Количество нечётных = 1;

Среднее арифметическое = 3

Сумма чётных = 12;

Количество чётных = 2;

Среднее арифметическое = 6

Тест 2) n=4

Массив

1 2 3 4

5 6 7 8

1 2 3 4

9 8 7 6

Сумма нечётных = 10;

Количество нечётных = 2;

Среднее арифметическое = 5

Сумма чётных = 10;

Количество чётных = 2;

Среднее арифметическое = 5.

ЗАДАЧА 4

В двумерном массиве удалить столбец, в котором находятся 3 отрицательных элемента. Если такого нет, то удалить первый.

4.1 Постановка задачи

Исходные данные: mas [n][m] - двумерный массив, где n - количество строк, а m - количество столбцов.

Результат: Массив с удалённым столбцом.

4.2 Метод решения

- Вводим с клавиатуры mas [n][m].

- Находим столбец, в котором 3 отрицательных элемента.

- Удаляем столбец, в котором 3 отрицательных элемента.

- Удаляем 1 столбец, если нет столбцов с 3 отрицательными элементами.

- Выводим mas[i][j].

4.3 Блок-схема

4.4 Листинг программы

/* В двумерном массиве удалить столбец, в котором находятся 3 отрицательных элемента. Если такого нет, то удалить первый.*/

#include<iostream.h>

#include<conio.h>

#define n 3

#define m 3

void main()

{clrscr();

int h,i,j,mas[n][m],p=0,sum;

//вводим массив

cout<<"vvedite massive"<<'\n';

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

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

cin>>mas[i][j];

//массив

cout<<"massive:"<<'\n';

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

{for(j=0;j<m;j++)

cout<<mas[i][j]<<'\t';

cout<<'\n';}

//находим строку в которой 3 отрицательных элемента

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

{sum=0;

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

if (mas[i][j]<0)

sum++;

if (sum>2)

{for(h=j;h<m-1;h++) //удаляем строку в которой 3 отрицательных элемента

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

mas[i][h]=mas[i][h+1];

p=1;

break;};}

if (p==0) //удаляем 1 строку т.к. нет строк с 3 отрицательными элементами

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

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

mas[i][j]=mas[i][j+1];

//вывод результатов на экран

cout<<"end massive"<<'\n';

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

{for(j=0;j<m-1;j++)

cout<<mas[i][j]<<'\t';

cout<<'\n';}

}

4.5 Тестинг программы

Тест 1) Введите массив

2 -3 3

1 -1 2

3 -4 6

Конечный массив

2 3

1 2

3 6

Тест 2) Введите массив

2 3 3

1 1 2

3 4 6

Конечный массив

3 3

1 2

4 6

рефераты
РЕФЕРАТЫ © 2010