Оформление отчетов к лабораторным работам

ПРОГРАММИРОВАНИЕ И ОСНОВЫ АЛГОРИТМИЗАЦИИ

Методические указания к лабораторным работам

 

 

Факультет: электроэнергетический

 

Направление подготовки бакалавров:

220400.62 – управление в технических системах

 

Вологда

 

УДК 621.374.1

 

Программирование и основы алгоритмизации. Методические указания к лабораторным работам.- Вологда: ВоГТУ, 2012 - 38с.

 

Методические указания предназначены для поддержки первой части лабораторного практикума по дисциплине «Программирование и основы алгоритмизации» и служат для успешного освоения основных конструкций языка программирования C++ и приобретения навыков разработки и отладки программ, написанных на этом языке. По каждой лабораторной работе приводятся краткие сведения об используемых языковых конструкций и приемах разработки программного кода, задания для самостоятельной проработки.

 

Утверждено редакционно-издательским советом ВоГТУ

 

 

Cоставитель: С. Ю. Ржеуцкая, к.т.н., доцент

 

Рецензент: А.Н. Швецов, д.т.н., профессор,

директор ВРЦДО

 


Введение

 

Методические указания предназначены для студентов направления подготовки бакалавров 220400.62 — «Управление в технических системах», но могут быть полезны студентам любых направлений, которые хотят освоить программирование на одном из самых востребованных современных языков C++.

Методические указания предназначены для поддержки первой части курса «Программирование и основы алгоритмизации» (третий семестр) и содержат четыре лабораторных работы, каждая по 4 часа (если работы двухчасовые, то для освоения курса потребуется восемь работ). Предполагается, что студенты уже изучили типовые приемы алгоритмизации в предыдущем семестре. Данные работы предназначены для успешного освоения основных конструкций языка программирования C++ и приобретения навыков разработки и отладки программ, написанных на этом языке.

Следует понимать, что разработка программных продуктов является сложным творческим процессом, освоение которого невозможно без серьезной самостоятельной работы. Поэтому в дополнение к данным лабораторным работам студенты должны прорешать в течение семестра не менее 10 задач по теме «Программирование и основы алгоритмизации» из электронного архива задач кафедры АВТ с системой автоматической проверки решений.

Порядок выполнения лабораторных работ

 

Перед выполнением лабораторной работы (заранее) необходимо ознакомиться со справочным материалом, который содержится в начале каждой лабораторной работы. Если возникло какое-либо недопонимание, рекомендуем проверить на компьютере примеры, содержащиеся в данных указаниях.

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

Каждая задача должна быть отлажена, при этом для отладки разрешается использовать среду Turbo C++, но предпочтительней создавать и отлаживать консольные приложения (тип приложения – Console Application) в среде Visual C++, хотя это несколько более затратно по времени. Задача сначала проверяется студентом НА ПОЛНОМ НАБОРЕ ТЕСТОВ, а затем сдается преподавателю. Если студент не успел за время лабораторной работы отладить и сдать преподавателю все задачи, он дорешивает их дома.

Оформление отчетов к лабораторным работам

Отчеты по каждой лабораторной работе оформляются в отдельном файле формата .doc или .odt, титульный лист обязателен. Если есть возможность, отчеты можно сдавать в печатном виде.

По каждой задаче из индивидуального задания в отчете требуется разместить:

1. текст задания;

2. пояснения по назначению переменных, используемых в программе;

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

4. текст программы на языке С++;

5. полная система тестов, которая использовалась при отладке, с результатами по каждому тесту (можно поместить в отчет скриншоты экранов).

 

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

Основные конструкции языка программирования C++. Обработка массивов

Цели работы:

· освоить основные конструкции языка С++;

· научиться разрабатывать циклические программы с ветвлениями, обрабатывать одномерные и двумерные массивы, используя доступ к элементам по индексам;

· освоить процесс создания проекта консольного приложения в среде Visual C++;

· научиться отлаживать приложение.

Краткие сведения по конструкциям языков программирования C/C++

Структура программы на C/C++

Любая программа, написанная на языках C/С++, содержит одну или более функций. Все программы должны содержать функцию с именем main(для неконсольных программ под Windows - WinMain). Эта функция является точкой входа в программу. Открывающая скобка “{” помещается перед первой инструкцией, а закрывающая скобка “}” - после последней. Между скобками помещаются операторы.

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

Фигурные скобки называются ограничителямии служат для выделения части кода в единый составной оператор (блок).

Директивы препроцессора

Первые строки программы обычно содержат директивы препроцессору на подключение к тексту программы тех или иных заголовочных файлов. Это текстовые файлы, содержащие заголовки (прототипы) стандартных функций, описания типов данных, констант и имеющие расширения .h или .hpp. Существует следующие форматы записи директивы #include:

#include <имя_файла>

#include “имя_файла”

Первый способ записи обычно используется при подключении к тексту программы тех или иных заголовочных файлов библиотек языка C++. Обычно данные файлы располагаются в специальном каталоге с именем include.

Например:

#include <iostream.h> или #include <iostream>

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

#include “myfile.h”

#include “c:\myinc\myfile.h”

Комментарии

Комментарии можно оформить одним из двух способов.

Символы /* начинают комментарий, заканчивающийся символами */. Этот способ полезен для многострочных комментариев, а также для изъятия частей программы при редактировании. Однако следует помнить, что комментарии /* */ не могут быть вложенными.

Символы // начинают комментарий, который заканчивается в конце строки, на которой они появились. Этот способ наиболее полезен для коротких комментариев.

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

Приведем программу, которая по заданному радиусу вычисляет площадь круга и длину окружности.

#include <iostream.h> // заголовочный файл

void main()

{ const float pi=3.1415926;

int r; // пусть радиус - целое число

float l,s;

cout << “Введите радиус: ”;

cin>>r; cin.get();// ввод исходных данных

l=2*pi*r; s=pi*r*r; // вычисления

cout<< ”длина окружности ” << l << ”плошадь круга ” << s; // вывод результатов

cin.get(); //пауза до нажатия любой клавиши

}

Простые типы

К ним относятся:

char short int long float double bool

Первые четыре типа используются для представления целых (в том числе и тип char, так как представление символа – его код), последние два - для представления чисел с плавающей точкой, bool – для представления логических значений (только С++).

Переменная типа char обычно имеет размер 1 байт (1 символ), а переменная типа int имеет размер 2 или 4 байта (в зависимости от компилятора).

Перед типами short, int и long можно поставить прилагательное unsigned, что обозначает беззнаковый.

К основному типу можно добавить const. Это дает тип, имеющий те же свойства, что и исходный тип, за исключением того, что значение переменных типа const не может изменяться после инициализации.

const float pi = 3.14;

const char plus = '+';

Символ, заключенный в одинарные кавычки, является символьной константой.

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