Выполнение программы в пошаговом режиме

Отобразите в окне Watch имена всехпеременных, ис­поль­зуемых в программе.

Выполните пошаговое выполнение программы (F10) для следующих исходных данных:

1 2 –3

1 2 1

1 2 3

0 2 3

0 0 2

0 0 0

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

 

Задание для самостоятельного выполнения

 

Создайте новый проект под своей фамилией с индексом 2 (например Ivanov2). Помните, что имя программы должно быть записано латинскими буквами.

 

Напишите программу для решения системы двух линейных уравнений:

Используйте формулы:

Программа должна выдавать один из трех вариантов ответов:

Если , то и

иначе если , то “бесконечное множество решений”,

иначе “решений нет”.

(Правда, следует отметить, что во втором случае для системы типа

должен выдаваться ответ “нет решений”. )

 

Организуйте повторение программы.

 

Отобразите в окне наблюдения (Watch) все переменные, используемые в программе, и выполните программу в пошаговом режиме для следующих наборов данных:

1) 2 3 –5 2) 2 -2 3 3) 2 -2 3

3 -2 12 4 -4 6 4 -4 7

Определите, что должна выдавать программа в каждом из этих случаев и проверьте правильность работы программы.

Продемонстрируйте результаты своей работы преподавателю.

 

Часть 2

Ветвление в программе с помощью оператора switch

 

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

Напечатайте текст нижеследующей программы.

 

#include<iostream> //!!! Потоковый ввод/вывод

#include <math.h>

#include <conio.h>

#include <windows.h>

using namespace std;

//!!! Используем стандартное пространство имён

int main()

{

if(SetConsoleCP(1251)==0)

//проверка правильности установки кодировки символов для ввода

{

cerr<<"Fialed to set codepage!"<<endl;

/* если не удалось установить кодовую страницу, вывод сообщения об ошибке */

}

if(SetConsoleOutputCP(1251)==0)//тоже самое для вывода

{

cerr<<"Failed to set OUTPUT page!"<<endl;

}

cout<<"Введите строку: "<<endl;

char ch=0;

// счетчики, которые будут хранить количество букв:

int counta = 0, countu = 0, counto = 0, count = 0;

while((ch=cin.get())!='\n')

{

switch (ch)

{

case 'а':

case 'А': counta++; break;

case 'у':

case 'У': countu++; break;

case 'о':

case 'О': counto++; break;

//подсчитываются только видимые символы:

default: if (ch>32 || ch < 0) count++;

}

}

cout<<"Количество букв \"а\" = " << counta << endl;

cout<<"Количество букв \"у\" = " << countu << endl;

cout<<"Количество букв \"о\" = " << counto << endl;

cout<<"Количество остальных символов = " << count << endl;

_getch();

/* Используйте вызов этой функции при запуске программы клавишей <F5>, чтобы в режиме отладки не закрывалось окно, в котором отображаютcя результаты ра­бо­ты программы*/

return 0;

}

 

В этой программе оператор switch повторяется командой while. При каждой проверке условия цикла из входного потока считывается один символ функцией get(). Прочитанный символ сравнивается с символом '\n' , который соответствует нажатию клавиши <Enter>. Если нажата клавиша <Enter>, ввод заканчивается и программа выдает результат на экран.

Выполните программу в пошаговом режиме.

 

Задание для самостоятельного выполнения

 

Напишите программу, которая считывает с клавиатуры число типа double, затем символ, обозначающий знак операции (+ - * / % ^) и второе число типа double. С помощью оператора switch организуйте проверку символа и выполнение соответствующей операции для заданных чисел (если это возможно). Знак ^ используйте для обозначения возведения в степень. Возведение в степень в C выполняется функцией pow(x,y), которая возводит x в степень y. Для того, чтобы использовать эту функцию, не забудьте вставить в начало файла #include <math.h>

Организуйте повторение всей программы до нажатия клавиши <Esc>.

Продемонстрируйте результаты своей работы преподавателю.


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

Тема: “Программы, использующие команды повторения (циклы). Рекур­рент­ные соотношения“

Часть 1