ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 71
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)
И. Ю. СИТНИКОВ Т. Е. САМСОНОВА П. Н. КОЗЛОВА
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
ПО КУРСУ «ИНФОРМАТИКА» учебное пособие
Санкт-Петербург
2022
УДК 004.42
ББК 32.973
Л12
Ситников И. Ю., Самсонова Т. Е., Козлова П. Н.
Л12 Лабораторный практикум по курсу «Информатика »: учеб. пособие. СПб.:
Изд-во СПбГЭТУ «ЛЭТИ», 2022. 75 с.
ISBN 978-X-XXXX-XXXX-X
Содержит пояснения и рекомендации по выполнению лабораторных ра- бот по курсу «Информатика» для студентов 1 курса кафедры РЭС. Подробно рассмотрен порядок изучения языка программирования, приведены примеры выполнения отдельных этапов работ. Лабораторные работы выполняются в те- чение первого семестра и рассчитаны на приобретение навыков выполнения проектов по созданию ПО и программирования на языке С++ в среде
Microsoft Visual Studio для ОС Windows.
УДК 004.42
ББК 32.973
Рецензенты:
Утверждено редакционно-издательским советом университета в качестве учебного пособия
ISBN 978-X-XXXX-XXXX-X
© СПбГЭТУ «ЛЭТИ», 2022
3
ВВЕДЕНИЕ
Программирование на языке Си и С++ стало важной составной частью инженерного проектирования радиоэлектронных устройств. Современные средства разработки программ представляют собой полнофункциональные комплексы, имеющие в своем составе высокопроизводительные компиляторы, компоновщики и отладчики кода. Они позволяют инженеру освоить основы программирования, начиная с близких к технической реализации вычисли- тельных устройств примеров, вплоть до новейших стандартов объектно-ори- ентированного программирования.
На сегодняшний день существует множество литературы по программи- рованию. Задачей настоящего курса было детальное знакомство с низкоуров- невыми технологиями написания программ на языке Си, который как правило используется в микропрограммных устройствах. В пособии большое внима- ние уделено изучению особенностей проектирования приложений на Си и вве- дению в объектно-ориентированное программирование с учетом базовых воз- можностей С++.
В данный цикл входят 7 лабораторных работ, посвященных исследова- нию различных программ, созданию собственных библиотек и архитектуре комплексных проектов на их основе.
Данное учебное пособие ориентировано на использование версии Mi- crosoft Visual Studio Community 19, доступной для индивидуального использо- вания студентами.
4
1. СТРУКТУРА ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ
Ниже приведена общая структура отчета по лабораторной работе:
− титульный лист;
− содержание;
− спецификация задания;
− формализованное словесное описание алгоритма решения задачи;
− блок-схема алгоритма;
− выбор и обоснование типов переменных, разработка структур данных;
− вводимые и выводимые параметры и их типы;
− структура проекта, перечисление нужных файлов;
− текст программы и файлов заголовков с комментариями, синтаксиче- ский разбор текста в комментариях;
− рисунки с копиями экрана при работе программы;
− контрольный пример, сравнение результата с эталоном;
− выводы, включающие область применения, ограничения, достоинства и недостатки программы, размер исполняемого файла на диске.
Рассмотрим некоторые разделы отчета более подробно.
1.1. Титульный лист
Для оформления отчетов целесообразно использовать программы редак- тирования текста, такие как: Microsoft Word, электронные ресурсы https://docs.google.com/ , OpenOffice (https://www.openoffice.org/) и подобные.
Пример оформления титульного листа приведен в Приложении.
5
1.2. Содержание
Содержание должно перечислять разделы отчета с указанием страниц.
Это можно сделать автоматически, для этого откройте меню Ссылки и вы- берете Оглавление. «Оглавление» следует переименовать в «содержание» как это принято в технической литературе. Для автоматического заполнения нужно добавить заголовки в содержание. Заголовки должны отличаться сти- лем. Стиль заголовка можно выбрать из списка или добавить собственный стиль, если подходящего нет в шаблоне документа, которым вы пользуетесь.
Обновить поля содержания – номера страниц – можно автоматически, выде- лив в редакторе весь текст (Ctrl+A) и нажав «обновить поле» в меню по правой кнопке мышки на выделенном тексте.
Разделы в отчете нумеруются начиная с 1, раздел «Содержание» номера не имеет.
1.3. Спецификация задания
В данном разделе отчета кратко формулируются требования к разрабаты- ваемой программе. К ним относятся:
− в какой операционной системе должна работать программа;
− в какой среде разрабатывается программа;
− на каком языке программирования написана;
− какие вычисления и какие действия должна выполнять программа.
1.4. Формализованное описание алгоритма решения задачи
В разделе приводится словесное описание метода решения, объясняются используемые элементы, переменные, и функции. Описывается последова- тельность выполнения вычислений, объясняется, как и откуда передаются дан- ные для вычислений на каждом шаге по схеме:
− что дано в задании, описание исходных данных и начальных условий;
− объект, описание переменных, структур и атрибутов;
− последовательность действий над объектом, какие действия выполня- ются и при каких условиях;
− повторение действий;
− полученный результат.
Подробный словесный алгоритм решения задачи не должен быть описа- нием программы. Это действия, которые может сделать, например, человек с
6 калькулятором. А разрабатываемая программа автоматизирует процесс вы- полнения разработанного алгоритма.
1.5. Блок-схема алгоритма
Блок-схема нужна для представления алгоритма в виде последовательно- сти операций и переходов между ними. Основные вычислительные алгоритмы содержат повторяющиеся действия, при этом повторение не должно быть бес- конечным – тогда программа никогда бы не заканчивалась и не позволяла по- лучить результат. Существуют и длительно выполняющиеся программы – например, программы игр или операционных систем, которые работают все время, пока их не выключают. Это алгоритмы другого типа, по сути, не явля- ющиеся вычислительными. В нашем курсе мы будем создавать программы ко- нечными, предназначенными для решения конкретной задачи: когда результат получен, вычислительный алгоритм тоже заканчивается.
В наших блок-схемах появляются блоки «НАЧАЛО» и «ЗАВЕРШЕНИЕ», по правилам оформления блок-схем это прямоугольники со скругленными уг- лами. У «НАЧАЛА» один выход и ни одного входа, у «ЗАВЕРШЕНИЯ» – один вход и ни одного выхода. Другие блоки содержат один вход и как минимум один выход. Если у блока нет ни одного выхода, он «висит в воздухе», то про- грамма, попав в этот блок, останется там навсегда – прове-
ряйте ваши схемы на наличие блоков, «висящих в воз-
духе» [1].
Блоки соединяются линиями, показывающими после- довательность действий. Линия, соединяющая блоки, должна быть со стрелкой, показывающей, откуда и куда пе- реходит действие.
Перед началом вычислений нужно ввести исходные данные, а в конце работы вывести результат. Блоки ввода и вывода изображаются параллелограммами.
Наконец, в алгоритме бывают ветвления, то есть вы- полнение действий может идти, например по двум путям
(простое условие). Блок проверки условия содержит описа- ние проверки (что проверяется) и два выхода, которые под- писываются «ДА» и «НЕТ» и соответствуют результату проверки. Пример блок-схемы приведен на Рис.
1
Рис. 1. Блок-схема алгоритма
7
1.6. Выбор и обоснование типов переменных.
В программе вычисления выполняются над переменными – числами, за- писанными в памяти компьютера, и называемыми операндами. Например,
«С=А+В» – простое выражение, которое означает: взять число из ячейки А, сложить его с числом из ячейки В и записать результат в ячейку С. В этой за- писи, несмотря на ее простоту, есть неопределенность для программы, заклю- чающаяся в том, что числа в программе могут быть представлены в различных форматах, проще говоря, занимать разное по размеру место в памяти машины, и это может существенно влиять на результат. В дальнейшем мы рассмотрим детально эти представления и правила преобразования типов, однако отчет должен точно описывать используемые в программе типы переменных для правильной работы с обоснованием использования выбранного типа. Напри- мер: А, В и С имеют целочисленный тип со знаком int. Кроме того, при исполь- зовании сложных типов данных раздел должен содержать описание структур данных, используемых в программе.
1.7. Вводимые и выводимые параметры и их типы
В этом разделе приводится полный перечень данных, которые программа получает от оператора, в нашем случае, через ввод с клавиатуры. Также дол- жен быть описан вывод результатов: какие условные обозначения, сообщения и другую вспомогательную информацию может выдавать программа. В отчете необходимо также привести необходимые пояснения.
Например, в программе вводятся слагаемые А и В, оба представляют со- бой целые числа со знаком, не превышающие по модулю значения 200000000.
Результат расчета выводится в строке «А+В=», и программа ожидает нажатия клавиши оператором для завершения.
1.8. Структура проекта, перечисление нужных файлов
Программа разрабатывается в современной среде разработки Microsoft
Visual Studio. Это очень хороший комплекс программ и вспомогательных средств для профессионального программирования. Создание программы – это написание текста на одном из языков программирования, мы будем ис- пользовать языки Си и С++. Сам текст является только средством для облег- чения восприятия человеком последовательности машинных команд, которые
«видит» машина в программе. Поэтому текст с языка Си должен быть
8
«переведен» на язык машинных команд. Этот перевод должен быть не воль- ным, а точным, процесс перевода называется компиляцией, а выполняет его специальная программа – компилятор. Для нас важно, что тексты в программе
– это текстовые файлы на языке Си или С++, их имя может быть любым (из- бегайте использования кириллицы), а расширение .cpp для текста С++ или .c для классического Си. Кроме файлов текста, которые обычно содержат тексты выполняемых операций, в проекте есть файлы заголовков, которые в основном являются пояснениями компилятору, какие определения программист исполь- зует в своих текстах. Файлы заголовков имеют расширение .h от английского
headers. Ну, и раз текстов уже несколько, должен быть файл проекта, который содержит в себе как минимум перечень файлов текста, файлов заголовков, а также инструкции, в какую форму наш проект должен исходные файлы со- брать. Расширение этого файла проекта .vcxproj от Visual C Extended Project.
Этап сборки скомпилированных файлов и приводит в случае успеха к созда- нию исполняемого файла, с расширением .exe (executable). Исполняемый файл не универсален, он строится с учетом особенностей операционной системы и, как правило, не работает в другой операционной системе (ОС).
В ОС есть возможность выводить содержимое папки – команда DIR. Для запуска команды DIR нужно запустить окно командного процессора ОС. В строке поиска набираем «CMD» и открывается окно, (Рис. 2).
Рис. 2
.
Окно команд со структурой проекта
9
Находим в Visual Studio папку, где расположены файлы исходного кода – для этого в закладках меню по правой кнопке позволяет скопировать путь к файлу (Рис. 3):
Рис. 3. Меню копирования пути к файлу исходного кода
Переходим в рабочую папку проекта командой cd:
cd C:\Projects\Utils\ConsoleApplication1\ConsoleApplication1
Набираем «DIR» и получаем список с вложенными папками. Ваша задача: ско- пировать список (выделяем мышкой и Ctrl+C) и поместить его в отчет, отре- дактировав ненужные файлы.
Вопрос студентам: как автоматизировать создание списка файлов про- екта в вашем проекте?
1.9. Результаты лабораторной работы
К результатам работы относятся характеристики разработанной про- граммы, такие, как:
− тип и версию ОС, для которой разработано приложение;
− тип приложения (консольное, оконное и т. д.);
− путь, имя и размер исполняемого .exe файла;
− ограничения на исходные данные;
− результаты проверки выходных значений по независимому источнику
(обязательно приведите копии экрана);
− достоинства и недостатки программы.
10
2. СОЗДАНИЕ ПРОЕКТА В СРЕДЕ РАЗРАБОТКИ MICROSOFT
VISUAL STUDIO
Visual Studio Community 2019 можно загрузить по ссылке ниже: https://visualstudio.microsoft.com/ru/vs/
При установке нужно указать следующие компоненты: C++
Запустите программу после ее установки, откроется окно, представленное на Рис. 4.
Рис. 4. Запуск Visual Studio 2019
В этом окне можно открыть существующий файл или проект, создать но- вый или «продолжить без кода». Главный вид окна программы представлен на
Рис. 5.
Рис. 5. Внешний вид главного окна Visual Studio 2019
11
Для создания проекта перейдите в File -> New -> Project (Рис. 6).
Рис. 6. Создание нового проекта
Выберите тип проекта: в данном курсе это должно быть консольное при- ложение для Windows (Рис. 7). Язык программирования – Си/С++.
Рис. 7. Выбор шаблона консольного приложения для Windows
Далее укажите имя проекта и путь к папке, в которой будет храниться проект (Рис. 8).
12
Рис. 8. Конфигурация проекта
Завершите создание проекта, нажав кнопку «Create».
В центральной части окна программы («1» на Рис.
9
) откроется на редак- тирование исходный текст в cpp-файле из вашего проекта.
Рис. 9. Начало работы
Компиляция проекта запускается нажатием комбинации клавиш Ctrl+F7.
C помощью локального отладчика Local Windows Debugger также можно за- пустить отладку с последующим просмотром результатов работы написанной программы (Рис. 10).
13
Рис.
10
. Локальный отладчик Windows
Ошибки и предупреждения, возникающие при компиляции, можно по- смотреть в окне «Список ошибок» (Error List), которое обычно находится в нижней части главного окна («1» на Рис.11). Также, и даже несколько проще, использовать окно «Вывод» (Output).
Местоположение ошибок и/или комментариев в тексте программы также отображается цветными квадратиками в области слайдера вертикальной про- крутки страницы справа в окне с текстом.
Структура проекта представлена в окне Solution Explorer («2» на Рис. 11).
Рис. 11. Структура проекта и список ошибок
Чтобы посмотреть, как работает программа в конкретной строчке кода (и попадет ли она вообще в эту точку), нужно создать в этом месте точку оста- нова. Для этого перед запуском отладчика нужно щелкнуть левой кнопкой
14 мыши на серой вертикальной линии окна редактирования текста рядом с но- мером интересующей вас строчки кода («1»» на Рис. 12).
Тогда после запуска отладки, если программа дойдет до этого места в коде, на красной точке появится желтая стрелка, («2» на Рис. 12).
Текущие значения переменных отображаются в окне «Локальные пере- менные» «(Local», «3» на Рис. 12).
Рис. 12. Создание точки останова
Перемещаться по коду относительно точки останова можно при помощи кнопок, расположенных в верхней части главного окна (Рис. 13, а). Данные кнопки становятся доступными только после запуска отладки и при наличии точек останова.
а
б
Рис. 13. Инструменты для отладки программы
Продолжить выполнение программы после завершения работы с точками останова можно, нажав «Continue» (Рис. 13, б).
Пример программы с синтаксическим разбором:
#include process.h” //для работы с системными командами
int main()