Отчетов по лабораторным работам

ЖУРНАЛ

Дисциплина: «Специальный раздел информатики»

Студент: Никонов А.А.

Группа: БТК15

Преподаватель: Шакурский М. В.

г.о. Тольятти

Лабораторная работа №1. Установка и разбор среды разработки NetBeans

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

Выполнение:

Установка вспомогательных средств Java:

Первых делом, прежде чем приступать к установке самого программного продукта NetBeans, необходимо установить некоторое программное обеспечение. Из программного обеспечения необходимым и единственным дополнительным программным обеспечением является комплект разработчика Java (JDK). Программное обеспечение находится в свободном доступе, поэтому его можно загрузить напрямую с веб-сайта разработчика http://www.oracle.com/. (см. рис. 1).

Отчетов по лабораторным работам

Рисунок 1. Получение пакета JDK

Дистрибьюция продукта не вызываем множество проблем, поэтому не стоит акцентировать внимание на ней. Стоит отметить, что если целевой изучаемый язык является PHP/C++/C, то так же необходимым программным обеспечением является MinGW (minimalist GNU for Windows). Задача этого коплекса программных средств – адаптировать разработку для операционной системы Windows. Программное обеспечение так же в бесплатном доступе, поэтому свободно переходим на веб-сайт разработчика https://sourceforge.net/ (см. рис. 2) и скачивает утилиту автоматического скачивания программы. Да, разработчик позаботился о том, что бы количество проблем при установке свелось к минимумом и предоставил возможность установить только интеллектуальную утилиту, которая, в свою очередь, самостоятельно скачает актуальную версию программного обеспечения и установить ее на наш персональный компьютер.

Отчетов по лабораторным работам

Рисунок 2. Веб сайт разработчика MinGW

После активации скаченного исполнительного файла программа исключительно спросит, какие пакеты (см. рис. 3) и куда их устанавливать (см рис. 4).

Отчетов по лабораторным работам

Рисунок 3. Процесс распаковки основных файлов лаунчера.

Отчетов по лабораторным работам

Рисунок 4. Процесс установки плагинов для разработки под PHP/C++/C

Тем временем, пока скачиваются дополнительные пакеты необходимо проверить, готов ли персональный компьютер работать с MinGW. В свойствах компьютера на вкладке Дополнительно кликните по кнопке Переменные среды (см. рис. 5).

Отчетов по лабораторным работам

Рисунок 5. Свойства системы по переменным средам

Нам потребуется значение переменной PATH, там должны быть прописаны пути к папкам с исполняемыми файлами MinGW и MSYS, в данном случае это директории C:\MinGW\bin и C:\MinGW\msys\1.0\bin.

Если эти значения не были автоматически добавлены в переменную в процессе установки, допишите их вручную, добавьте в начало строку C:\MinGW\bin;C:\MinGW\msys\1.0\bin;, только без кавычек.

На этом установка дополнительного программного обеспечения завершена. Перейдем, непосредственно, к установке среды разработки.

Установка среды разработки NetBeans:

Сама среда разработки распространяется бесплатно и вы можете скачать ее с официального веб-сайта разработчика https://netbeans.org/. Установка не занимает много времени и не вызывает трудностей у среднестатистического пользователя, поэтому не будем акцентировать внимание на этом, а перейдем непосредственно к настройке самой среды разработки. Запускаем среду разработки и в главном меню переходим в пункт Сервис, далее Подключаемые модули. В открывшемся окне (см. рис. 6) переходим во вкладку доступные модули. Так как целевым для изучения языком программирования является C++, то нам необходимы библиотеки для работы с C++. Устанавливаем все плагины с пометкой C++.

Отчетов по лабораторным работам

Рисунок 6. Окно установки дополнительных плагинов

Настройка компилятора и консоли вывода:

Дополнительные настройки для компилятора вы можете задать, если в корне программы (см. рис. 7) правой кнопкой нажмете на имени проекта. Отроется окно настройки приложения (см. рис. 8). Здесь вы можете задавать уникальные настройки для каждого отдельно взятого приложения.

