![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Организация повторения программыСтр 1 из 23Следующая ⇒
Лабораторная работа №1 Тема: “Программы, использующие команды ветвления. Отладка программы Отладку программы выполняют для поиска логических ошибок в программе. Перед отладкой необходимо откомпилировать программу (F7). Отладка осуществляется с помощью пошагового выполнения программы и просмотра текущих значений переменных. Для просмотра текущего значения переменной нужно поставить курсор на строку, следующую за строкой с интересующей нас переменной, и поставить точку останова программы <F9>. Далее нажать кнопку <F5> для выполнения программы до данной строки. Значение переменной будет отображено на вкладке Locals в нижней части экрана. Можно также просто перетащить переменную на вкладку Watch. Вкладки Locals и Watch Команды отладчика: <Ctrl> + <F10> -выполняет программу до строки, в которой находится курсор. <F10> - выполняет один шаг программы (одну строку); подпрограммы выполняются как один шаг. <F11> - если курсор стоит на строке, в которой выполняется вызов подпрограммы, то выполняется заход в подпрограмму. <F5> - выполняет программу до той строки, где стоит точка останова программы, в случае если таких точек нет, программа выполняется полностью. <F9> - поставить/снять точку останова программы <Shift> + <F5> - останавливает отладку программы. Эти клавиши необходимо нажимать, когда активно окно с текстом программы. Сделать нужное окно активным можно щелчком мыши в этом окне, или с помощью панели задач, или с помощью комбинации клавиш <Alt> + <Tab>. Часть 1 Ветвление в программе с помощью вложенных конструкций if-else
Задание
Запустите среду программирования Microsoft Visual Studio 2005. Вы увидите стартовую страницу данной среды разработки. Далее создайте проект консольного приложения. Для этого выполните команду меню File|New|Project (или нажмите <Ctrl>+<Shift>+<N>). Затем выберите тип проекта (Project types:) Visual C++, если дерево доступных проектов еще не открылось нажмите левой клавишей мыши по значку «+» с лева от названия типа проекта. Теперь нажмите Win32, выберите из предоставленных шаблонов (Templates:) Win32 Console Application введите в поле Name: свою фамилию латинскими буквами. В поле Location: C:\Work (см. рисунок). Создание нового консольного приложения
Перед вами появится окно мастера создания проектов (см. рисунок на следующей странице). Нажмите кнопку Next>.
В следующем окне в поле Additional Options: установите флажок Empty project (см. рисунок).
Нажмите кнопку Finish. В следующем окне щелкните правой клавишей мыши по папке Source Files на вкладке Solution Explorer, выберите пункт выпадающего меню Add|New Item… Перед вами появится окно мастера Add New Item. В появившемся окне в разделе Categories: (находится слева)выберите Code (см. рисунок). Затем в разделе Templates: выберите C++ File (.cpp) и в поле Name введите имя файла: свою фамилию латинскими буквами. Затем нажмите кнопку Add. Набирая далее текст программы, периодически нажимайте <Ctrl>+<S>, при этом выполняется команда Save и сохраняется текущее состояние программы. Делать это необходимо во избежание потери результатов своей работы. Пример 1 В качестве первого примера рассмотрим программу, которая считывает два числа и находит частное от деления первого числа на второе. Программа сопровождается комментариями, которые начинаются со знака //. Наберите текст программы (комментарии набивать не нужно!). Команды языка С++ должны заканчиваться точкой с запятой.
// С помощью команды #include подключаются дополнительные #include <iostream> // обеспечивает потоковый ввод-вывод #include <windows.h> // обеспечивает использование русских букв using namespace std; // определяет пространство имен
int main()// выполнение программы всегда начинается с этой строчки // команды программы всегда пишут внутри блока (внутри фигурных { SetConsoleCP(1251); // подключаем кодовую страницу CP 1251 SetConsoleOutputCP(1251); // то же для вывода cout << "Задайте два числа "; // выводим текст на экран double a, b, c; // объявляем переменные cin >> a >> b; // считываем два числа (при вводе числа должны разделяться пробелами) if (b) // если b не равно 0 { c = a / b; // находим частное (присваивание выполняется справа налево cout << "Их частное: " << c << endl; // выводим результат на экран } Else // в противном случае (если b равно 0), выводим сообщение об ошибке cout << "Второе число должно быть не равно 0\n";
return 0; // программа должна заканчиваться этой командой }
//============================================================
Запустите программу, нажав <Ctrl> + <F5>. В появившемся окне нажмите Yes. Скорее всего сначала Вы увидите сообщения об ошибках (но если вы ВНИМАТЕЛЬНО!!! набирали, ошибок НЕ будет). Исправляя ошибки, нужно начинать с первой, поскольку ошибки могут быть наведенными, т.е. одна ошибка может повлечь за собой множество сообщений. Нажмите <F8>, исправьте ошибку в выделенной строке и опять нажмите <F8>. Повторяйте эти действия, пока программа не запустится. ВАЖНО!!! Для того, чтобы вы могли работать с русскими символами, необходимо при первом запуске вашего приложения правой клавишей мыши щелкнуть на заголовке консольного окна. Затем выбрать пункт выпадающего меню Умолчания, перейти на вкладку Шрифт и выбрать там шрифт Lucida Console и нажмите OK. На вопрос хотите ли вы применить эти свойства только к текущему окну или ко всем окнам с тем же именем выберете, применить ко всем окнам с тем же именем.
Задайте какие-либо исходные данные и получите ответ.
Пример 2
В качестве второго примера возьмем программу решения уравнения Наберите нижеследующий текст программы. Обязательно делайте отступы, используя клавишу <Tab>. Это делает структуру программы более понятной. ВАЖНО!!! Для того, чтобы вы могли работать с русскими символами, необходимо при первом запуске вашего приложения правой клавишей мыши щелкнуть на заголовке консольного окна. Затем выбрать пункт выпадающего меню Умолчания, перейти на вкладку Шрифт и выбрать там шрифт Lucida Console и нажмите OK. На вопрос хотите ли вы применить эти свойства только к текущему окну или ко всем окнам с тем же именем выберете, применить ко всем окнам с тем же именем.
#include <iostream> //!!! Потоковый ввод/вывод #include <math.h> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); cout<<"Программа решает уравнение вида A*x*x + B*x + C = 0\n"; cout<<"Введите A,B,C, разделяя их пробелом "; double a=0,b=0,c=0,x1=0,x2=0; cin >> a >> b >> c; if (a!= 0) // Решение квадратного уравнения: { double d = b*b - 4*a*c; //формула вычисления дискриминанта if (d > 0) { x1 = (-b + sqrt(d)) / (2*a); x2 = (-b - sqrt(d)) / (2*a); cout << "Уравнение имеет два корня: " << x1 <<" и "<< x2 << endl; } else if (d == 0) { x1=(-b) / (2*a); cout<<"Уравнение имеет один корень: " << x1 << endl; } else cout<<"Действительных корней нет\n"; } else // Решение линейного уравнения b*x + c = 0: { if (b) // Если b!= 0 { x1 = -c / b; cout<<"Уравнение имеет один корень: " << x1 << endl; } else if (!c) // Если с == 0 cout<<"Решением уравнения является любое число \n"; else cout<<"Уравнение не имеет решений\n"; } return 0; } Организация повторения программы Для того чтобы предоставить возможность не перезапускать программу при вводе нового набора исходных данных, используют повторение всей программы с помощью цикла do следующим образом:
#include … … #include <conio.h> /* Необходимо подключить этот файл для использования фнкции _getch() */ using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251);
Do {
… //текст программы
} while (_getch()!= 27); return 0; } } Повторение происходит при нажатии любой клавиши на клавиатуре после получения окончательного ответа программы. При нажатии клавиши <Esc> происходит остановка программы.
Date: 2016-08-30; view: 294; Нарушение авторских прав |