Лабораторная работа №1, страница 2

2018-01-11СтудИзба

Описание файла

Документ из архива "Лабораторная работа №1", который расположен в категории "". Всё это находится в предмете "основы программирования" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "основы программирования" в общих файлах.

Онлайн просмотр документа "Лабораторная работа №1"

Текст 2 страницы из документа "Лабораторная работа №1"

Если при компоновке многофайлового проекта посредством команды Build вы получаете сообщения об ошибках компиляции или сборки, которые вы не можете объяснить, то настоятельно рекомендуем вам воспользоваться командой Rebuild All.

□ Start Debugging (F5)— выполнение исполняемого файла, созданного в результате компоновки проекта в режиме отладки.

Рис. 1. Схема подготовки программы для исполнения в среде компилятора

Откомпилируйте проект, щелкнув на кнопке Build (F7). Диагностические сообще­ния компилятора и компоновщика отображаются в окне вывода Output. Мы надеемся, что у вас все будет в порядке и последняя строка в окне вывода будет выглядеть так:

First.exe - 0 error(s), 0 warning(s)

Теперь запустите приложение на выполнение, щелкнув на зеленом треугольнике (Ctrl+F5).

На приглашение ввести строку введите любую строку, например Hello, World!, и нажмите Enter.

Мы не будем здесь разбираться, почему программа вывела «обрезанную» строку Hello, (проблема ввода-вывода строк будет частично рассмотрена ниже).

Попробуйте заменить в программе оператор вывода

cout << "Welcome to C++ !" << endl;

следующим оператором:

cout << "Добро пожаловать в C++ !" << endl;

Откомпилируйте (точнее говоря, скомпонуйте) программу и запустите ее на вы­полнение. Результат будет настолько безобразным, что рисунок-копию экрана мы здесь приводить не станем.

1.4.2. Проблемы с вводом-выводом кириллицы

Работа в среде Visual C++ 2005 (в режиме консольных приложений) сопряжена с определенными неудобствами, вызванными различными стандартами кодировки символов кириллицы в операционных системах MS DOS и Windows. Напомним, что весь ввод-вывод в консольном окне идет в кодировке стандарта ASCII, а текст в исходных файлах, набираемый в текстовом редакторе Visual C++, имеет кодировку в стан­дарте ANSI. Символы кириллицы, в отличии от символов латинского алфавита, в этих стандартах имеют различную кодировку.

Для устранения неудобств работы с кириллицей можно включить в программу оператор #include “ConsolCyr.h”, предварительно поместив файл ConsolCyr.h в папку, в которую помещается файл с исходным текстом программы (файл находится в папке с заданиями на выполнение ЛР, которые вы можете получить у преподавателя). Это позволит вам при выполнении лабораторных работ (но не во всех случаях) устранить проблемы, связанные с использованием кириллицы.

Если в ЛР не требуется вводить с клавиатуры кириллицу (а только выводить символы кириллицы), то лучше вставить в начало функции main() оператор setlocale(0,”rus”), но при этом не использовать одновременно оба средства.

////////////////////////////////////////////

#include <iostream >

//#include "ConsolCyr.h"

using namespace std;

int main(){

//setlocale(0, "rus");

char str1[80];

cout << "Welcome to C++ !" << endl;

cout << "Введите строку:" << endl; //введите строку: Привет, мир!

cin >> str1;

// cout <<"The value str1 = " << endl;

cout << "Знaчение строки str1 = " << endl;

cout << str1 << endl;

return 0;

}

//////////////////////////////////////////////////////////

Ничего не принимайте на веру. Откомпилируйте эту программу и убедитесь, что она дает ожидаемый результат. Для того, чтобы можно было просмотреть результаты работы программы в окне DOS до его закрытия, удобно в конце программы перед оператором return вставить оператор system("pause").

1.5. Замечания по потоковому вводу-выводу

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

Потоковый ввод-вывод автоматически выполняет форматирование данных в соответствии с типом переменной, стоящей справа от знака операции.

Потоковый ввод-вывод будет рассматриваться подробно при изучении объектно-ориентированного программирования, а пока вам нужно запомнить синтаксис операторов потокового ввода–вывода, чтобы использовать его в разрабатываемых программах.

Задание.

  1. С целью освоения потокового ввода-вывода измените программу так, чтобы она печатала введенную строку Привет, мир! полностью, используя для хранения введенного текста только один буфер (массив символов str1). В остальном вид экрана должен остаться прежним. Строка вводится с клавиатуры только один раз.

  2. Разработайте программу, которая вводит два целых числа и выводит их сумму.

1.6. Конфигурация проекта

Visual C++ позволяет строить проект либо в отладочной конфигурации (Win32 Debug), либо в выпускной конфигурации (Win32 Release). Мы рекомендуем вам всегда работать с проектами в отладочной конфигурации. Обычно она установле­на по умолчанию. Все же не мешает проверить, с какой конфигурацией на са­мом деле идет работа. Для этого выберите в меню Project пункт Settings... От­кроется диалоговое окно Project Settings. Проверьте, какое значение установлено в окне комбинированного списка Settings For:.. Если это не Win32 Debug, то переключитесь на нужное значение через команду меню Build ► Set Active Con­figuration...

1.7. Как закончить работу над проектом

Можно выбрать меню File, пункт Close Solution. А можно просто закрыть прило­жение Visual C++.

1.8. Как открыть проект, над которым вы работали ранее

