Программа промежуточные данные




Скачать 16,06 Kb.
НазваниеПрограмма промежуточные данные
Дата03.02.2016
Размер16,06 Kb.
ТипПрограмма




Данные и величины

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

Исходные

данные


ПРОГРАММА

Промежуточные данные

Результаты



Например, при решении квадратного уравнения ах+bx+c=0 исходными данными являются коэффициенты a, b, c; результатами - корни уравнения х1, х2; промежуточными данными - дискриминант уравнения D=b - 4ac.

Всякая величина имеет четыре атрибута:

- имя - идентификатор;

- значение;

- тип;

- адрес в памяти.

Любые величины сначала надо объявить (выделить память), а потом уже использовать. Сколько выделить памяти под величину зависит от значения величины: под число 15 выделяется памяти меньше, чем под число 15 000. С помощью имени величины осуществляется доступ к ней из программы. По адресу этой величины ЦП обрабатывает эту величину. Тип величины указывается для определения размера ОП под величину. Значение величины – это содержимое ячеек памяти, выделенных под эту величину. Имя величины задает сам программист, т.к. он пишет текст программы. Правила составления идентификаторов

  1. Идентификаторы должны быть осмысленными, так легче читать и понимать программу.

  2. Нельзя использовать русские буквы

  3. Можно буквы латинского алфавита большие и маленькие

  4. Можно цифры

  5. Пробел не разрешается, вместо него можно использовать _

  6. Нельзя начинать идентификатор с цифры

  7. Можно произвольной длины, но различаются первые 32 символа в имени

  8. Имеются различия между большими и малыми буквами, например, такие имена считаются различными:KOL, Kol, kol

  9. Нельзя использовать служебные слова.

Примеры правильных и неправильных идентификаторов:

Metka45(+), 4Graf (-), Block_2 (+), Nomer.Doma (-), Сумма (-), for (-), Kol Mes (-), _sum (+)


Константы и переменные

Величины делятся на константы и переменные. Константы используются в программах для задания постоянных величин, которые не меняют своего значения в ходе выполнения программы. Например: количество месяцев в году, число Пи, Банковский процент, налоговая ставка и др.

Константы в программе можно задавать двумя способами:

  1. С использованием строчки вида: #define идентификатор значение

Например: #define GOD 2008

  1. С использованием строчки вида: const тип идентификатор=значение;

Например: const float NALOG=0.13;

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

Преимущества использования констант

  1. Лучше использовать понятные имена вместо числовых значений. Например: красный цвет имеет значение 4, поэтому лучше создать константу с понятным именем цвета, чтобы потом это имя использовать там, где надо задать красный цвет. #define RED 4

  2. Упрощает внесение изменений в текст программы. Достаточно в одном месте изменить значение константы, чтобы потом не вносить изменения во всем тексте.

  3. Работа с константами выполняется значительно быстрее, т.к. они обрабатываются еще на этапе трансляции текста программы.



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

Переменные в программе задаются строчкой вида:

тип идентификатор;

Переменные одного типа можно перечислять через запятую. Например:

float Sum, Premiy;

Встретить такую строчку, компилятор выделяет ячейки памяти под данные переменные.


Система типов языка С

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

- множество допустимых значений (диапазон);

- форма внутреннего машинного представления в памяти ПК;

- множество допустимых операций.


Целые величины

К целым величинам относят данные, которые не имеют дробной части. Обычно целые величины используются для задания количества, позиций, номеров, координат на экране монитора и другие. С целыми величинами связаны ключевые слова: int, short, long.

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

Тип short может занимать 1 или 2 байта – зависит от типа ПК

Тип int может занимать 2 или 4 байта – зависит от типа ПК

Тип long всегда занимает 4 байта.

В общем виде: short<=int<=long

Целые величины делятся на беззнаковые и знаковые.


Беззнаковые целые величины

Относятся все положительные целые числа и ноль. Например: 12, 45, 0. Признаком беззнакового числа служит применение ключевого слова unsigned к типам int, short, long. Например:

unsigned short - беззнаковое короткое целое

unsigned int - беззнаковое обычное целое

unsigned long - беззнаковое длинное целое

Целые беззнаковые величины можно указывать в 10-тичной, 8-ричной и 16-ричной системе счисления. Правила указания системы счисления:

  1. для 8 с/с: 0 перед числом, за ним цифры 0..7

  2. для 16 с/с: 0х перед числом, за ним цифры 0..9 и буквы a..f (A..F)

  3. для 10 с/с: цифры 0..9

Пример: 65, 0101, 0х41 – одно и тоже число в разных системах счисления.

Хранение в памяти беззнаковых величин – все биты отданы под число.

Для случая 1 байта = 8 бит: самое маленькое число 000000002=0

самое большое число 111111112=255

Для случая 2 байт=16 бит: самое маленькое число 00000000000000002=0

самое большое число 11111111111111112=65535

Для случая 4 бай=32 бита: самое маленькое число 000000000000000..=0

самое большое число 1111….1112=4 294 967 295


Знаковые целые величины

Относятся все положительные, отрицательные целые числа и ноль. Например: 12, -45, 0. Признаком знакового числа служит отсутствие ключевого слова unsigned у типов int, short, long. Например:

short - знаковое короткое целое

int - знаковое обычное целое

long - знаковое длинное целое

Целые знаковые величины можно указывать в только 10-тичной системы счисления. Хранение знакового числа: один самый старший бит отдан под знак числа, следовательно, в два раза сужен диапазон допустимых значений. Если бит равен 1, то число отрицательное, 0 – число положительное.


Для случая 1 байта: самое маленькое число 100000002=-128

самое большое число 011111112=127

Для случая 2 байт: самое маленькое число 10000000000000002=-32768

самое большое число 01111111111111112=32767

Для случая 4 бай: самое маленькое число 100000000000000..=-2 147 483 648

самое большое число 0111….1112=2 147 483 647

111111112=255 для беззнаковых

111111112=-1 для знаковых целых

Например: Число 3 и число (-3) для случая 1 байта знаковых чисел.

Число 310=000000112. Чтобы число 3 превратить в отрицательное число нельзя просто поменять 0 на 1 в старшем разряде, т.е. 100000112= -12510. Отрицательные числа хранятся в памяти в дополнительном коде. Чтобы получить дополнительный код числа надо выполнить действия:

  1. взять модуль числа и записать его в 2 с/с;

  2. поменять 1 на 0, 0 на 1

  3. прибавить к полученному числу двоичную 1.

Применим эти правила для представления числа (-3)

1. | -3 |=3 000000112

2. 111111002 – замена 1 на 0, 0 на 1

3. 11111100

+ 1

111111012 – двоичное представление числа (-3) в памяти ПК

Чтобы убедиться в правильности вычислений: 3+(-3) должны получить 0

00000011

+11111101

100000000 – старшая 1 вылезла из состава 1 байта, следовательно, она отбрасывается и получаем 000000002= 0.


Вещественные величины

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

- с фиксированной точкой, например: 1., 0.095, -56.45, .1;

- с плавающей точкой, в виде <мантисса>Е<порядок>

например: 7.32E+00, -4E+02, -1.5е-4, .123е4. Буква Е (е) записывается вместо 10.

Обычно вещественные величины используются в математических и физических расчетах. С вещественными величинами связаны ключевые слова: real – одинарная точность, double – двойная точность.

Вещественные величины всегда считаются со знаком. Их можно в программе задавать только в 10 с/с. Типы отличаются между собой размером отводимой памяти и диапазоном значений, которые в эту память можно помещать.

Тип real занимает 4 байта, диапазон =±3.4е -38 … ±3.4е 38

Тип double занимает 8 байт, диапазон = ±1.7е -308 … ±1.7 е 308

Тип long double 10 байт, диапазон = ±3.4 е -4932 … ±1.1 е 4932

В общем виде: real < double < long double

Работа с вещественными числами очень сильно тормозит ЦП, поэтому для операций с вещественными числами разработано специальное устройство – сопроцессор. Хранение вещественных чисел очень сильно отличается от хранения целых чисел. Например: число 45.56 можно записать в различном виде: 0.4556, 455.6, 0.0004556, 45560*103 и другие. Такая неоднозначность недопустима для ПК. Вещественные числа хранятся в ОП в нормализованном виде: в целой части оставляют одну цифру, все остальное перебрасывают в дробную часть и экспоненту.

45.56 нормализуют 4.556* 101 поэтому хранят: целую часть 4, мантиссу 556, порядок 1.


Символьные величины

Используется для представления какого-либо символа. Сам символ записывается в апострофы. Например: ‘$’, ’F’, ’*’, ‘6’. Каждому символу ставиться соответствующий код по таблице кодировки. Для указания символьного типа используется ключевое слово char. Под тип char отводится 1 байт памяти, в который помещается код символа по кодовой таблице, поэтому на машинном уровне символьный тип рассматривается как целый. Может быть знаковым и беззнаковым.

char – знаковый в диапазоне от -128 до 127. На самом деле для данного типа используется только от 0 до 127 (7 бит из 8), следовательно, для данного типа имеется 128 символов с кодами от 0 до 127 – Стандартная часть таблицы кодировки (латинские буквы, цифры и другие основные символы).

unsigned char – беззнаковый тип от 0 до 255 (все биты), следовательно для такого типа используется 256 символов. Первая половина от 0 до 127 – Стандартная, от 128 до 255 занимают символы расширенной таблицы (Киррилица, псевдографика и другие).