Отчетов по лабораторным работам

Рисунок 7. Файловый каталог приложения

Отчетов по лабораторным работам

Рисунок 8. Дополнительные настройки для индивидуального приложения.

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

Вывод:Установили среды программирования NetBeans, настроили компилятор и консоль вывода, а так же разобрали часто встречаемые проблемы при дистрибьюции среды разработки.

Лабораторная работа №2. Разработка приложений на базе языка программирования C++

Цель работы:Получить навыки создание простого приложения на базе языка программирования C++

Задача № 2.1:Создать приложение с выводом строки «Hello wold». Закрепить листинг программы и пояснение к коду. Предоставить отчет по работе приложения.

К нашей радости создавать приложение целиком и полностью нам не придется, поскольку среда разработки NetBeans предоставляет нам пример приложение на базе языка C++ с названием «Приветствие» (см. рис. 9)

Отчетов по лабораторным работам

Рисунок 9. Окно создания приложения

Приведу листинг программы (см. таб. 1) и отчет выполнения (см. рис. 10):

Таблица 1. – листинг программы «Hello world»

#include int main() { std::cout Подключение основной библиотеки
Создание базовой функции без аргументов
Начало описания функции
Вывод строки приветствия
Проверка на завершенности описания
Завершения описания функции

Отчетов по лабораторным работам

Рисунок 10. Принцип применения листинга программы «Hello world!»

Задача № 2.2:Создать приложение по выводу стихотворения на экран. Закрепить листинг программы и пояснение к коду. Предоставить отчет по работе приложения.

За базу возьмем приложение из предыдущей задачи, но теперь заменим текст на строки Александра Пушкина из стихотворения «Желание». Если просто добавить строки друг за другом, то мы получим слитный текст. Что бы избежать подобного, можно поступить несколькими путями. Первый, самый неоптимальный вариант – перечислять строки подряд (см. рис. 11)

Отчетов по лабораторным работам

Рисунок 11. Пример неоптимального листинга программы по выводу большого количества строк

Второй метод (который выглядит более оптимальным в пользу простоты кода) — после каждой строчки добавлять универсальный языковой слоган «\n» (см. рис. 12). Компилятор, каждый раз доходя до этого знака, будет сносить последующие за ним символы с новой строки.

Отчетов по лабораторным работам

Рис. 12. Листинг оптимального кода приложения по выводу стихотворного текста на экран

Приведу пример работы компилятора в обоих случаях (см. рис. 13)

Отчетов по лабораторным работам

Рис. 13. Результат работы приложения по стихотворного текста

Вывод:Получили базовый навык создания приложений на базе языка C++. Создали несколько программ, работающих как вывод текстовой информации.

Лабораторная работа №3. Переменная. Виды переменных. Простые программы

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

В языке С++ все переменные имеют определенный тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа.

Тип данных присваивается переменной при ее объявлении или инициализации. Ниже приведены основные типы данных языка C++, которые нам понадобятся (см. таб. 2).

Таблица 2. Типы данных

Обозначение переменное Обрабатываемые данные Границы переменной
Int Целочисленный тип данных -2 147 483 648 2 147 483 647
Float Тип данных с плавающей запятой -2 147 483 648.0 2 147 483 647.0
Double Тип данных с плавающей запятой повышенной точности -9 223 372 036 854 775 808 .0 9 223 372 036 854 775 807.0
Char Символьный тип данных 0 / 255
Bool Логический тип данных 0 / 255

Объявление переменной в C++ происходит таким образом: сначала указывается тип данных для этой переменной а затем название этой переменной.

Реализуем работу простого калькулятора, выполняющего функцию сложения.

Приведу листинг программы с пояснением (см. рис. 14) и результат работы компилятора (см. рис. 15).

Это была простая программа. Однако, зачастую встречаются случае, когда калькулятор необходимо расширить до выполнения сложных операций, такие как вычисление косинуса или синуса. Если мы попытаемся просчитать все это программно, компилятор, несомненно, выдаст ошибки. Для выполнения сложных операций существует специально отведенная библиотека «math.h». Рассмотрим эту библиотеку, преобразую предыдущую программу от сложения к вычислению степени (см. рис. 16) и рассмотрим ее работу (см. рис. 16)

Отчетов по лабораторным работам

Рисунок 14. Листинг программы простого калькулятора

Отчетов по лабораторным работам

Рисунок 15. Пример выполнения программы простого калькулятора

Отчетов по лабораторным работам

Рисунок 16. Листинг и пример работы программы сложной функции

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

Лабораторная работа №4. Условие. Использование условных операторов

Цель работы:Изучить структуру построения условных операторов. Приобрести навыки решения задач с помощью условного оператора.

Задача № 4.1:Написать программу ветвления на основе оператора if, определяющую корректное слово – приставку к возрасту человека (год / лет) до 99 лет.

Прежде чем приступить к работе над программой уделим пару минут на осмотр задачи и возможных вариаций (см. таб. 3) Из вышеупомянутой таблицы видно, что все приставки идут поочередно, однако, если перечислять все это, то программа будет работать медленно. Задумаемся об оптимизации кода.

Таблица 3. Условия использования приставок

Интервалы Приставка
Все значения, в составе которых число единиц в интервале от 2 до 4 включительно (2,3,4,22,23,24 и т.д.) «Года»
Все значения, в составе которых число едениц равно 0 или в интервале от 25 до 29 включительно «Лет»

Оптимизация будет достигнута подключением библиотеки из предыдущей лабораторной работы «math.h». Среди ее операций есть функция «остаток отделения». Приведу листинг программы (см. рис. 17) и принцип ее работы (см. рис. 18).

Так же существует еще один условный оператор. Обычно его называют «переключатель», или с английского «switch». Что бы не вдаваться в теоретические особенности работы этого условного оператора, давайте лучше решим простую задачу.

Задача № 4.2: Написать программу простого калькулятора с возможностью выбора действий над двумя числами.

Отчетов по лабораторным работам

Рисунок 17. Листинг программы определения приставки возраста

Отчетов по лабораторным работам

Рисунок 18. Пример работы программы добавления приставки возрасту

Для выполнения этой задачи заранее оговорю, что выполняемое действие мы будет считывать как кодировку. В данном случае 1 – сложение, 2 – вычитание, 3 – умножение. Приведу листинг (см. рис. 19) и пример работы программы(см. рис. 20):

Отчетов по лабораторным работам

Рисунок 19. Листинг многозадачного калькулятора

Отчетов по лабораторным работам

Рисунок 20. Пример работы программы многозадачного калькулятора

Вывод: Изучили структуру построения условных операторов. Приобрели навыки решения задач с помощью условного оператора.

Лабораторная работа №5. Написание сложных программ

Цель работы:на основе полученных ранее знаниях выполнить предложенные задачи по построению сложных приложений на базе языка C++.

Задача №5.1.: Написание строкового калькулятора(см. рис.), реализующего распознавание математического выражения вида (см. рис.):

_ _ + _ _ =

Приведу листинг и пример работы программы (см. рис. 21).

Отчетов по лабораторным работам

Рис. 21. Процесс выполнения и листинг задание один

Задача №5.2.:Реализовать программу подсчитывающую количество ударов мячика о стенки прямоугольного поля, до его попадания в угол. Мячик вылетает из левого нижнего угла поля, под углом 45 градусов. Размеры поля задаются пользователем в виде двух целочисленных величин

Приведу листинг (см. рис. 22). и пример работы программы (см. рис. 23).

Отчетов по лабораторным работам

Рис. 22. Листинг программы для задания номер два

Отчетов по лабораторным работам

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

Вывод: Закрепил полученные ранее знания и выполнил задачи по построению сложных приложений на языке C++.

Лабораторная работа №6. Матрицы

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

Задача №6.1.: Написать программу реализующую транспонирование матрицы.

Приведу листинг (см. рис. 24) и пример (см. рис. 25) работы программы.

Отчетов по лабораторным работам

Рис. 24. Листинг программы номер один

Отчетов по лабораторным работам

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

