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




Задача

Вы положили деньги в банк на M месяцев из расчёта P % годовых. Написать программу, которая вычислит причитающуюся вам через M месяцев сумму. Программа запрашивает ввести с клавиатуры следующие данные:

1) сумма, которую вы положили в банке;

2) % из расчёта годовых;

3) на сколько месяцев вы положили деньги.

Итоговую сумму вывести на экран.

 

Содержание отчета:

1. Тема работы.

2. Задание (общее и согласно варианту)

3. Результат выполнения задания согласно индивидуальному варианту:

- условие задачи,

- постановка задачи,

- текст программы с комментариями (2 варианта на С и С++),

- результат работы программы.

4.Вывод о проделанной работе.

Контрольные вопросы:

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

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

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

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

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

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

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

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

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

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

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

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

13. Какие средства в стандарте языка С можно использовать для ввода/вывода стандартных типов и строк? Перечислите эти функции. Поясните спецификаторы формата и управляющие символы.

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

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

Консоль (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. Модель входного потока при вводе в программу данных с клавиатуры

 

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

Примечание: в языке С существуют другие средства для организации ввода с клавиатуры и вывода на экран, например, функции 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::



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-06 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: