Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример текста линейной программы




Задание:

1) изучить структуру программы на языке С/С++;

2) изучить средства потокового ввода/вывода в языке С++;

3) изучить этапы создания консольной диалоговой программы в среде Microsoft Visual Studio 2017;

4) освоить навыки отладки программы при ее создании в среде программирования (программу из примера 2);

5) решить задачу согласно индивидуальному варианту (в тетради для отчетов по практическим работам);

5.1) с применением средств консольного ввода/вывода (см. пример2);

5.2) с применением средств форматированного ввода/вывода (см. пример 1);

6) сдать программы в электронном виде преподавателю;

7) подготовиться к защите работы по контрольным вопросам.

 

Контрольные вопросы и задания.

1. Что представляет собой консольная программа?

2. Опишите технологию создания консольной программы на языке С/С++ в среде Microsoft Visual Studio 2017.

3. Объясните, что содержат файлы со следующими расширениями *. cpp, *. obj, *. exe?

4. Запишите текст программы из примера 2, и поясните, из каких разделов состоит структура программы на языке С/С++?

5. Для чего в программе на языке С/С++ используется директива # include?

6. Какие заголовочные файлы библиотек были использованы в программе? Объясните назначение соответствующих библиотек.

7. Что означает в программе строка void main ()?

8. Как оформляются комментарии в программе на языке С/С++?

9. Что такое входной поток?

10. Что такое выходной поток?

11. Перечислите, какие средства потокового ввода/вывода языка С++ были использованы для организации ввода данных с клавиатуры и вывода данных на экран. Приведите примеры и поясните.

12. Какие средства языка С++ использовались для организации корректной работы с вводимыми и выводимыми данными на русском языке? Запишите их и поясните.

13. Какие манипуляторы потокового вывода использовались в программе? Привести

14. примеры и пояснить.

Пояснения к работе

Понятие консольной программы

Консоль (Console) – представляет собой совокупность клавиатуры и монитора.

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

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

 

Структура программы на языке С/С++

Общая структура программы на С++ имеет вид (рис.1):

 

директивы_препроцессора

определение_функции_1

определение_функции_2

........

определение_функции_N

Рисунок 1

Назначение элементов программы описано ниже.

Среди функций обязательно присутствует главная функция с именем main. Простейшая программ на С++ содержит только главную функцию и имеет следующую структуру (рис.2):

 

Директивы_препроцессора

     
заголовок главной функции
 
тело  главной функции


void main ()

 


{

Определение главной функции
определение_объектов;

операторы;

return;


         }

 

Операторы – это выражения в С++, завершаемые точкой с запятой

Рисунок 2

Разберем пример простейшей программы на языке С++, которая выведет на экран текст "Hello!"

#include <iostream> /* директива препроцессора #include, которая

подключает заголовочный файл потоковой

 библиотеки iostream, из которой мы будем брать средства для вывода информации на экран*/

void main()//заголовок нашей программы – главной функции

{        //открываем блок операторов главной функции

cout << " Hello! "; //вывод сообщения " Hello! " на экран

return; //указываем, что возвращает функция после завершения работы

}        //закрываем блок операторов главной функции

 

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

 

 Что такое поток и потоковый ввод/вывод в языке С++?

Поток – это последовательность байтов, передаваемая в процессе ввода-вывода.

При организации ввода-вывода данных различают входной и выходной поток.

 

 

При выводе на экран (т.е. на консоль) модель выходного потока можно изобразить таким образом:

 


Рисунок 3. Модель выходного потока при выводе данных на экран (консоль)

 

Буфер вывода – это область оперативной памяти, куда программа передает байты данных. Т.е. выходной поток предполагает передачу данных из программы на внешне устройство, например в данном случае, экран монитора. В представленном выше примере программы мы применили для вывода на экран объект cout из библиотеки iostream, связанный со стандартным потоком вывода, и операцию << - операция вывода из потока на экран.

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

При вводе данных с клавиатуры модель входного потока можно представить следующим образом:

 


Рисунок 4. Модель входного потока при вводе в программу данных с клавиатуры

 

Буфер ввода – это область оперативной памяти, в которой размещаются вводимые в данном случае, с клавиатуры, байты данных. Как видно, далее, они будут переданы в программу.

Примечание: в языке С, кроме представленных выше средств (cin, cout – средства потокового ввода/вывода) существуют другие средства для организации ввода с клавиатуры и вывода на экран, например средства форматированного ввода/вывода из стандарта С,

функции printf() и scanf() из библиотеки stdio.h.

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

 

Далее в программа мы будем применять средства потокового ввода-вывода из библиотеки iostream.h

Рассмотрим на примере текста программы.

 

Пример текста линейной программы

 

Условие задачи: создать программу вычисления значения функции y=sin(2x3)+1;

Постановка задачи: разработать программу для вычисления значения функции y=sin(x)2, где значение аргумента x вводится с клавиатуры в градусах, значение функции y выводится на экран с точностью до 4 знаков после точки. 

Текст программы с комментариями:

Пример 2.

/* начало многострочного комментария

Программа вычисления значения функции y=sin(2*x^3)+1

                                                  конец многострочного комментария */

//однострочный комментарий

#include <iostream> // директива препроцессора #include, которая подключает

               //потоковую библиотеку iostream

#include <windows.h> //подключить заголовочный файл библиотеки windows

#include <math.h> //подключить заголовочный файл математической

             //библиотеки math

using namespace std;// означает пространство стандартных имен

                 //потоковой библиотеки

void main()//заголовок главной функции

{ //открываем блок операторов главной функции

  //для корректного вывода и ввода текста на русском языке (на кириллице)

  //будем использовать функции SetConsoleCP(1251); и SetConsoleOutputCP(1251);

  // из библиотке windows

  SetConsoleCP(1251); //выполняет установку кодовой страницы

                   // win-cp 1251 (кириллица) в поток ввода

  SetConsoleOutputCP(1251); //установка кодовой страницы win-cp 1251

                       //в поток вывода

  //потоковый вывод строки на экран

  cout << " Вычислить значение функции y=sin(2*x^3)+1 " << endl;

        // сout – объект из библиотеки iostream, связанный со стандартным

        //потоком вывода

        // << - операция вывода из потока

        // endl – манипулятор для перевода строки, т.е. курсор будет переведен в

        //начало следующей строки

  double x //объявление переменной x вещественного типа double

  double y; //объявление переменной y вещественного типа double

  //потоковый вывод строки на экран

  cout << " введите значение аргумента Х (в градусах)---> ";

//потоковый ввод с клавиатуры в переменную х

  cin >> x // сin – объект из библиотеки iostream, связанный со стандартным

        //потоком ввода

        // >> - операция ввода из потока через буфер ввода в переменную

  x = x * 3.14 / 180; //преобразовать x из градусов в радианы

  cout.precision(2);//манипулятор setprecision (2) устанавливает 2 знака в дробной части

  cout << "x в радианах = " << x << endl;

  y = sin(2 * pow(x, 3)) + 1; //вычислить y

  cout.precision();

  cout << "значение y = " << y << endl;

  system("Pause");//выполнить задержку в работе программы

  return; //завершить работу

} // закрыть блок операторов главной функции

 

Дополнительные пояснения к тексту программы:

 

using namespace std; - означает пространство стандартных имен.

То есть, если бы вы не указали using namespace std;

то строку cout << " Hello! ";

пришлось бы писать std:: cout <<" Hello! ";

или std:: cin >>x;

 Но если эта строчка написана то эти инструкции можно писать без std::

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...