Главная страница
Навигация по странице:

  • ЛАБОРАТОРНАЯ РАБОТА

  • Пример оформления лабораторной по программированию. Лабораторная работа


    Скачать 98.05 Kb.
    НазваниеЛабораторная работа
    АнкорПример оформления лабораторной по программированию
    Дата18.01.2021
    Размер98.05 Kb.
    Формат файлаdocx
    Имя файлаПример оформления лабораторной по программированию.docx
    ТипЛабораторная работа
    #169090

    федеральное государственное бюджетное образовательное учреждение высшего образования

    «ВУЗ»
    Институт математики, естественных и компьютерных наук

    (наименование института)

    Кафедра «Автоматики и вычислительной техники»

    (наименование кафедры)


    ЛАБОРАТОРНАЯ РАБОТА3



    Дисциплина

    Информатика и основы программирования


    Преподаватель







    (уч. степень, звание, должность. Ф.И.О)

    Выполнил (а) студент







    (Ф.И.О)

    Группа, курс





    Оценка по защите







    (подпись преподавателя)


    Вологда

    2019 г.

    Циклы
    Задание 1

    1. вариант


    Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N, упорядоченный так же, как исходные массивы.

    Работа программы


    Ввод значений и вывод результата.

    Назначение переменных




    Переменная

    Тип

    Назначение

    arrK

    массив float

    Первый массив

    arrN

    массив float

    Второй массив

    arrKN

    массив float

    Новый массив

    K, N

    int

    Вводимые длины массивов

    a

    float

    Значение для пузырьковой сортировки

    uK, uN

    int

    Для определения упорядоченности

    i

    int

    Счётчик цикла



    Текст программы




    #include

    using namespace std;
    int main(){

    int K, N;

    int uK=0;//количество элементов больших или меньших предыдущих, если элемент больше предыдущего то +1 иначе -1

    int uN=0;

    float a;

    setlocale(0,"");

    cout<<"Длина первого массива K = "; cin>>K;

    cout<<"Длина второго массива N = "; cin>>N;

    float arrK[K];

    float arrN[N];

    cout<<'\n'<<"Первый массив:"<
    for (int i=0; i
    cout<
    for (int i=0; i
    cout<упорядочен по возрастанию

    float arrKN[K+N];

    for (int i=0; i
    for (int i=0; i
    for (int j=0;j
    for (int i=0; i
    if (arrKN[i]>arrKN[i+1]){

    a=arrKN[i];

    arrKN[i]=arrKN[i+1];

    arrKN[i+1]=a;

    }

    }

    }

    cout<<'\n'<<"Новый массив (упорядочен по возрастанию):"<
    for (int i=0; i
    cout<<"["<
    }

    else

    if ( (uK==-K+1)&&(uN==-N+1) ) { //если упорядочен по убыванию

    float arrKN[K+N];

    for (int i=0; i
    for (int i=0; i
    for (int j=0;j
    for (int i=0; i
    if (arrKN[i]
    a=arrKN[i];

    arrKN[i]=arrKN[i+1];

    arrKN[i+1]=a;

    }

    }

    }

    cout<<'\n'<<"Новый массив (упорядочен по убыванию):"<
    for (int i=0; i
    cout<<"["<
    } else cout<<'\n'<<"Массивы упорядочены не одинаково!";
    return 0;

    }

    Тестирование



    1)

    Длина первого массива K = 4

    Длина второго массива N = 7
    Первый массив:

    0-й элемент первого массива = 4

    1-й элемент первого массива = 9

    2-й элемент первого массива = 12.7

    3-й элемент первого массива = 24
    Второй массив:

    0-й элемент первого массива = 3

    1-й элемент первого массива = 7

    2-й элемент первого массива = 8

    3-й элемент первого массива = 51.84

    4-й элемент первого массива = 60

    5-й элемент первого массива = 77.57

    6-й элемент первого массива = 120.04
    Новый массив (упорядочен по возрастанию):

    [0] = 3

    [1] = 4

    [2] = 7

    [3] = 8

    [4] = 9

    [5] = 12.7

    [6] = 24

    [7] = 51.84

    [8] = 60

    [9] = 77.57

    [10] = 120.04
    --------------------------------

    Process exited after 51.72 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .

    2)

    Длина первого массива K = 3

    Длина второго массива N = 4
    Первый массив:

    0-й элемент первого массива = 45.4

    1-й элемент первого массива = 24

    2-й элемент первого массива = -8
    Второй массив:

    0-й элемент первого массива = 74

    1-й элемент первого массива = 12.74

    2-й элемент первого массива = 10

    3-й элемент первого массива = 5
    Новый массив (упорядочен по убыванию):

    [0] = 74

    [1] = 45.4

    [2] = 24

    [3] = 12.74

    [4] = 10

    [5] = 5

    [6] = -8
    --------------------------------

    Process exited after 48.32 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .
    3)

    Длина первого массива K = 3

    Длина второго массива N = 4
    Первый массив:

    0-й элемент первого массива = 5

    1-й элемент первого массива = 120.4

    2-й элемент первого массива = -74
    Второй массив:

    0-й элемент первого массива = 15

    1-й элемент первого массива = 42.97

    2-й элемент первого массива = 149

    3-й элемент первого массива = 138.74
    Массивы упорядочены не одинаково!

    --------------------------------

    Process exited after 42.47 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .

    Задание 2

    1. вариант



    Из шестизначного числа выделить цифры и из них сформировать одномерный массив.


    Работа программы


    Ввод значений и вывод результата.

    Назначение переменных




    Переменная

    Тип

    Назначение

    a

    int

    Вводимое число

    n

    int

    Разрядность числа

    arr

    массив

    int

    Сформированный массив

    i

    int

    Счётчик цикла



    Текст программы


    #include
    using namespace std;
    int main(){

    int a=0;

    int n = 6;

    int arr[n];

    setlocale(0,"");

    cout<<"Введите шестизначное число: ";

    cin>>a;

    cout<<"Сформированный массив:"<
    for (int i = n; i>0; i--){

    arr[i] = a % 10;

    a = a / 10;

    cout<<"["<
    }
    return 0;

    }

    Тестирование


    1)

    Введите шестизначное число: 152308

    Сформированный массив:

    [6] = 8

    [5] = 0

    [4] = 3

    [3] = 2

    [2] = 5

    [1] = 1
    --------------------------------

    Process exited after 3.654 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .
    2)

    Введите шестизначное число: 590050

    Сформированный массив:

    [6] = 0

    [5] = 5

    [4] = 0

    [3] = 0

    [2] = 9

    [1] = 5
    --------------------------------

    Process exited after 10.18 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .


    Задание 3

    1. вариант



    Задан двумерный массив В[10, 10], заполненный случайными числами из (-10,10). Найти и вывести на экран те элементы массива, которые больше заданного числа k.


    Работа программы


    Ввод значений и вывод результата.

    Назначение переменных




    Переменная

    Тип

    Назначение

    B

    массив

    int

    Двумерный массив

    border

    string

    Строчный разделитель

    i, j

    int

    Счётчики циклов

    k

    int

    Вводимое число k



    Текст программы



    #include

    #include

    #include

    #include

    using namespace std;
    int main(){
    int B[10][10], k;

    string border(40,'-');

    srand(time(0));

    setlocale(0,"");

    cout<<" Массив B:"<
    for (int i=0; i<=9;i++){

    for (int j = 0; j<=9; j++){

    B[i][j]=-9 + rand() % 20;

    cout<
    }

    cout<
    cout<
    }

    cout<
    cout<<"k = "; cin>>k;

    cout<
    cout<<"Элементы массива большие k: "<
    for (int i=0; i<=9;i++){

    for (int j=0; j<=9; j++){

    if (B[i][j]>k) { cout<<"B["<
    }

    }
    return 0;

    }












    Тестирование



    1)



    2)


    Задание 4

    1. вариант



    Дана квадратная вещественная матрица размерности n. Сравнить сумму элементов матрицы на главной и побочной диагоналях.


    Работа программы


    Ввод значений и вывод результата.

    Назначение переменных




    Переменная

    Тип

    Назначение

    n

    int

    Размер матрицы

    matr

    массив

    float

    Матрица

    t, r

    int

    Индексы побочной диагонали

    i, j

    int

    Счётчики циклов

    summ_glav

    float

    Сумма главной диагонали

    summ_glav

    float

    Счётчик цикла



    Текст программы


    #include

    #include

    #include

    #include

    using namespace std;


    int main(){

    int n=3;

    float matr[n][n], summ_glav=0, summ_pob=0;

    int t=0; //для обратной диагонали

    int r=n-1;

    srand(time(0));

    setlocale(0,"");

    cout<<"Введите размер матрицы n: "; cin>>n;

    for (int i=0; i
    for (int j=0; j
    matr[i][j] = ( -10000 + rand() % 20001)/100.0;

    if ( i==j ) {summ_glav+=matr[i][j];}

    cout<
    }

    summ_pob+=matr[t][r];

    t++;

    r--;
    cout<
    }

    cout<
    if ( summ_pob > summ_glav ) { cout<<"Сумма побочной диагонали ("<
    if ( summ_pob < summ_glav ) { cout<<"Сумма главной диагонали ("<
    if ( summ_pob == summ_glav ){cout<<"Суммы диагоналей равны!";}

    return 0;

    }

    Тестирование


    1)

    Введите размер матрицы n: 3

    -7.58 -71.33 54.97

    -65.81 -18.66 56.94

    17.54 9.22 -31.31
    Сумма побочной диагонали (53.85) БОЛЬШЕ чем сумма главной (-57.55)

    --------------------------------

    Process exited after 1.675 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .

    2)

    Введите размер матрицы n: 3

    -6.4 65.95 -67.53

    77.3 90.11 -40.17

    27.31 -61.56 14.62
    Сумма главной диагонали (98.33) БОЛЬШЕ чем сумма побочной (49.89)

    --------------------------------

    Process exited after 1.051 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .
    3)

    Введите размер матрицы n: 5

    -5.78 -57.94 49.86 61.81 83.8

    -77.12 -36.69 -90.05 2.69 46.96

    64.25 -22.31 71.2 -46.99 9.85

    0.84 -63.87 46.31 26.03 -33.89

    -77.1 23.71 -71.7 8.34 -0.27
    Сумма побочной диагонали (84.75) БОЛЬШЕ чем сумма главной (54.49)

    --------------------------------

    Process exited after 6.791 seconds with return value 0

    Для продолжения нажмите любую клавишу . . .


    написать администратору сайта