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

  • Краткие

  • Пример

  • Контрольные

  • Варианты

  • Лаб.раб. Министерство образования и науки российской федерации пензенский государственный


    Скачать 0.8 Mb.
    НазваниеМинистерство образования и науки российской федерации пензенский государственный
    Дата05.09.2022
    Размер0.8 Mb.
    Формат файлаdocx
    Имя файлаЛаб.раб.docx
    ТипМетодические указания
    #662566
    страница5 из 8
    1   2   3   4   5   6   7   8

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


    Тема: "Программирование циклов с параметром.

    Одномерные массивы"

    Цель работы: освоение средств языка С++ для описания циклов с параметром и закрепление навыков использования их при программировании, изучение способов описания, ввода-вывода и обработки одномерных массивов.

    Краткие теоретические сведения.

    Цикл с параметром используется в том случае если известно число шагов обработки, т.е. если известно число итераций. Итерацией цикла называется один проход цикла.

    Синтаксис оператора цикла имеет вид:

    for (действие до начала цикла; условие продолжения цикла;

    действия в конце каждой итерации цикла) { инструкция цикла;

    инструкция цикла 2; инструкция цикла N;

    }

    Существует частный случай этой записи:

    for (счетчик = значение; счетчик < значение; шаг цикла)

    {

    тело цикла;

    }

    Описание синтаксиса:

    1. сначала присваивается первоначальное значение счетчику;

    2. затем задается конечное значение счетчика цикла. Счетчик цикла — это переменная, в которой хранится количество проходов данного цикла. После того, как значение счетчика достигнет указанного предела, цикл завершится;

    3. задаем шаг цикла. Шаг цикла — это значение, на которое будет увеличиваться или уменьшаться счетчик цикла при каждом проходе.

    Одномерный массив — массив, с одним параметром, характеризующим количество элементов одномерного массива. Фактически одномерный массив — это массив, у которого может быть только одна строка, и n-е количество столбцов. Столбцы в одномерном массиве — это элементы массива. На рисунке 12 показана структура целочисленного одномерного массива a. Размер этого массива — 16 ячеек.


    Рисунок 12 Одномерный массив

    Максимальный индекс одномерного массива a равен 15, но размер массива 16 ячеек, потому что нумерация ячеек массива всегда начинается с 0. Индекс ячейки – это целое неотрицательное число, по которому можно обращаться к каждой ячейке массива и выполнять какие-либо действия над ней (ячейкой). Синтаксис объявления одномерного массива в С++:
    тип данных имя одномерного массива [размерность одномерного массива];

    //пример объявления одномерного массива, изображенного на рисунке 12:

    int a[16];

    где, int — целочисленный тип данных; а — имя одномерного массива; 16 — размер одномерного массива, 16 ячеек.

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

    Рассмотрим на примерах способы ввода-вывода одномерного массива:

    1. размер массива можно не указывать только при его инициализации, при обычном объявлении массива обязательно нужно указывать размер массива


    #include "stdafx.h" #include using namespace std;
    int main(int argc, char* argv[])

    {

    cout << "obrabotka massiva" << endl;

    // объявление и инициализация одномерного массива

    int array1[16] = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 };

    cout << "indeks" << "\t\t" << "element massiva" << endl; // печать заголовков for (int counter = 0; counter < 16; counter++) //начало цикла

    {

    //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки cout << "array1[" << counter << "]" << "\t\t" << array1[counter] << endl;

    }

    system("pause"); return 0;

    }
    Результат работы представлен на рисунке 13.



    Рисунок 13

    1. программа должна последовательно считывать десять введённых чисел с клавиатуры. Все введённые числа просуммировать, результат вывести на экран. #include "stdafx.h"

    #include using namespace std;
    int main(int argc, char* argv[])

    {

    int array1[10]; // объявляем целочисленный массив cout << "Enter elementi massiva: " << endl;

    int sum = 0;

    for ( int counter = 0; counter < 10; counter++ ) // цикл для считывания чисел cin >> array1[counter]; // считываем вводимые с клавиатуры числа

    cout << "array1 = {";

    for ( int counter = 0; counter < 10; counter++ ) // цикл для вывода элементов массива cout << array1[counter] << " "; // выводим элементы массива на стандартное

    устройство вывода

    for ( int counter = 0; counter < 10; counter++ ) // цикл для суммирования чисел массива

    sum += array1[counter]; // суммируем элементы массива cout << "}\nsum = " << sum << endl;

    system("pause"); return 0;

    }
    Результат представлен на рисунке 14.



    Рисунок 14.

    Пример выполнения задания.

    Задание: произвести следующую обработку 15 целых чисел: подсчитать сумму чисел, входящих в диапазон [-5..5] и количество нечетных чисел.


    Схема программы к данному заданию с использованием одного цикла представлена на рисунке 15.


    нет





    Рисунок 15 Текст программы без использования массива:

    #include
    void main()

    {

    int x,sum=0,i,kol=0; printf("Enter numbers\n"); for (i=1;i<=15;i++)

    {

    scanf("%d",&x);

    if ((x>=-5)&&(x<=5)) sum+=x; if (x%2!=0) kol++;

    }

    printf("Summa v diapazone [-5,5]=%d\n", sum); printf("Kolichestvo nechetnih=%d", kol);

    }



    Схема программы с циклами для ввода и обработки массива (рисунок 16).
    Рисунок 16

    Пример программы с использованием одномерного массива
    #include void main()

    {

    int a[15],sum=0,i,kol=0; printf("Enter numbers\n");

    for (i=0;i<15;i++) scanf("%d",&a[i]); for (i=0;i<15;i++)

    {

    if ((a[i]>=-5)&&(a[i]<=5)) sum+=a[i]; if (a[i]%2!=0) kol++;

    }

    printf("Summa v diapazone [-5,5]=%d\n", sum); printf("Kolichestvo nechetnih=%d", kol);

    }
    Контрольные вопросы

    1. Массивы в языке С++: понятие массива в языке С++, описание массива в программе, представление элементов массива в памяти, обращение к элементам массива.

    2. Оператор цикла for в языке С++. Форма записи. Правила выполнения.


    Варианты заданий


    1. Произвести следующую обработку 15 целых чисел: найти количество отрицательных чисел, количество нулевых и подсчитать сумму положительных чисел.

    2. Произвести следующую обработку 15 целых чисел: найти количество четных чисел, а нечетные числа, входящие в диапазон [1..11] возвести в квадрат.

    3. Произвести следующую обработку 15 вещественных чисел: найти количество отрицательных чисел, а числа, входящие в диапазон [0..10] возвести в квадрат.

    4. Произвести следующую обработку 10 вещественных чисел: найти количество чисел, больших или равных 1,5, и подсчитать сумму отрицательных чисел.

    5. Произвести следующую обработку 10 вещественных чисел: найти количество чисел, равных нулю, и найти сумму чисел, входящих в диапазон [- 15..15].

    6. Произвести следующую обработку 15 целых чисел: найти количество отрицательных чисел и подсчитать разность положительных чисел.

    7. Произвести следующую обработку 15 вещественных чисел: найти среднее арифметическое положительных чисел и подсчитать количество чисел, входящих в диапазон [-15..5].

    8. Произвести следующую обработку 10 целых чисел: найти количество отрицательных чисел и подсчитать сумму положительных чисел, делящихся без остатка на 3.

    9. Произвести следующую обработку 10 целых чисел: найти количество отрицательных чисел, а числа, входящие в диапазон [0..10], умножить на 10.

    10. Произвести следующую обработку 10 целых чисел: найти количество отрицательных чисел, а числа, входящие в диапазон [0..10], умножить на 3.

    11. Произвести следующую обработку 15 вещественных чисел: найти среднее арифметическое отрицательных чисел и подсчитать количество чисел, входящих в диапазон [0..5].

    12. Произвести следующую обработку 15 вещественных чисел: найти среднее арифметическое нечетных чисел и подсчитать сумму чисел, входящих в диапазон [- 15..5].

    13. Произвести следующую обработку 10 вещественных чисел: найти количество чисел, равных нулю, и найти синус чисел, входящих в диапазон [-15..15].

    14. Произвести следующую обработку 10 целых чисел: подсчитать сумму положительных чисел и определить номера отрицательных чисел.

    15. Произвести следующую обработку 15 вещественных чисел: найти количество отрицательных чисел и номера нулевых чисел.

    16. Произвести следующую обработку 12 целых чисел: подсчитать количество чисел, делящихся без остатка на 5, и сумму чисел, входящих в диапазон [-5..5].

    17. Произвести следующую обработку 10 вещественных чисел: подсчитать количество чисел, отличающихся от числа 3 не более чем на 0.5, и сумму отрицательных чисел.

    18. Произвести следующую обработку 15 целых чисел: подсчитать количество нулевых чисел и вычислить квадраты чисел, входящих в диапазон [-5..5].

    19. Произвести следующую обработку 12 целых чисел: подсчитать количество нечетных чисел и сумму отрицательных чисел.

    20. Произвести следующую обработку 15 вещественных чисел: подсчитать количество чисел, отличающихся от заданного не более чем на 0.5, и сумму положительных чисел.

    21. . Произвести следующую обработку 10 вещественных чисел: найти количество отрицательных чисел, находящихся в диапазоне от -5 до 5 и подсчитать сумму положительных чисел.

    22. Произвести следующую обработку 15 целых чисел: найти количество чисел, входящих в диапазон [1..11] и каждое число возвести в квадрат.

    23. Произвести следующую обработку 15 вещественных чисел: найти количество чисел, равных 0, а числа, входящие в диапазон [-1..1] возвести в куб.

    24. Произвести следующую обработку 10 вещественных чисел: найти количество чисел, больших или равных 1,5, и подсчитать сумму отрицательных чисел, входящих в диапазон [-1..0].

    25. Произвести следующую обработку 10 вещественных чисел: найти количество чисел, меньших 15, и найти произведение чисел, входящих в диапазон [10..15].
    1   2   3   4   5   6   7   8


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