Помощь в написании студенческих работ
Антистрессовый сервис

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

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

Тест 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 Вывод сообщения. Результат: Изменённый изначальный массив — mas3, максимальный элемент, который заканчивается на 3 — max. Выводим изменённый массив через цикл с параметром, и максимальный элемент, заканчивающийся на 3. Специальность: «Программное обеспечение вычислительной техники… Читать ещё >

Основы алгоритмизации и программирования (реферат, курсовая, диплом, контрольная)

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

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

ДОМАШНЯЯ КОНТРОЛЬНАЯ РАБОТА по дисциплине «Основы алгоритмизации и программирования»

ТЕХНИЧЕСКИЙ ОТЧЕТ ДК ОАиП 25.00 ТО Преподаватель Студент группы ПОВТ-2−1

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

2010 г 05.03.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

#include

#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

cin>>mas[i];

// массив

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

for (i=0;i

cout<<<'t';

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

for (i=0;i

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

if (mas3[d]≠0)

d=d+1;}

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

for (i=0;i

if (mas3[i]>max)

max=mas3[i];

cout<<'n';

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

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

for (i=0;i

cout<<<'t';

cout<<'n';

cout<<" 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

ЗАДАЧА 2

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

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

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

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

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

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

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

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

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

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

2.3 Блок-схема

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

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

#include

#include

#define n 8

void main ()

{clrscr ();

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

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

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

for (i=0;i

cin>>mas[i];

//массив

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

for (i=0;i

cout<<<'t';

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

for (i=0;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

cout<<<'t';}

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

else {cout<

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

#include

#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

for (j=0;j

cin>>mas[i][j];

//массив

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

for (i=0;i

{for (j=0;j

cout<<<'t';

cout<<'n';}

for (i=0;i

for (j=0;j

{if ((i

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

{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= «<<'n';

cout<<" srednee arifm. chetnikh= «<<'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

#include

#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

for (j=0;j

cin>>mas[i][j];

//массив

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

for (i=0;i

{for (j=0;j

cout<<<'t';

cout<<'n';}

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

for (j=0;j

{sum=0;

for (i=0;i

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

sum++;

if (sum>2)

{for (h=j;h

for (i=0;i

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

p=1;

break;};}

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

for (j=0;j

for (i=0;i

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

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

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

for (i=0;i

{for (j=0;j

cout<<<'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

Показать весь текст
Заполнить форму текущей работой