русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Линейная программа


Дата добавления: 2014-11-27; просмотров: 1966; Нарушение авторских прав


Если в программе все операторы выполняются последовательно, один за другим, такая программа называется линейной. Рассмотрим в качестве примера программу, вычисляющую результат по заданной формуле.

Задача 1.1. Расчет по формуле

Написать программу, которая переводит температуру в градусах по Фаренгейту в градусы Цельсия по формуле:

C =5/9 (F-32),

где С - температура по Цельсию, a F — температура по Фаренгейту.

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

В данном случае:

- в качестве исходных данных выступает одно вещественное число, представляющее собой температуру по Цельсию,

- в качестве результата — другое вещественное число.

Перед написанием программы откроем интегрированную среду Visual C++:

Пуск/Программы/Microsoft Visual Studio/ Microsoft Visual C++ 6.00

Далее создадим проект. Для этого:

1) File > New...

2) В открывшемся окне:

- выберите тип Win32 Console Application;

- введите имя проекта в текстовом поле Project Name;

- введите (выберете с помощью кнопки …) имя каталога размещения файлов проекта в текстовом поле Location, например G:/ASOIZ/

- щелкните левой кнопкой мыши на кнопке ОК.

3) открывается диалоговое окно Win32 Console Application — Stepl of 1 и в нем:

- выберите тип An empty project;

- щелкните на кнопке Finish.

4) После щелчка появится окно New Project, в котором щелкните на кнопке ОК.

 

Далее создадим файл:

1) File > New.... В результате откроется диалоговое окно New.

2) На вкладке Files:

• выберите тип файла (в данном случае: C++ Source File);

• в текстовом поле File Name введите нужное имя файла;

• флажок Add to project должен быть включен;

• щелкните на кнопке ОК.

Набираем следующий текст программы:

Рассмотрим каждую строку программы отдельно.



В начале программы записана директива препроцессора, по которой к исходному тексту программы подключается заголовочный файл <iostream.h>. Это файл, который содержит описания операторов ввода-вывода cin и cout.

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

Любая заготовка при написании программы имеет вид:

#include <…>

#include <…>

int main()

{

объявление переменных;

ввод исходных данных;

расчет результата;

вывод результата;

return 0;

}

Для хранения исходных данных и результатов надо выделить достаточно места в оперативной памяти. Для этого служит оператор 2. В нашей программе требуется хранить два значения: температуру по Цельсию и температуру по Фаренгейту, поэтому в операторе определяются две переменные. Одна, для хранения температуры по Фаренгейту, названа fahr, другая (по Цельсию) — cels. Имена переменным дает программист, исходя из их назначения. Имя может состоять только из латинских букв, цифр и знака подчеркивания и должно начинаться не с цифры.

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

Основные типы:

int (short, unsigned) – целочисленные,

float (double, long double) – вещественные

char – символьный

bool – логический

Для того, чтобы пользователь программы знал, в какой момент требуется ввести с клавиатуры данные, применяется так называемое приглашение к вводу (оператор 3). На экран выводится указанная в операторе cout строка символов, и курсор переводится на следующую строку. Для перехода на следующую строку используется endl.

В операторе 4 выполняется ввод с клавиатуры одного числа в переменную fahr. Для этого используется стандартный объект cin и операция извлечения (чтения) >>. Если требуется ввести несколько величин, используется цепочка операций >>.

В операторе 5 вычисляется выражение, записанное справа от операции присваивания (обозначаемой знаком =), и результат присваивается переменной cels, то есть заносится в отведенную этой переменной память. Cначала целая константа 5 будет поделена на целую константу 9, затем результат этой операции умножен на результат вычитания числа 32 из переменной fahr.

Для вывода результата в операторе 6 применяется объект cout. Выводится цепочка, состоящая из пяти элементов. Это строка " По Фаренгейту:", значение переменной fahr, строка ", в градусах Цельсия:" , значение переменной cels и оператор перехода на новую строку endl.

Последний оператор (оператор 7) этой программы предназначен для возврата из нее и передачи значения во внешнюю среду.

Далее компилируем программу. Для этого нажимаем кнопку на панели инструментов либо комбинацию клавиш Ctrl+F7. В окне вывода (внизу экрана) должно вывестись сообщение 0 error(s), 0 warning(s) (0 ошибок, 0 предупреждений). Если есть ошибки - сверьте с оригиналом.

Для запуска программы нажимаем кнопку на панели инструментов либо комбинацию клавиш Ctrl+F5.

При запуске программы вместо русских символов видим ???, что вызвыно различными стандартами кодировки символов кириллицы в операционных системах MS DOS-и Windows. Для исправления добавим в программу функцию CharToOem (дополнения для наглядности выделены красным цветом)

#include <iostream.h>

#include <windows.h>

char buf[256];

char* RUS(const char* text)

{

CharToOem(text, buf);

return buf;

}

int main()

{

float fahr, cels;

cout<<endl<<RUS(" Введите температуру По Фаренгейту")<<endl;

cin>>fahr;

cels=5/9 * (fahr - 32);

cout<<RUS(" По Фаренгейту: ")<<fahr;

cout<<RUS(", в градусах Цельсия: ")<<cels<<endl;

return 0;

}

Функцию Rus() нельзя использовать более одного раза в цепочке операций << для одного объекта cout, поэтому мы разбили его на два.

Как вы можете видеть, результат выполнения программы со стабильностью оказывается равным нулю! Это происходит из-за способа вычисления выражения. Давайте вновь обратимся к оператору 4. Константы 5 и 9 имеют целый тип, поэтому результат их деления также целочисленный. Естественно, что результат дальнейших вычислений не может быть ничем, кроме нуля. Исправить эту ошибку просто — достаточно записать хотя бы одну из констант в виде вещественного числа, например:

cels = 5. / 9 * (fahr - 32);



<== предыдущая лекция | следующая лекция ==>
Лабораторная работа № 1 | Задания1


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.