Задача №6.2.: Написать программу выводящую на экран наибольшее и наименьшее значение массива.

Отчетов по лабораторным работам

Рис. 26. Листинг программы для задания два

Отчетов по лабораторным работам

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

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

Лабораторная работа №7. Функции и процедуры

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

Задача №7.1.: Переписать работу № 5 (строковой калькулятор), с применением функций и процедур для минимизации кода процедуры main (см. рис. 28).

Отчетов по лабораторным работам

Рис. 28. Пример и листинг задания для седьмой работы.

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

Лабораторная работа №8. Структуры

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

Задача №7.1.: Создать собственный тип данных и организовать ввод/вывод данных.

Структура

Код Пояснения
struct Base{ Объявление структуры и начало ее описания
char Name[15]; Текстовая переменная для «Наименования»
float kol; Переменная для «Количество»
float money; Переменная для «Цена»
float smoney; Переменная для «Суммарная стоимость»
int smnp; Переменная для «Среднемесячная норма»
}mbase[cl]; Завершение описания и создание массива на базе переменных

Основная программа

Код Пояснения
void main() { Обозначение новой функции и начало ее описания
setlocale(LC_ALL, Russian); Задание языка ввода/вывода информации
int k; Объявление переменных
do{ Начало цикла с постусловием
cout Снос на следующую строку
cout Создание консольного меню для выбора необходимой задачи в соответствии с введенным целочисленным кодом в переменную k.
cout
cout
cout
cout
cink;
switch (k) { Ветвление в соответствии с выбранным кодом. В соответствии с кодом запускается та или иная функция.
case 0: AddItem(); break;
case 1: Func1(); break;
case 2: Func2(); break;
case 3: exit(0); break;
default:break; }} Завершение ветвления
while (k!=3); } Проверка, что программа завершится только при условии, что выбран пункт и кодом «3»

Функция добавления элементов

Код Пояснение
void AddItem(){ Обозначение новой функции и начало ее описания
setlocale(LC_ALL, Russian); Разрешение консоли использовать кириллицу для ввода/вывода
int k; Объявление переменных
cout Обозначение, сколько наименований планируется добавить
cink; Запись в переменную количества
cout Снос на новую строку
for (int i=0;i Начало перебирания позиций в массиве mbase[] в соответствии с структурой
coutmbase[k].Name; Запись в «Наименование»
coutmbase[k].kol; Запись в «Количество»
coutmbase[k].money; Запись в «Цена»
cinmbase[k].money; mbase[k].smoney=mbase[k]. kol*mbase[k].money; coutmbase[k].smnp; Нет смысла отдельно указывать общую стоимость, поэтому внесем только «Среднемесячный оборот», а общую сумму будем подсчитывать по произведению «Количество» на «Цена»
cout Снос на новую строчку, что бы избежать слитности при вводе большого количества наименований и завершение описания функции

Информация об общем количестве всех деталей на складе

Код Пояснение
void Func2(){ Обозначение новой функции и начало ее описания
setlocale(LC_ALL, Russian); Разрешение консоли использовать кириллицу для ввода/вывода
float kkol, kssumm; Объявление переменных
kkol=0; Обнуление новых переменных
kssumm=0;
for (int z=0;z Начало перебирания позиций в массиве mbase[] в соответствии с структурой.
if (mbase[z].money!=0){ Выводить только не пустые строки
cout Вывод информации по каждой позиции в массиве mbase[] в привлекательном для глаза виде.
kkol=kkol+mbase[z].kol; kssumm=kssumm+mbase[z].smoney;}} Запись общего количества товаров и сумм
cout Отдельный вывод общей суммы и общего количества товаров

Отчетов по лабораторным работам

Рис. 29. Работа главной функции

Отчетов по лабораторным работам

Рис .30. Функция добавления элементов

Отчетов по лабораторным работам

Рис. 31. Информация об общем количестве всех деталей на складе

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

Виртуальная лаборатория «Метрология, стандартизация и сертификация» ЛП-Мт


Похожие статьи.

Понравилась статья? Поделиться с друзьями: