1 семестр / Лабароторная работа №4 прога
.docxФГБОУ ВО
«Уфимский государственный авиационный технический университет»
Кафедра ТК
ОТЧЕТ
по лабораторной работе № 4
по дисциплине «Программирование»
Вариант № 14
Выполнил: студент гр. ИВТ-127Б
Проверил: доцент каф. ТК
Федорова Н. И.
Уфа 2021
Тема работы: Простейшие программы на языке C++
Цель работы: Получение навыков реализации циклических алгоритмов и обработки одномерных массивов на языке С++.
Задачи работы:
Составить блок-схему алгоритма работы программы;
Написание программы на языке С++ с использованием различных типов циклов;
Тестирование работоспособности программы для различных исходных данных
Вариант № 14
Задание:
Найти количество элементов массива (a1,a2,…,aN), удовлетворяющих условиям: b <= a[i] <= c
Выполнение задания:
Решение задачи:
Введем переменные:
b, c- значения введенные пользователем,
a[N]- одномерный массив с N элементами.
Заполняем массив численными значениями.
Выполняем проверку неравенства c> b.
Если п3 выполнился, проходим по каждому элементу массива и проверяем на выполнение неравенства b<=a[i] <=c, считаем количество элементов массива, выполняющих это неравенство.
Выводим ответ.
Схема алгоритма работы программы:
Текст программы:
#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;
}
Тестовый пример:
Возьмем значения, введенные пользователем, b=-10, c =4, массив
a= {-3, -4, 2, 6, 12}.
Проверим верно ли пользователь ввел значения b и с:
4> -10 ( верно)
Проходим по каждому элементу массива и проверяем на выполнение неравенства b<=a[i]<=c:
Kolvo=0
-10<=-3<=4 ( верно) kolvo++
-10<=-4<=4 ( верно) kolvo++
-10<=2<=4 ( верно) kolvo++
-10<=6<=4 (ложь)
-10<=12<=4 ( ложь)
Выводим ответ: kolvo=3.
Ответ: kolvo=3
Вывод: В ходе выполнения работы были получены навыки реализации циклических алгоритмов, составления и отладки простейших программ на языке С++.
Контрольные вопросы:
В программировании цикл – это повторяющееся выполнение одних и тех же простых или составных операторов.
Цикл с предусловием — цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. В C++ предусмотрены операторы, реализующих циклический процесс с предусловием : while
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. В C++ предусмотрены операторы, реализующих циклический процесс с постусловием : do..while .
Тело цикла – это один оператор (простой или составной). Составной оператор в С++ – это группа операторов, заключенная в фигурные скобки { } и рассматриваемая компьютером как единый оператор.
На основе простых типов данных можно строить составные (сложные) типы. Массив – один из наиболее известных составных типов данных. Под массивом понимают конечный набор данных одного и того же типа, собранных под одним именем. Каждый элемент массива определяется именем массива и порядковым номером элемента, который называется индексом. Индекс в языке С++ всегда целое число. Индекс в языке С++ указывается в квадратных скобках после имени массива. Количество используемых индексов в массиве определяет его мерность. Если в массиве один индекс, то это одномерный массив. Основная форма объявления (описания) одномерного массива такова:
тип имя_массива [размер];
где тип – тип элементов массива,
размер – количество элементов одномерного массива.
Размер массива в языке C++ может задаваться константой или выражением, состоящим из констант. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти.
В языке С++ индекс всегда начинается с нуля. Когда мы говорим о первом элементе массива, то имеем в виду элемент с индексом 0. Если мы объявили массив int x[100]; это значит, что массив содержит 100 элементов от x[0] до x[99], для одномерного массива легко подсчитать, сколько байт в памяти будет занимать этот массив:
колич. байт = размер_типа_элемента * колич. элементов.