1. Способ первый:

  • Запустите на выполнение Visual C++.

  • Выберите меню File, пункт Open ...

  • В открывшемся диалоговом окне найдите папку с вашим проектом, а в ней — файл ProjectName.vcproj.

  • Откройте этот файл, щелкнув по нему мышью.

2. Способ второй:

■ Запустите на выполнение Visual C++.

  • Выберите меню File, наведите курсор мыши на пункт Recent Workspaces.

  • Если в появившемся меню со списком последних файлов, с которыми шла
    работа, вы найдете интересующий вас файл ProjectName.vcproj, то щелкните по
    нему мышью.

3. Способ третий:

  • Не вызывая Visual C++, найдите папку с вашим проектом, а в ней — файл
    ProjectName.vcproj.

  • Щелкните мышью на файле ProjectName.vcproj.

1.9. Встроенная справочная система

В IDE Visual С ++ имеется обширная справочная система, доступная через меню Help главного окна.

Кроме этого, очень удобно пользоваться интерактивной справкой: если вы нахо­дитесь в окне Editor, поставьте текстовый курсор на интересующий вас оператор или библиотечную функцию C++ и нажмите клавишу F1. Тотчас будет вызвана справочная система MSDN (если она установлена) с предоставлением необходимой информации. Если запрошенный термин встречается в разных разделах MSDN, то сначала появится диалоговое окно «Найденные разделы». В списке разделов выберите тот, в котором упоминается «Visual C++».

Задание.

Найдите в справочной системе информацию об операторе for. То, что она написана на английском языке, не должно вас останавливать.

Для программирования в среде Visual C++ Вам следует изучить английский на столько, чтобы понимать сообщения компилятора и тексты справочной системы! Поверьте, это не так уж сложно, так как число сообщений ограничено, а в справочной системе широко использованы копирование и вставка. Для ускорения работы установите на своем компьютере англо-русский словарь, например ABBYY Lingvo.

1.10. Работа с отладчиком

Полное описание возможностей встроенного отладчика Visual C++ и приемов ра­боты с ним может потребовать отдельной книги, настолько объемна эта тема. По­этому здесь приведены только начальные сведения о работе с отладчиком Visual C++. Проще всего это сделать, написав программу, заведомо содержащую несколько ошибок, а затем показав, как с помощью отладчика можно найти и исправить эти ошибки.

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

Кроме того, программу можно выполнять последовательно, строку за строкой — такой процесс называется пошаговым выполнением. Этот режим позволяет следить за тем, как изменяются значения различных переменных. Иногда он помогает по­нять, в чем заключается проблема: если обнаруживается, что переменная прини­мает неожиданное значение, то это может послужить отправной точкой для выяв­ления ошибки. После обнаружения ошибки ее можно исправить и выполнить программу заново в отладочном режиме.

Назовем нашу программу (проект) именем Buggy. Программа должна вычислять среднее арифметическое первых пяти натуральных чисел: 1-5. Нетрудно догадаться, что ответ должен быть равен 3, однако из-за специально сделанных ошибок программа первоначально будет выдавать неправильный ответ.

Для создания программы выполните следующие действия:

  • Создайте проект типа «консольное приложение» с именем Buggy.

  • Добавьте к проекту файл buggy.срр и заполните его следующим текстом:

#include <iostream>

using namespace std;

int main()

{ const N = 5;

int a[N] = {1, 2, 3, 4, 5};

float sum, average;

int i;

for (i = 1: i < N: i++)

sum = sum+a[i];

average = sum / N;

cout << "average = " << average << endl;

return 0;

}

□ Откомпилируйте проект.

□ Запустите программу на выполнение.

Вы должны увидеть в консольном окне приложения нечто вроде следующего ре­зультата:

average = -2.14748e+007,

т. е. программа вычислила, что среднее арифметическое первых пяти целых чисел
равно -21474800 (на вашем компьютере может быть и другое число), а это мало
похоже на число 3.0.

Начнем отладку нашей злополучной программы.

1.10.1. Установка точки прерывания

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

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

1.10.2. Выполнение программы до точки прерывания

Программа запускается в отладочном режиме с помощью команды Build ► Start Debug (или нажатием клавиши F5).

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

  • Установите точку прерывания перед оператором for.

  • Запустите программу в отладочном режиме, нажав клавишу F5.

Обратите внимание — в Visual C++ на панели инструментов появилось меню Debug. Загля­нем в него из любопытства.

Среди различных команд этого меню особый интерес представляют команды Step Into (F11), Step Over (F10), Step Out (Shift+F11), Run To Cursor (Ctrl+F10) и Stop Debug­ging (Shift+F5).

Выбор последней команды (или нажатие комбинации клавиш Shift+F5) вызывает завершение работы с отладчиком.

1.10.3. Пошаговое выполнение программы

Нажимая клавишу F10, можно выполнять один оператор программы за другим.

Предположим, что при пошаговом выполнении программы вы дошли до строки, в которой вызывается некоторая функция func1(). Если вы хотите пройти по коду вызываемой функции, то надо нажать клавишу F11. Если же внутренняя рабо­та функции вас не интересует, а интересен только результат ее выполнения, то надо нажать клавишу F10.

Допустим, что вы вошли в код функции func1(), нажав клавишу F11, но через не­сколько строк решили выйти из него, т. е. продолжить отладку после возврата из функции. В этом случае надо нажать клавиши Shift+F11.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее