Пример выполнения лабораторной работы

Методические указания

К лабораторной работе №1

по дисциплине «Языки программирования»

Цель работы.

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

Краткие теоретические сведения.

Запуск студии разработчика Microsoft Developer Studio.

Запустите студию разработчика Microsoft Visual C++ в меню «Программы» в кнопке «Пуск», выбрав соответствующий ярлык (рис. 1).

Р и с. 1. Пиктограмма Microsoft Visual C++

 

После загрузки оболочки Microsoft Visual C++ выберите пункт меню File-> New. Появится диалоговый блок New. Выберите вкладку Files, из предложенного перечня выберите элемент «С++ Source File», чтобы создать новую программу (рис. 2). Введите имя файла в соответствующее поле и укажите директорию для сохранения проекта. Нажмите кнопку ОК.

 

Р и с. 2. Выбор элемента Text File для создания новой программы

 

Студия разработчика создаст новый файл и откроет окно для ввода текста программы.

Создание и редактирование исходного текста программы

 

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

Зарезервированные командные слова языка программирования С++ в среде программирования Microsoft Visual C++ выделяются синим цветом. Комментарии, которые сопровождаются соответствующими символами (// или /* */) и игнорируются компилятором, выделяются зеленым цветом.

Для отладки программы с проверкой ошибок без запуска на исполнение необходимо нажать клавишу F7 или в пункте меню Build выбрать команду Compile. Чтобы отладить программу и запустить ее на исполнение необходимо нажать клавиши Ctrl+F5 или в пункте меню Build выбрать команду Build.

На экране появится диалоговое окно с запросом о создании проекта Вашего приложения (рис 3). Нажмите кнопку «Да».

 

Р и с. 3. Запрос о создании нового проекта для создаваемой программы

 

 

Также нажмите кнопку «Да» в следующем появившемся диалоговом окне для сохранения программного кода программы.

Если компилятором будут найдены ошибки в тексте программы, то они будут перечислены в окне среды программирования, расположенной в нижней части экрана. Для определения строки текста программы, выдавшей каждую ошибку, кликните мышью дважды по соответствующей строке, начиная с верхней. В окне с текстом программы будет отмечена строка, где компилятор обнаружил ошибку, описанную в нижнем окне (рис. 4).

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

После исправления всех ошибок файл с Вашей программой будет скомпилирован, откроется окно для отображения результатов работы алгоритма, заложенного в программу (рис. 5).

 

Краткая теория.

Операторы ввода-вывода cin (ввод) и cout (вывод) библиотеки iostream.h.         

 

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

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

Ключевое слово endl обозначает вывод символа перехода курсора на новую строку.

Для ввода данных в переменные предназначен поток cin  с использованием разделителя (>>) между именами переменных и оператором.

 

 

Р и с. 4. Пример поиска ОШИБОК в программе

 

           

Р и с. 5. Окно ввода-вывода данных

 

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

 

#include <iostream.h>

void main()

{int t;

float f1, f2;

cout <<"Введите целое число: ";

cin>>t; //ввод данных в переменную t

cout <<"Введите два вещественных числа: ";

cin>>f1>>f2; //ввод данных в переменные f1 и f2

cout <<"Значение первой переменной: "<<t<<endl;

f1=2*f1;

cout <<"Удвоенное значение второй переменной: "<<f1<<endl; 

cout <<"Утроенное значение третьей переменной: "<<3*f2<<endl;       

//вывод данных на экран                

}

          

Результат работы выше приведенного программного кода:

Введите целое число: 5

Введите два вещественных числа: 1.2 3.5

Значение первой переменной: 5

Удвоенное значение второй переменной: 2.4

Утроенное значение третьей переменной: 10.5

Таблица 1 – Функции математической библиотеки math.h

acos(t)   ­ Вычисляет арккосинус  
asin(t)   ­ Вычисляет арксинус  
atan(t)   ­ Вычисляет арктангенс  
atan2(t)   ­ Вычисляет арккотангенс  
ceil(t)   ­ Округление до ближайшего с избытком целого числа  
cos(t) ­ Вычисляет косинус  
cosh(t)   ­ Вычисляет гиперболический косинус  
exp(t)   ­ Вычисляет экспоненциальную функцию et  
fabs(t)   ­ Вычисляет абсолютное значение числа с плавающей точкой  
floor (t) fmod (t)   ­ Округление до ближайшего с недостатком, целого числа ­ Вычисляет остаток от деления чисел с плавающей точкой  
log(t)   ­ Вычисляет натуральный логарифм  
log10(t)   ­ Вычисляет десятичный логарифм  
modf(t)   ­ Выделяет целую и дробную часть аргумента  
pow (a,b)   ­ Вычисляет значение ab  
sin(t)   ­ Вычисляет синус  
sinh (t) sqrt (t) tan (t) tanh(t)   ­ Вычисляет гиперболический синус ­ Вычисляет квадратный корень ­ Вычисляет тангенс ­ Вычисляет гиперболический тангенс

Пример.

#include <iostream.h> // библиотека для функций ввода-вывода

#include <math.h> // библиотека с математическими функциями

void main()  // главная функция программы

{float x,y; // объявление переменных

cout<<"Введите вещественное число\n: " ; // вывод сообщения на экран

cin>>x; // ввод значения в переменную х

y=cos(x); // расчет значения переменной y

cout<<"\n Значение cos("<<x<<")="<<y<<endl; // вывод результата на экран

y=pow(x,2); // расчет значения переменной y

cout<<"\n Значение "<<x<<"^2="<<y<<endl; // вывод результата на экран

}

4. Пример разработки, отладки и пошагового тестирования программы на языке С++.

3адание: вычислить значение выражения

а=1000, b=0.0001,

 используя различные вещественные типы данных (float и double).

Решение.

Создадим в среде программирования Visual C++ файл под названием 1lab.cpp. Разработаем программный код приложения для решения поставленной задачи (рис. 6).

Р и с. 6. Листинг программы

 

Для проверки синтаксиса разработанной программы используем клавишу F7. В списке выявленных ошибок в нижней части экрана (см. рис. 4) кликаем дважды по каждой из строк с сообщением об ошибке (error), начиная с верхней. Указатель в виде синей стрелки подскажет строку программного кода, в которой найдена эта ошибка.

После устранения всех ошибок возможен запуск программы с помощью клавиш Ctrl+F5 для просмотра получаемых результатов (рис. 7).

 

Р и с. 7. Результаты работы программы

 

Для пошаговой отладки программы с целью просмотра значений переменных для промежуточных расчетов необходимо поставить точку останова (breakpoint) в начале программного кода с помощью клавиши F9 или с помощью клавиши . Точка останова будет помещена на строку, на которой в настоящее время расположен курсор. Удаление точки останова производится с помощью повторного нажатия на те же клавиши. Точка останова изображается на экране в виде красного кружка (рис. 8, 9).

Режим пошаговой отладки будет запущен нажатием клавиши F5 или на кнопку  панели инструментов.

Для отладки необходимо использовать меню Debug, которое отображается на экране автоматически при запуске режима отладки. Если этого не происходит, то необходимо нажать правой клавишей манипулятора мышь на панели инструментов и в появившемся окне включить это меню (рис. 8).

Для построчного выполнения операторов программы используйте кнопку  меню Debug или клавишу F10.

 

Р и с. 8. Открытие меню  Debug

Внизу экрана будет отображено два окна. В одном из них (рис. 8 – слева) автоматически указываются переменные, используемые в выполняемом операторе, и их значения. Если переменная меняет свое значение, то это отображается подсветкой соответствующей строки текста красным цветом (рис. 9).

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

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

Просмотр значения переменной можно также производить с помощью кнопки  меню Debug (рис. 10), предварительно выделив ее имя или поставив на него курсор (применяется в том числе для просмотра значений элементов массива). Для одиночных переменных достаточно навести курсор на имя интересующей переменной и подождать (не кликая по ней!). Появится всплывающее окно со значением этой переменной (рис. 9).

 

Р и с. 9. Процесс пошаговой отладки и тестирования программы

 

Р и с. 10. Просмотр значения переменной с помощью клавиши .

 

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

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

5.2. Оформить отчет.

 

Содержание отчета.

Отчет по лабораторной работе должен содержать:

· задание на лабораторную работу;

· тексты программ;

· исходные данные и результаты вычислений (в виде текста или скриншотов);

· выводы.

 

 

Пример выполнения лабораторной работы.

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

Результаты разработки программы приведены на рисунках 11-13.

 

 

Р и с. 11. Программный код созданного приложения

 

Р и с. 12. Пример поиска ОШИБОК в программе

 

           

Р и с. 13. Окно ввода-вывода данных

 

 

Варианты заданий.

Вариант 1.

1) Разработать программу для решения задачи нахождения значения y по заданному х при выполнении следующих условий:

 

2) Разработать программу для решения следующей задачи. В такси одновременно сели три пассажира . Когда вышел первый пассажир, на счетчике было р1 рублей; когда вышел второй пассажир – р2 рублей. Сколько должен заплатить каждый пассажир, если по окончанию поездки счетчик показал р3 рублей? Плата за посадку составляет р0 рублей. Проверить правильность ввода данных: р0<р1<р2<р3, значения всех вводимых данных положительные.

 

Вариант 2.

 

1) Разработать программу для решения задачи нахождения значения y по заданному х. При запуске программы вывести на экран меню, содержащее три пункта с описанием различных способов определения значения переменной y. Пользователь должен выбрать вариант алгоритма расчета из следующего множества:

· y= ,

· y= ,

· y=5x.

2) Заданы три числа: а, в, с. Определить, могут ли они быть сторонами треугольника, и если да, то определить его тип: равносторонний, равнобедренный, разносторонний. Условия существования треугольника: q1<q2+q3, где qi –  стороны треугольника, q1 – сторона максимальной длины.

 

Вариант 3.

1) Разработать программу для решения задачи нахождения значения y по заданному х при выполнении следующих условий:

2) Разработать программу для решения следующей задачи. Суточный рацион коровы составляет р1 кг сена, р2 кг силоса, р3 кг комбикорма. На ферме, содержащей стадо из х коров осталось у1 центнеров сена, у2 тонн силоса, у3 мешков комбикорма по 50 кг. Сколько еще дней ферма сможет кормить коров по полному рациону? Какой из кормов закончится быстрее других? В программе нужно проверить допустимость введенных пользователем исходных данных.

 

Вариант 4.

 

3) Разработать программу для решения задачи нахождения значения y по заданному х. При запуске программы вывести на экран меню, содержащее три пункта с описанием различных способов определения значения переменной y. Пользователь должен выбрать вариант алгоритма расчета из следующего множества:

· y= ,

· y= ,

· y= .

 

2) Разработать программу для решения следующей задачи. Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и первое число – понедельник. Проверить допустимость введенного пользователем числа D.

 

Вариант 5.

1) Разработать программу для решения задачи нахождения значения y по заданному х при выполнении следующих условий:

 

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

 

Контрольные вопросы.

1) Какова последовательность разработки программ в среде программирования Microsoft Visual C++?

2) Какие функции позволяет использовать подключение к файлу программы заголовочных файлов?

3) Какие типы данных использованы в программе, какие диапазоны значений могут быть переданы с помощью объявленных в программе переменных?

4) Каким образом происходит процесс отладки программы?

5) Какие операторы условного ветвления языка программирования С++ вы знаете? Каков их синтаксис?

6) Какие операторы ввода-вывода данных использованы в вашей программе? Каков их синтаксис?

7) Какие математические функции использованы в вашей программе?

8) Что такое составной оператор? Каким образом он оформляется в программе на языке программирования С++?

 

 

Список литературы

1. Страуструп, Б. Язык программирования C++ = The C++ programming language: специальное издание / Б. Страуструп; пер. с англ. С. Анисимова и М. Кононова; под ред. Ф. Андреева и А. Ушакова. – М.: Бином-Пресс, 2008. – 1104 с.

2. Винокуров, Н. А. Практика и теория программирования : учебное пособие: в 2 кн. / Н. А. Винокуров, А. В. Ворожцов. Кн. 2. – М. : Физматкнига. – 2008. – 284 с.

3. Подбельский, В. В. Язык СИ++: учебное пособие / В. В. Подбельский. – 5-е изд. – М.: Финансы и статистика, 2008. – 560 с.

4. Павловская, Т. А. С/С ++. Программирование на языке высокого уровня: учебник / Т. А. Павловская. – Cанкт-Петербург: Питер, 2010. – 461 с.

5. Культин, Н. Б. С/С ++ в задачах и примерах / Н. Б. Культин. – Санкт-Петербург : БХВ-Петербург, 2009. – 350 с.

6. Дейтел , Х. М. Как программировать на C++ / Х. М. Дейтел, П. Дж. Дейтел; пер. с англ. под ред. В. В. Тимофеева .— 5-е изд. / пер. с англ. — М. : Бином, 2008. – 1456 с.

7. Баженова, И. Ю. Введение в программирование: учебное пособие / И. Ю. Баженова, В. А. Сухомлин. – М.: Бином. Лаборатория знаний : Интернет-Университет Информационных Технологий, 2007. – 326 с.

8. Шилдт, Г. C++: базовый курс / Герберт Шилдт; пер. с англ. и ред. Н.М. Ручко. – 3-е изд. – Москва : Вильямс, 2011. – 624 с.

9. Павловская, Т. А. С/С++. Структурное и объектно-ориентированное программирование: практикум / Т. А. Павловская, Ю. А. Щупак. – Санкт-Петербург: Питер, 2011. – 352 с.

 


Дата добавления: 2018-04-05; просмотров: 419; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!