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

1 семестр / Лабароторная работа №4 прога

.docx
Скачиваний:
6
Добавлен:
16.05.2023
Размер:
132.17 Кб
Скачать

ФГБОУ ВО

«Уфимский государственный авиационный технический университет»

Кафедра ТК

ОТЧЕТ

по лабораторной работе № 4

по дисциплине «Программирование»

Вариант № 14

Выполнил: студент гр. ИВТ-127Б

Проверил: доцент каф. ТК

Федорова Н. И.

Уфа 2021

Тема работы: Простейшие программы на языке C++

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

Задачи работы:

  1. Составить блок-схему алгоритма работы программы;

  2. Написание программы на языке С++ с использованием различных типов циклов;

  3. Тестирование работоспособности программы для различных исходных данных

Вариант № 14

Задание:

Найти количество элементов массива (a1,a2,…,aN), удовлетворяющих условиям: b <= a[i] <= c

Выполнение задания:

Решение задачи:

  1. Введем переменные:

b, c- значения введенные пользователем,

a[N]- одномерный массив с N элементами.

  1. Заполняем массив численными значениями.

  2. Выполняем проверку неравенства c> b.

  3. Если п3 выполнился, проходим по каждому элементу массива и проверяем на выполнение неравенства b<=a[i] <=c, считаем количество элементов массива, выполняющих это неравенство.

  4. Выводим ответ.

Схема алгоритма работы программы:

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

#include <iostream>

using namespace std;

int main(){

setlocale(0, "");

const int N = 5;

int kolvo = 0;

double a[N], b, c;

cout << "Найти количество элементов массива (a1,a2,…,aN), удовлетворяющих условиям: b <= ai <= c _" << endl;

cout << endl << "Введите значения массива" << endl;

for (int i = 0; i < N; i++) {

cout << "a" << i+1 << "= " ;

cin >> a[i];

}

cout << "Введите значение b" << endl;

cout << "b=" ;

cin >> b;

cout << endl << "Введите значение c" << endl;

cout << "c=";

cin >> c;

if (c > b) {

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

if (a[j] >= b && a[j] <= c) kolvo++;

}

cout<< endl << "Количество элементов массива удовлетворящие условиям = " << kolvo;

}

else {

cout << endl << "Ошибка ввода, введите значения заново. Не забывайте, что c> b!" << endl;

}

return 0;

}

Тестовый пример:

  1. Возьмем значения, введенные пользователем, b=-10, c =4, массив

a= {-3, -4, 2, 6, 12}.

  1. Проверим верно ли пользователь ввел значения b и с:

4> -10 ( верно)

  1. Проходим по каждому элементу массива и проверяем на выполнение неравенства b<=a[i]<=c:

Kolvo=0

-10<=-3<=4 ( верно) kolvo++

-10<=-4<=4 ( верно) kolvo++

-10<=2<=4 ( верно) kolvo++

-10<=6<=4 (ложь)

-10<=12<=4 ( ложь)

  1. Выводим ответ: kolvo=3.

Ответ: kolvo=3

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

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

  1. В программировании цикл – это повторяющееся выполнение одних и тех же простых или составных операторов.

  2. Цикл с предусловием — цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. В C++ предусмотрены операторы, реализующих циклический процесс с предусловием : while

  3. Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. В C++ предусмотрены операторы, реализующих циклический процесс с постусловием :  do..while .

  4. Тело цикла – это один оператор (простой или составной). Составной оператор в С++ – это группа операторов, заключенная в фигурные скобки { } и рассматриваемая компьютером как единый оператор.

  5. На основе простых типов данных можно строить составные (сложные) типы. Массив – один из наиболее известных составных типов данных. Под массивом понимают конечный набор данных одного и того же типа, собранных под одним именем. Каждый элемент массива определяется именем массива и порядковым номером элемента, который называется индексом. Индекс в языке С++ всегда целое число. Индекс в языке С++ указывается в квадратных скобках после имени массива. Количество используемых индексов в массиве определяет его мерность. Если в массиве один индекс, то это одномерный массив. Основная форма объявления (описания) одномерного массива такова:

тип имя_массива [размер];

где тип – тип элементов массива,

размер – количество элементов одномерного массива.

Размер массива в языке C++ может задаваться константой или выражением, состоящим из констант. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти.

  1. В языке С++ индекс всегда начинается с нуля. Когда мы говорим о первом элементе массива, то имеем в виду элемент с индексом 0. Если мы объявили массив int x[100]; это значит, что массив содержит 100 элементов от x[0] до x[99], для одномерного массива легко подсчитать, сколько байт в памяти будет занимать этот массив:

колич. байт = размер_типа_элемента * колич. элементов.