Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Касаткин С., Раткевич И., Травова Н. - Лаборато...doc
Скачиваний:
24
Добавлен:
22.11.2019
Размер:
1.01 Mб
Скачать

Пример 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

В качестве второго примера возьмем программу решения уравнения для любых a, b, c. Известно, что решением этого уравнения являются , где d = b2 - 4ac при . Хорошая программа должна выдавать ответ в любом случае, поэтому мы должны рассмотреть все возможные варианты ответа. Если , то наша программа будет решать квадратное уравнение, в противном случае – линей­ное. В каждом из этих случаев должен быть выдан один из трех вариантов ответа, следовательно, всего эта программа должна выдавать один из шести вариантов сообще­ний.

Наберите нижеследующий текст программы. Обязательно делайте отступы, используя клавишу <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;

}