Программирование электронных устройств. Типы данных.

В предыдущем уроке было показано, что в зависимости от величины, числа могут храниться в одном, двух или четырех байтах памяти (и даже больше). Например,  в одном байте могут храниться числа от 0 до 255 (от 00000000 до 11111111 в двоичной форме) , в двух байтах – от 0 до 65535 (от 0000000000000000 до 1111111111111111), а в четырех – от 0 до 4 294 967 295 (от 00000000000000000000000000000000 до 11111111111111111111111111111111).

Иногда нужно использовать не только положительные, но и отрицательные числа (числа, которые меньше нуля). Поэтому приведенные выше диапазоны чисел делят на две части, половина диапазона представляет отрицательные числа, а другая половина – положительные. Например, диапазон для 1 байта от 0 до 255 превратится в диапазон от -128 до 127, для двух байт – от -32768 до 32767, для четырех байт – от -2 147 483 648 до 2 147 483 647.

Оперативная память компьютера – память, которая работает только в то время, когда компьютер включен. Она необходима для работы программ и хранения в ней данных. Минимальная ячейка памяти имеет размер 1 байт. Каждая ячейка имеет свой номер, который называется адресом. Самый первый байт памяти будет иметь адрес 0, следующий байт будет иметь адрес 1, следующий – 2, потом 3, 4, 5 и т.д. Если в компьютере установлено 4 Гб оперативной памяти, значит последняя ячейка (байт) памяти будет иметь адрес 4 294 967 295.

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

Переменная – это именованная область памяти для хранения данных, которые в процессе работы программы могут меняться.

Переменная имеет 3 обязательные составляющие:

·       Имя. Вместо того, чтобы знать адрес ячейки памяти, можно назначить этой ячейке имя и обращаться к ней по имени.

·       Значение. Другими словами, это число, которое хранится в ячейке памяти в данный момент.

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

Что же такое тип? Мы уже рассмотрели, что хранить целые числа можно в 1-ом, 2-х или 4-х байтах памяти. А тип, как раз определяет, сколько байт памяти занимает наша переменная и, какие числа допустимо хранить в переменной.

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

Название типа

Объем памяти в байтах

Минимальное значение переменной

Максимальное значение переменной

char

1

-128

127

unsigned char

1

0

255

int

2

-32768

32767

unsigned int

2

0

65535

long int

4

-2 147 483 648

2 147 483 647

unsigned long int

4

0

4 294 967 295

Чтобы объявить переменную в языке C++, необходимо сначала указать тип, затем имя переменной, а затем ее значение (последнее не обязательно делать сразу). Например:

int a = 100; 

Такая запись означает, что мы запрашиваем область памяти объемом 2 байта, называем эту ячейку памяти именем a, и кладем туда число 100. В конце обязательно ставится точка с запятой (;).

Можно объявить сразу несколько переменных, и не обязательно сразу им присваивать какие-то значения – в таком случае значение переменной будет не определено:

long int a,b,c; - объявляем 3 переменных типа long int.

Чтобы изменить значение переменной, используется оператор « = ».

b = 5;  - присваиваем переменной b значение 5.

Скачайте следующую программу, написанную на языке C++, поместите скачанный файл TYPES.CPP в папку C:\TCPP\BIN\.

Запустите DOSBox (Как настроить эту программу можно посмотреть ЗДЕСЬ).

Нажмите клавишу F3. Выберите файл TYPES.CPP и нажмите клавишу Enter.

tc_001

На экране вы должны увидеть открытую программу:

tc_002

Разберем эту программу построчно:

#include<iostream.h> - подключаем модуль iostream.h. В этом модуле содержится функция cout, которая используется в этой программе ниже. Она необходима для вывода информации на экран. Если не подключить iostream.h, то функция cout не заработает.

#include<conio.h> - подключаем модуль conio.h, содержащий функции clrscr() и getch();

void main(){ - описываем заголовок функции main. Это главная функция. Она должна быть в каждой программе на языке С++. void – это тип функции main. Void – означает, что наша функция ничего не возвращает (нам пока это не нужно). Пустые скобки () означают, что у этой функции нет входных параметров. Любая функция начинается c открывающейся фигурной скобки {, а заканчивается закрывающейся фигурной скобкой }.

  int a,b,c; - объявляем три переменные типа int.

  a=5; - присваиваем переменной a значение 5;

  b=8; - присваиваем переменной b значение 8;

  c=a+b; - присваиваем переменной c сумму значений переменной a и переменной b.

  clrscr(); - это функция очистки экрана.

  cout<<"result = "<<c; - как уже говорилось выше функция cout выводит на экран информацию. С помощью оператора << мы направляем в эту функцию информацию, которую хотим вывести на экран. Сначала мы выводим строку «result = », а затем выводим значение переменной с.

  getch(); - это функция ждет нажатия клавиши. Если не использовать эту функцию, то программа после вывода результата просто закроется, но благодаря функции getch() программа не закроется, пока не будет нажата любая клавиша.

} – конец функции main.

Чтобы запустить программу, нажимаем комбинацию клавиш Alt+R, выбираем в появившемся меню пункт Run и нажимаем клавишу Enter. Ни в коем случае не нажимайте для запуска программы комбинацию клавиш Ctrl+F9 – это закроет DOSBox!

tc_003

На экране появится результат работы программы:

tc_004

При нажатии на любую клавишу программа закроется.

Задание: 1) Теперь самостоятельно попробуйте изменить значение переменных a и b, после чего снова запустите программу и посмотрите результат. В качестве ответа пришлите фотографию экрана с результатом работы программы. 2) Какие типы можно использовать для переменной, если ей нужно присвоить номер текущего года (2020)?

Ответ можно прислать на электронную почту education@etriz.ru. Туда же можно писать свои вопросы, если что-то не до конца понятно. (Не забудьте указать Фамилию и Имя).