Символы в программе можно задавать двумя способами

  1. В ‘’ указывается нужный символ, например ‘A’ – подходит только для печатных символов

  2. Указывается целое число, например 65 – код символа А – может использоваться для любых символов

  3. В ‘’ указывается \, за которым следует буква, например ‘\n’ – символ перехода на новую строку – используется для ограниченного количества управляющих символов.


Строковые величины

Строковая величина состоит из 0 или более символов, заключенных в парные “”. Например:

#define STROKA “This is stroka\n”

Под строковую величину отводится столько байт, сколько символов в строке + 1 байт на завершающий символ ‘\0’, который явно в строке не указывается. В каждый байт помещается код символа. В нашем случае под величину STROKA отводится 16 байт. В языке С нет служебного слова, описывающего строковый тип, следовательно строки можно задавать только константами.


Рекомендации по выбору типа величины

В математике количество чисел бесконечно, в программировании количество чисел имеет конечный предел, что связано с его разрядной сеткой. Физики считают, что во всей Вселенной количество элементарных частиц, из которых состоят атомы находящегося в ней вещества, не больше 1088. Самое большое число, придуманное человечеством 10100 – число Гугол. ПК может работать с числами в 10 4932 (тип long double).

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

Например: Создадим целую величину

int x; //Под эту величину отводится 2 байта памяти

x=200*300; //Записали в эту величину результат умножения 200 на 300

В результате вычислений получит не ожидаемое число 60 000, а получим число -5536. Рассмотрим, почему так произошло. Тип int соответствует знаковым обычным целым, которые лежат в диапазоне от -32768 до 32767. Число 60 000 вышло за диапазон типа int.

60 000=0xEA60=1110 1010 0110 00002. В старшем разряде стоит 1, следовательно, число отрицательное и храниться в дополнительном коде. Выполним обратные действия по получению исходного числа.

1. 1110 1010 0110 00002

- 12

1110 1010 0101 11112

2. Инвертируем, получим 0001 0101 1010 00002=0х15А0=5536

3. Учитываем знак -5536

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

Вывод

Если необходимо выбирать между целыми и вещественными, то надо смотреть от условия задачи. Если нет разницы, то лучше всегда выбирать целые, т.к. они экономят память и ПК работает с ними значительно быстрее. Вещественными числами надо пользоваться только там, где это действительно необходимо. Однако, не в коем случае, нельзя экономить временем ЦП и ОП в ущерб правильности работы программы.


Операция sizeof

Операция sizeof выдает количество байт ОП, занимаемое нужным типом или величиной. В общем виде:

sizeof (тип) или sizeof (величина).

Например:

cout<<”Тип floaf занимает “ << sizeof (float) <<” байт” << ‘\n’;

Выводит на экран количество байт, занимаемых типом float.

Похожие:

Программа промежуточные данные iconВсе программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов. Файл
Файл — это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти
Программа промежуточные данные iconЗадержки психического развития
Задержки психического развития — пограничные с умственной отсталостью (олигофренией) состояния, т е промежуточные формы интеллектуальной...
Программа промежуточные данные iconКонтрольная работа №1 Глаголы, данные в скобках, поставьте в соответствующем
Глаголы, данные в скобках, поставьте в соответствующем лице и числе в Present и Past Indefinite. Предложения переведите
Программа промежуточные данные iconПоложение о порядке ознакомления и выдачи амбулаторных карт (медицинской карты амбулаторного больного) и иной медицинской документации, содержащих данные о состоянии здоровья пациентов (персональные данные)
О порядке ознакомления и выдачи амбулаторных карт (медицинской карты амбулаторного больного) и иной медицинской документации, содержащих...
Программа промежуточные данные iconКонтрольная работа по дисциплине «Ценообразование»
Удент должен выполнить теоретическую и практическую части. Теоретическая часть предполагает ответы на вопросы по заданному студенту...
Программа промежуточные данные iconПрактика научно-исследовательской работы Владимир Гельман
Итогом работы слушателей курса должны являться промежуточные эссе (объемом около 2 тыс слов) и программы их магистерских диссертационных...
Программа промежуточные данные iconМетодическое пособие по изучению microsoft
Цель лабораторной работы: научиться как создать файл для новой базы данных, как сконструировать структуру таблицы базы данных, как...
Программа промежуточные данные iconПрограмма развития муниципального образовательного
...
Программа промежуточные данные iconРабочая программа с указанием используемой авторской + выходные данные авторской программы Количество часов по учебному плану 1 1 «А»/25 «Перспектива»
Востряковская средняя общеобразовательная школа №3 с углубленным изучением отдельных предметов
Программа промежуточные данные iconРабочая программа дисциплины (модуля) Теория государства и права
Изучение дисциплины базируется на знаниях о правовом регулировании общественных отношений, умении критически осмысливать правовую...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib2.znate.ru 2012
обратиться к администрации
Библиотека
Главная страница