Типы с плавающей точкой float, double, long double 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типы с плавающей точкой float, double, long double



float – 4 байта, double – 8 байт, long double – 10 байт

Константы с плавающей точкой имеют по умолчанию тип double. Можно указать тип константы явно с помощью суффиксов F,f и L,l (1.82f).

Тип void и указатель типа void*

Множество значений этого типа пусто. Используется для определения функций, которые не возвращают значения.

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

 

Перечисления enum

При использовании большого количества логически взаимо­ связанных констант удобно пользоваться перечислениями. Перечисления имеют вид:

enum Name { iteml [= def ], item 2[= def ], itemN [= def ]};

где

enum - ключевое слово (от enumerate - перечислять)

Name - имя списка констант

iteml, itemN - перечень целочисленных констант

[= def ] - необязательный параметр инициализации

Предположим, нам необходимо в программе описать рабо­ту светофора. Известно, что его цвет может принимать.тишь 3 значения: красный (RED), желтый (YELLOW) н зеленый (GREEN) Для обработки полученных от светофора сигналов заведем три константы с такими же именами - RED, yellow и GREEN, про инициализировав их любыми неповторяющимися значениями с тем. чтобы в дальнейшем проверять, какой из этих трех цветов горит.

Например, мы могли бы записать:

const int RED = 0; const int YELLOW = 1; const int GREEN = 2;

Используя перечисления, то же самое можно сделать в одну строку:

enum COLOR {RED, YELLOW, GREEN};

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

То же перечисление можно было проинициализировать дру­ гими значениями:

enum COLOR {RED=13, YELLOW=1, GREEN};

При этом константа GREEN по-прежнему имеет значение 2

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

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

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

 C=5/9(F-32)

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

#include <iostream.h>

 int main(){

float fahr, cels;

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

cin >> fahr;

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

cout << "По Фаренгейту: "<< fahr <<", в градусах Цельсия: " << cels << endl;

return 0;

 }

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

 

Напишем второй вариант программы:

 

#include <stdio.h>

 int main(){

float fahr, cels;

printf("\n Введите температуру по Фаренгйту\n");

scanf("%f",&fahr);

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

printf("По Фаренгейту: % 6.2f, в градусах Цельсия: %6.2f\n", fahr, cels);

return 0;

 }

 

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

 В рассмотренных выше программах переменные являются локальными. Вариант с глобальными переменными выглядит так:

 

#include <iostream.h>

 float fahr, cels;

 int main(){

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

cin >> fahr;

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

cout << "По Фаренгейту: "<< fahr <<", в градусах Цельсия:" << cels << endl;

return 0;

 }

 

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

 

Рекомендации по написанию программы:

- Выбирайте тип переменных с учетом диапазона и требуемой точности представления данных.

- Давайте переменным имена, отражающие их назначение.

- Ввод с клавиатуры предваряйте приглашением. Для контроля сразу же после ввода выводите исходные данные на дисплей (по крайней мере, в процессе отладки).

- До запуска программы подготовьте тестовые примеры, содержащие исходные данные и ожидаемые результаты. Отдельно проверьте реакцию программы на неверные исходные данные.

- При записи выражений обращайте внимание на приоритет операций.

- В функциях Printf и Scanf для каждой переменной указывайте спецификацию формата, соответствующую ее типу. Не забывайте, что в Scanf передается адрес переменой, а не ее значение.

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

- Не смешивайте в одной программе ввод/вывод с помощью классов (в стиле С++) и с помощью функций библиотеки (в стиле С).

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

- Данные при вводе разделяйте пробелами, символами перевода строки или табуляции.

Индивидуальные варианты заданий

1.

· Напишите программу вычисления среднего арифметического переменных х1 и х2.

· Напишите программу у вычисления стоимости покупки, состоящей из помидоров, огурцов и нескольких пучков укропа. Стоимость и количество товаров вводится с клавиатуры.

2.

· Напишите программу значения функции у = -2,7х-0,23x.

· Напишите программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных резисторов:

3.

· Напишите программу, которая увеличивает значение переменной X на величину, находящуюся в переменной dx.

· Напишите программу вычисления сопротивления электрической цепи, состоящей из трех последовательно соединенных резисторов.

4.

· Напишите программу расстояния из километров в версты (одна верста — это 1066,8 м).

· Напишите программу вычисления объема конуса.

5.

· Напишите программу вычисления площади прямоугольника.

· Напишите программу вычисления стоимости покупки, состоящей из нескольких тетрадей, обложек к ним и карандашей. Стоимость и количество товаров вводится с клавиатуры.

6.

· Напишите программу вычисления площади треугольника: s = ½ a*h, где а — длина основания; h — высота треугольника.

· Напишите программу вычисления площади трапеции: s = (a+b)/2 * h, где а и b — длины оснований; h — высота трапеции.

7.

· Напишите программу вычисления площади круга: s=pr2.

· Напишите программу вычисления площади поверхности и объема цилиндра.

 

S = 2pr(h+r) V = pr2h  

8.

· Напишите программу пересчета сопротивления электрической цепи из омов в килоомы.

· Напишите программу вычисления объема параллелепипеда.

 

9.

· Напишите программу вычисления объема и площади поверхности шара.

· Напишите программу вычисления тока, по известным значениям напряжения и сопротивления электрической цепи.

 

10.

· Напишите программу вычисления тока, по известным значениям напряжения и сопротивления электрической цепи.

· Напишите программу вычисления стоимости покупки, состоящей из нескольких тетрадей, обложек к ним и карандашей. Стоимость и количество товаров вводится с клавиатуры.

 

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

1. Что включает алфавит языка С++?

2. Что такое Лексема?

3. Идентификатор это...

4. Ключевые слова – это...

5. Что такое константа, какие бывают константы?

6. Что такое комментарии?

7. Опишите структуру программы в С++.

8. Синтаксис описания переменных в С++.

9. Что определяет класс памяти переменной? Какие классы памяти существуют?

10. Опишите основные типы данных в С++

 

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

1. Титульный лист

2. Цели, задачи работы

3. Индивидуальное задание

4. Блок-схема алгоритма (для каждой задачи)

5. Листинг программы(для каждой задачи)

6. Результат выполнения программы – скриншот (для каждой задачи)

7. Ответы на контрольные вопросы



Поделиться:


Последнее изменение этой страницы: 2021-04-20; просмотров: 86; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.196.217 (0.011 с.)