Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Marchenko_N_M_Programmirovanie_na_yazyke_SS-1.pdf
Скачиваний:
30
Добавлен:
20.02.2016
Размер:
1.16 Mб
Скачать

Министерство образования и науки Российской Федерации Дальневосточный федеральный университет

Инженерная школа

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С/С++

Лабораторный практикум по дисциплине «Информатика» для студентов направления

140400 «Электроэнергетика и электротехника»

Учебное электронное издание

Составитель Н.М. Марченко

Владивосток Издательский дом Дальневосточного федерального университета

2013

УДК 519.688

ББК 22.1

П78

Составитель

Марченко Нина Михайловна, к.т.н., доцент кафедры энергетики и электротехники Инженерной школы (Дальневосточный федеральный университет, Владивосток).

П78 Программирование на языке С/С++: Лабораторный практикум по дисциплине «Информатика» для студентов направления 140400 «Электроэнергетика и электротехника» [Электронный ресурс] / сост. Н.М. Марченко ; Дальневосточный федеральный университет, Инженерная школа. – Электрон. дан. – Владивосток : Издательский дом Дальневост.

федерал. ун-та, 2013. – 43 с. – Acrobat Reader, Foxit Reader либо любой другой их аналог.

– Режим доступа: http://www.dvfu.ru/web/is/metodiceskie-rekomendacii

Содержит рекомендации по созданию программ на основе базовых конструкций структурного программирования – следование, ветвление, цикл, а также с использованием массивов и функций на языке C/С++ с помощью консольного приложения Win32 Console Application в среде Visual C++ .

Для студентов направления 140400 «Электроэнергетика и электротехника» по дисциплине «Информатика».

Ключевые слова: программа, алгоритм, оператор, функция, следование, ветвление, цикл, массив.

УДК 519.688

ББК 22.1

Публикуется по решению кафедры электроэнергетики и электротехники Инженерной школы ДВФУ

Лабораторный практикум подготовлен редакционно-издательским отделом Инженерной школы ДВФУ

Технический редактор И.А. Гончарук Компьютерная верстка Н.О. Ковтуна

Формат PDF, объем 0,8 МБ [усл. печ. л. 5] Выпускается в авторской редакции

©Марченко Н.М., сост., 2013

©Дальневосточный федеральный университет, 2013

©Издательский дом Дальневосточного федерального университета, оформление, 2013

Издательский дом Дальневосточного федерального университета 690990, Владивосток, ул. Пушкинская, 10

тел./факс (423) 222-12-40, 245-77-70 E-mail: tvpress@mail.ru, edit_dvgu@mail.ru

 

СОДЕРЖАНИЕ

 

ПРЕДИСЛОВИЕ ..........................................................................................................................................................

4

ЛАБОРАТОРНАЯ РАБОТА № 1. ПРОГРАММЫ НА ЯЗЫКЕ С/С++ С ЛИНЕЙНОЙ СТРУКТУРОЙ.................................

5

1.

ЦЕЛЬ РАБОТЫ .....................................................................................................................................................

5

2.

КРАТКОЕ ОПИСАНИЕ СРЕДЫ VISUAL C++.............................................................................................................

5

3.

СОЗДАНИЕ КОНСОЛЬНОГО ПРИЛОЖЕНИЯ.......................................................................................................

5

4.

ОФОРМЛЕНИЕ ПРОГРАММ................................................................................................................................

7

5.

ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ..............................................................................................................................

7

6.

ИНСТРУКЦИЯ ПРИСВАИВАНИЯ..........................................................................................................................

7

7.

ВЫВОД ДАННЫХ .................................................................................................................................................

8

8.

ВВОД ДАННЫХ ....................................................................................................................................................

9

9.

ПРОГРАММЫ С ЛИНЕЙНОЙ СТРУКТУРОЙ.........................................................................................................

9

10. БИБЛИОТЕКА МАТЕМАТИЧЕСКИХ ФУНКЦИЙ ...............................................................................................

11

11. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ ..................................................................................

13

ЛАБОРАТОРНАЯ РАБОТА № 2. ПРОГРАММЫ НА ЯЗЫКЕ С/С++ СО СТРУКТУРАМИ ВЕТВЛЕНИЯ И ЦИКЛА ..........

16

1.

ЦЕЛЬ РАБОТЫ ...................................................................................................................................................

16

2.

ОПЕРАТОРЫ ВЕТВЛЕНИЯ..................................................................................................................................

16

3.

ОПЕРАТОРЫ ЦИКЛА .........................................................................................................................................

20

4.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ ....................................................................................

25

ЛАБОРАТОРНАЯ РАБОТА № 3. ПРОГРАММЫ НА ЯЗЫКЕ С/С++ С МАССИВАМИ ...................................................

28

1.

ЦЕЛЬ РАБОТЫ ...................................................................................................................................................

28

2.

МАССИВЫ .........................................................................................................................................................

28

3.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ ....................................................................................

36

ЛАБОРАТОРНАЯ РАБОТА № 4. ПРОГРАММЫ НА ЯЗЫКЕ С/С++ С ИСПОЛЬЗОВАНИЕМ ФУНКЦИЙ......................

38

1.

ЦЕЛЬ РАБОТЫ ...................................................................................................................................................

38

2.

МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ..............................................................................................................

38

3.

ОБЪЯВЛЕНИЕ И ОПРЕДЕЛЕНИЕ ФУНКЦИЙ .....................................................................................................

38

4.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ............................................................................................................................

39

5.

ПАРАМЕТРЫ ФУНКЦИИ И ОБРАЩЕНИЕ К ФУНКЦИИ......................................................................................

39

6.

ОСОБЕННОСТИ РАБОТЫ В СРЕДЕ VISUAL C++ .................................................................................................

41

7.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ ....................................................................................

42

СПИСОК ЛИТЕРАТУРЫ..............................................................................................................................................

43

3

Предисловие

Дисциплина «Информатика» входит в базовую часть математического и естественнонаучного цикла учебного плана подготовки бакалавров по направлению 140400 – Электроэнергетика и электротехника и предназначена развивать практические навыки пользователя для работы на ПК. Современный научно-технический работник должны уметь применять для расчетов и исследования сложных энергетических и электромеханических систем не только программные продукты, предлагающие готовые решения, но и научиться создавать новые приложения и программы, используя методы алгоритмизации и программирования. Процесс освоения дисциплины «Информатика» предусматривает изучение студентами методов алгоритмизации и программирования на языке высокого уровня С/С++, который в настоящее время является одним из самых популярных и востребованных.

Лабораторный практикум написан в соответствии с программой дисциплины «Информатика». В данную работу включены методические указания по четырем лабораторным работам, в которых достаточно подробно рассмотрены вопросы, связанные с построением алгоритмов на основе базовых конструкций структурного программирования, с использованием массивов и функций, приведена методология написания программ на языке С/С++ для проведения расчетов.

Лабораторная работа № 1 «Программы на языке С/С++ с линейной структурой» содержит рекомендации по созданию программ линейной структуры на языке С++ с помощью консольного приложения Win32 Console Application в среде Visual C++, а также посвящена освоению процедур ввода и вывода данных, построения программ линейной структуры для проведения расчетов по сложным математическим выражениям.

Лабораторная работа № 2 «Программы на языке С/С++ со структурами ветвления и цикла» поможет студентам научится создавать программы со структурами ветвления по двум (оператор if) и многим направлениям (оператор switch) и цикла с использованием операторов for, while и do while.

Лабораторная работа № 3 «Программы на языке С/С++ с массивами» содержит рекомендации по созданию программ с одномерными и многомерными массивами, особенностями ввода и вывода элементов массивов.

Лабораторная работа № 4 «Программы на языке С/С++ с использованием функций» посвящена способам написания программ модульной структуры с применением подпрограмм. В работе изложены особенности объявления, определения и вызова подпрограмм из основной программы.

4

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

ПРОГРАММЫ НА ЯЗЫКЕ С/С++ С ЛИНЕЙНОЙ СТРУКТУРОЙ

1. ЦЕЛЬ РАБОТЫ

Целью работы является приобретение студентами навыков работы с консольным приложением Visual C++ Win32 Console Application и освоение основ программирования на языке С/С++: объявление переменных, ввод/вывод сообщений и значений переменных, составление программ с линейной структурой.

2. КРАТКОЕ ОПИСАНИЕ СРЕДЫ Visual C++

Visual C++ – визуальная среда программирования, являющаяся мощным средством для разработки 32-разрядных приложений в операционной системе Windows. Этот достаточно сложный продукт позволяет создавать более объемные и более сложные приложения, чем его предшественники, разработанные для 16-разрядных Windows 3.х или для DOS. В принципе программу любой сложности можно написать на любом языке программирования и с использованием любой среды программирования. Эта же среда отличается тем, что в ней на программирование задачи будет затрачено меньше времени, чем, например, в DOS, а получившаяся в результате программа будет работать быстрее и надежнее. В рамках дисциплины «Информатика» среда Visual C++ рассматривается исключительно как средство создания простейших пользовательских приложений, позволяющих решать текущие задачи пользователя. К таким задачам можно отнести расчетные задачи учебного назначения, разработку приложений, в которых исследуется на моделях поведение сложных технических систем, или создание простой панели управления некоторым устройством, подключенным к компьютеру.

Среда программирования Visual C++ используется не только для редактирования, компиляции и отладки программ, но и для генерации заготовок программ. Эти заготовки представляют собой работоспособные программы, реализующие основные элементы интерфейса Windows, необходимые в любой пользовательской программе, и не выполняющие никакой обработки. Мастер приложений позволяет создать такую заготовку за короткое время. Программисту, начинающему свое знакомство с Visual C++ , необходимо, прежде всего ознакомиться с простейшими типами приложений, к которым относится консольное приложение Win32 Console Application (консольное приложение для 32разрядного Windows). Это приложение очень похоже на DOS-программы.

3. СОЗДАНИЕ КОНСОЛЬНОГО ПРИЛОЖЕНИЯ

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

1.В окне Visual C++ выберите команду File New. Появится диалоговое окно New, раскрытое на вкладке Projects (Проекты).

2.Введите в текстовое окно Project name имя проекта, укажите в окне Location подходящую папку для его хранения и выделите в расположенном слева списке пункт Win32

Console Application.

3. Щелкните по кнопке ОК. Появится диалоговое окно Win32 Console Application - Step 1 of 1 (Консольное приложение для 32-разрядного Windows – Шаг 1 из 1). Группа

5

переключателей What kind of Console Application do you want to create? (Какое консольное приложение вы хотите создать?) содержит следующие позиции:

An empty project (Пустой проект) – мастер создает приложение, в котором отсутствуют файл реализации, файл заголовка и файл ресурсов. При выборе генерируемого приложения в положении An empty project вам придется писать все файлы программ проекта вручную.

A simple application (Простое приложение) – мастер создает приложение, состоящее из файла реализации и файла заголовка. Более опытные программисты выбирают генерируемое приложение A simple application, где мастером уже создана простейшая заготовка файла реализации и файл заголовка StdAfx.h, относящийся к генерируемому мастером файлу StdAfx.cpp, ответственному за создание перекомпилированных заголовков. В файле реализации отсутствуют исполнительные операторы.

A "Hello Word!" application (Приложение "Hello Word!") – мастер создает приложение, аналогичное предыдущему, но в нем файл реализации содержит оператор вывода на экран строки "Hello Word!".

An application that supports MFC (Приложение, использующее функции из библиотеки базовых классов MFC – Microsoft Foundation Classes) – мастер создает приложение, выводящее на экран строку, оформленную, как строковый ресурс.

Положения переключателя A "Hello Word!" application и An application that supports MFC являются чисто демонстрационными и разными способами реализуют одно и то же действие – вывод на экран строки символов.

4.После установки переключателя в соответствующее положение (An empty project) нажмите кнопку Finish (Завершение работы). Появится диалоговое окно New Project Information (Информация о создаваемом проекте).

5.Нажмите кнопку ОК.

Проект будет создан немедленно. Теперь необходимо создать файлы исходного текста

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

1.Выберите команду File New и в раскрывшемся диалоговом окне щелкните на корешке вкладки File.

2.Оставьте флажок опции Add To Project установленным, чтобы новый файл был автоматически добавлен к проекту.

3.В списке слева выберите строку С++ Source File.

4.В поле File name введите имя файла (расширение .cpp будет добавлено автоматически).

5.Щелкните по кнопке ОК.

Пустой текстовый файл с указанным именем будет создан и добавлен в проект всего за один шаг. Введите в новый файл текст программы.

Пример 1. Программа записана на языке С

#include <stdio.h> void main()

{printf ("\nHello world!\n"); }

Пример 2. Программа записана на языке С++

#include <iostream.h> int main()

{ cout <<"Hello world!"; return 0;}

Выберите команду Build Execute, чтобы скомпилировать, скомпоновать и

6

запустить программу. На экране должно раскрыться окно DOS. Строка Press any key to continue… (Нажмите любую клавишу для продолжения…) генерируется системой, чтобы дать возможность увидеть результат программы до того, как окно DOS будет закрыто.

4. ОФОРМЛЕНИЕ ПРОГРАММ

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

Писать программу лучше сначала на бумаге, а затем вводить программу в компьютер. Правильно оформленную программу легче отлаживать, кроме того, она производит хорошее впечатление.

5. ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ

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

Тип ИмяПеременной;

инструкцию объявления переменной можно использовать для инициализации переменной. В этом случае объявление переменной записывают следующим образом:

Тип ИмяПеременной = НачальноеЗначение

Требования к созданию имени переменной:

в имени переменной можно использовать буквы латинского алфавита и цифры (первым символом должна быть буква);

компилятор С++ различает прописные и строчные буквы, поэтому, например, имена Summa и summa обозначают разные переменные;

основными числовыми типами языка С++ являются int (целый) и float (дробный);

после инструкции объявления переменной рекомендуется указывать назначение переменной.

6. ИНСТРУКЦИЯ ПРИСВАИВАНИЯ

Приступая к решению задач этого раздела необходимо помнить, что:

инструкция присваивания предназначена для изменения значений переменных, в том числе и для вычислений «по формуле»;

в отличие от большинства языков программирования, в С++ инструкция присваивания может быть записана несколькими способами, например вместо x = x + dx можно записать x+ = dx, а вместо i = i + 1 можно воспользоваться

7

оператором инкремента и записать i++ ;

значение выражения в левой части инструкции присваивания зависит от типа операндов и операции, выполняемой над операндами;

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

7. ВЫВОД ДАННЫХ

Обеспечивая вывод на экран монитора, следует помнить, что:

функция printf обеспечивает вывод на экран монитора сообщений и значений переменных в языке С;

первым параметром функции printf является строка вывода, определяющая выводимый текст и формат вывода значений переменных, имена которых указаны в качестве остальных параметров функции;

формат вывода значений переменных задается при помощи спецификатора преобразования – последовательности символов, начинающейся с символа %;

при выводе числовых значений наиболее часто используются следующие спецификаторы: % d – для вывода целых, % u – для вывода беззнаковых целых, % i – для вывода целых с учетом знака, % f – для вывода дробных, в виде числа с плавающей точкой, % n.mf – для вывода дробных в формате с фиксированной точкой, где n – ширина поля, которая представляет собой целое положительное число, определяющее длину (в позициях на экране) представления выводимого значения, m – точность, которая представляет собой целое положительное число, определяющее количество цифр в дробной части внешнего представления вещественного числа (с фиксированной точкой) или его мантиссы (при использовании формы с плавающей точкой %e);

некоторые символы могут быть помещены в строку вывода только как последовательность других, обычных символов: \n – новая строка, \t – табуляция, \" – двойная кавычка, \\ – символ \;

наряду с функцией printf , для вывода на экран сообщений можно использовать функцию puts, которая после вывода текста автоматически переводит курсор в начало следующей строки;

в языке С++ нет встроенных средств ввода\вывода – он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используется два способа вывода: функции, унаследованные от языка С (как сказано было выше с помощью функции printf ), и объекты С++, имеющие заголовочный файл <iostream.h> и стандартный поток cout для вывода на экран (см. Пример 2).

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

Для того чтобы сразу после окончания работы программы окно, в котором программа работала, не было автоматически перекрыто другим окном, например, окном редактора текста среды разработки или панелями Norton Commander, в конец программы нужно вставить следующие две инструкции:

printf («Для завершения нажмите клавишу < Enter >»);

getch ();

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]