Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Понятие переменной в программировании. (Виды и типы переменных)

Содержание:

ВВЕДЕНИЕ

Предлагаемая курсовая работа посвящена раскрытию темы “ Понятие переменной в программировании. Виды и типы ”. Тема переменной в программировании очень актуальна и востребована у всех специалистов связанных с информационными системами.

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

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

Для достижения поставленной цели работы необходимо выполнить следующие задачи:

·    изучить понятие переменных в программировании;

·    изучить тему типов переменных;

·    изучить целочисленные переменные ;

·    изучить вещественные переменные;

·    изучить символьные переменные;

·    изучить логические или условные выражения ;

·    изучить массив переменных ;

·    изучить текстовые строки.

Объектом изучения является дисциплина технологии программирования.

Предмет исследования: тема “ Понятие переменной в программировании. Виды и типы ”  

1.ПОНЯТИЕ ПЕРЕМЕННОЙ В ПРОГРАММИРОВАНИИ

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

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

Согласитесь что данное выражение:

1+2=3

Существенно отличается от выражения:

А+В=С

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

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

Присваивание переменной величине любого значения приводит к необходимости классификации (типизации) переменных величин.

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

2.ТИП ПЕРЕМЕННОЙ

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

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

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

3. ЦЕЛОЧИСЛЕННЫ ПЕРЕМЕННЫЕ

Целочисленный тип это тип данных, переменные которого могут содержать только целые числа (без дробной части, например: -2, -1, 0, 1, 2). Данные целые числа является основными для любого алгоритмического языка. Связано это с тем, что содержащееся в ячейке памяти или регистра процессора, возможно рассматривать только как целое число. Адреса данных элементов памяти также представляют собой целые числа, с их помощью записываются машинные команды и т.д. Символы, используемые в компьютере, являются целыми числами - их кодами в разных кодировках. Так же изображения задаются массивами целых чисел: для каждой точки изображения хранятся интенсивности ее красных, зеленых и синих составляющих (в большинстве случаев - в диапазоне от 0 до 255). Как говорят математики, целые числа даны свыше, все остальное сконструировал из них человек.

Общепринятый термин в программировании целое число или целочисленная переменная, является не совсем корректным. Целых чисел бесконечно много, запись целых чисел в десятичном или двоичном кодах может быть сколь угодно длинной и не помещаться в области памяти, отведенной под одну переменную. Целая переменная в компьютере может хранить лишь ограниченное множество целых чисел в некотором интервале. Под целую переменную, в современных компьютерах отводится 4 байта, т.е. 32 двоичных разряда. Она может хранить числа от нуля до 2 в 32-й степени минус 1. Таким образом, максимальное целое число, которое может храниться в целочисленной переменной, равно

2³² -1= 4294967295

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

a+b = b+a,  ab = ba

(a+b) + c = a+(b+c), (ab)c = a(bc)

a(b+c) = ab+ac

В языке Си целым числам соответствуют типы int, char и bool:

  1. int - двух- или четырехбайтовое целое значение со знаком в диапазоне -2 147 483 648   /   2 147 483 647;
  2. char - это целочисленный тип данных, который используется для представления символов;
  3. bool - целочисленный тип данных, так как диапазон допустимых значений — целые числа от 0 до 255

Int - целочисленное значение типа integer (целое) является одним из самых распространенных и простейшим типом данных служащих для предоставления целых чисел. В программировании различают целые числа со знаком и беззнаковые целые числа. Знак числа обычно указывается (кодируется) в старшем, т.е. знаковом разряде. Соответственно если старший бит записан как 1, то число является отрицательным, если оно не определено как беззнаковое. Целочисленное значение типа integer  имеет в памяти компьютера следующее представление:

http://e-biblio.ru/book/bib/01_informatika/ProgBK_pt2/Book_teria_prog.files/image010.jpg

Рис. 1  Битовая структура типа integer

сhar – данный целочисленный тип данных используется для представления символов. Этот тип данных использует 1 байт, соответственно каждому символу соответствует число в диапазоне от 0 до 255. Благодаря данному типу данных возможно графическое изображение символов.

bool – так же является целочисленным типом данных, так как диапазоном допустимых значений являются целые числа от 0 до 255. Этот тип данных используется для хранения результатов логических вычислений. У логического выражения может быть один из двух результатов true или false, true – если выражение истинное и false – если выражение ложно. Но диапазон значений типа данных bool составляет от 0 до 255, по этому, необходимо сопоставление данного диапазона с логическими константами true и false. В связи с чем константе true соответствует все числа диапазона от 1 до 255 включительно, а константе эквивалентно только одно целое число – 0.

В связи с такой ситуацией было принято решение об использовании целых чисел в диапазоне от 2 до 255 эквивалентными числу – 1, то есть истина.

4. ВЕЩЕСТВЕННЫЕ ПЕРЕМЕННЫЕ

Вещественные переменные в программировании, в отличие от системы вещественных чисел в математических вычислениях, где они предполагаются не имеющими ограничений на диапазон использования чисел, имеют ограниченное число разрядов, то есть является конечной (дискретной).

Вещественные числа представляются в компьютере в виде чисел плавающей запятой, так называемой экспоненциальной, или плавающей, форме. Вещественное число r имеет следующий вид:

Знак

Порядок

Мантисса

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

14

10

9

0

Рис. 2 Битовая структура вещественного числа r

 А так же ее удобно рассматривать по данному представлению:

r = ±2e* m  

Представление числа состоит из трех элементов:

1.   Знак числа - плюс или минус. Знак числа указывается старшим, т.е. знаковом разряде. Единица указывает на знак минус, т.е. отрицательному числу, а ноль – положительному числу т.е. плюс. Ноль так же имеет нулевой знаковый разряд;

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

3.   Мантисса m представляет собой фиксированное количество разрядов двоичной записи вещественного числа в диапазоне от 1 до 2:

1 ≤ m < 2  

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

В языке Си вещественным числам соответствуют типы float и double.

float – данный тип вещественного числа занимает 4 байта, из которых один бит занят обозначением знака, восемь под порядок, а остальные 23 отводятся под мантиссу (на самом деле, в мантиссе 24 разряда, однако старший разряд всегда равен единице, в связи с чем хранить его не обязательно).

Тип double занимает 8 байтов, в которых один разряд так же отводится под знак, 11 - под порядок, остальные 52 - под мантиссу. На самом деле, в мантиссе 53 разряда, однако старший разряд всегда равен единице, в связи с чем хранить его не обязательно. В связи с тем что порядок может быть как положительным так и отрицательным, в двоичном коде он хранится в смещенном виде: к нему прибавляется константа, равная абсолютной величине максимального по модулю отрицательного порядка. В случае типа float она равна 127, в случае double - 1023. Таким образом, максимальный по модулю отрицательный порядок представляется нулевым кодом.

Тип double является основным типом вещественного числа , именно он наиболее оптимален для компьютера. В программировании, за исключением редких случаев, необходимо по возможности избегать типа float, так как его точность недостаточна, а процессор все равно при выполнении операций преобразует его в тип double. (Один из немногих случаев, где применение типа float оправдано, - трехмерная компьютерная графика.)

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

a+b = a   при b ≠ 0

Более того, для сложения не выполняется закон ассоциативности:

a+(b+c) ≠ (a+b)+c

Приблизительная точность вычислений вещественных чисел типа double составляет 16 десятичных цифр. А в результате операций с четырехбайтовыми плавающими чисами (тип float языка Си) точность вычислений составляет и того меньшую величину примерно 7 десятичных цифр. Из за этого тип float достаточно редко используется на практике. К тому же современные процессоры в основном созданы для работы с восьмибайтовыми вещественными числами и при выполнении операций с четырехбайтовыми он все равно сначала приводит их к восьмибайтовому типу. В программировании не следует пользоваться типом float и в основном пользоваться типом double.

Существуют и другие недостатки при работе с вещественными числами:

-      переполнение – в случае когда порядок результата больше максимально возможного значения. Данная ошибка достаточно часто возникает при умножении больших чисел;

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

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

Запись вещественных констант

Вещественные константы представляют собой десятичные дроби и записываются в двух формах - с фиксированной десятичной точкой или в виде формы с порядком (экспоненциальном виде).

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

1.5,   0.125,   2.,   .23,   0.

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

Числа в экспоненциальной форме записи имеют следующий вид:

Мантисса х 10экспонент

Рассмотрим следующее выражение:

1.5 x 10³

Значение 1.5 является мантиссой;

Степень 3 является экспонентой (порядок числа);

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

Так же для примера записи в экспоненциальной форме можно привести массу Земли. В десятичной системе счисления масса будет представлена как 5973600000000000000000000 кг. Согласитесь, что это достаточно большое число (естественно данное значение не поместится в файл размером 8 байт). Это число даже трудно читать (там 18 или 20 нулей?). Но, если использовать экспоненциальную запись, массу Земли возможно представить как 5.9736 х 1024кг (данная форма гораздо более удобна для восприятия). Мантисса - это любая положительная вещественная константа в форме с фиксированной точкой или целая константа. Порядок указывает степень числа 10, на которую домножается мантисса. Порядок отделяется от мантиссы буквой "e" (от слова exponent), она может быть прописной или строчной. Порядок может иметь знак плюс или минус, в случае положительного порядка знак плюс можно опускать. Примеры:

1.7e+6      константа эквивалентна  1700000.0

1e-5        константа эквивалентна  0.00001

-.75E3      константа эквивалентна  -750.0

Вещественное значение с плавающей точкой может иметь в памяти компьютера следующее представление:

http://e-biblio.ru/book/bib/01_informatika/ProgBK_pt2/Book_teria_prog.files/image010.jpg

Рис.3   Битовая структура типа float

Для понимания представления вещественных чисел с плавающей точкой необходимо рассмотреть такую дробь как 1/3, десятичное представление которого выглядит как 0,33333333333333 (и т.д. до бесконечности). Но так как переменные с плавающей запятой могут хранить только определенное количество цифр, ограниченное как правило 4 или 8 байтами, в связи с чем остальные цифры просто отбрасываются. В разряды мантиссы записываются значащие цифры, а в разряды экспоненты заносится показатель степени.

При обозначении чисел с плавающей точкой приняты следующие соглашения: знаковый разряд обозначается буквой s, экспонента - e, а мантисса - m.

5. СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ

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

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

1.      Диапазон значений кодов. Самая распространенная в мире кодировка ASCII (от слов American Standard Code of Information Interchange - Американский стандартный код обмена информацией) включает в себя диапазон значений кодов от 0 до 127, т.е. требуется семь бит на один символ. Множество современных кодировок включают в себя диапазон кодов от 0 до 255, т.е. один байт на один символ. В последнее время во всем мире осуществляется переход на кодировку Unicode, которая использует коды в диапазоне от 0 до 65535, т.е. 2 байта на символ;

2.      Множество изображаемых символов. К примеру в кодировке ASCII содержатся буквы латинского алфавита, в западноевропейской кодировке к символам присутствующим в ASCII добавляются дополнительные знаки препинания, в частности, разные знаки присущие определенным странам, основанных на латинской графике. Любая русская кодировка содержит кириллицу;

3.      Отображение множества кодов на множество символов. К примеру русская кодировка КОИ-8 (Код обмена информацией восьмибитовый) и "Windows CP-1251", традиционно используютсяе в операционных системах Unix и MS Windows, включают в себя один и тот же диапазон кодов и один и тот же набор символов, но отображения их различны (одни и те же символы имеют разные коды в кодировках КОИ-8 и Windows).

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

1.  Кодировка КОИ-8 (Достаточно старый стандарт, принятый еще в конце 70-х годов XX века). Данная кодировка в основном используется в системе Unix и до последнего времени была стандартом де-факто для русскоязычной электронной почты. Однако в последнее время чаще всего используют кодировку Windows в электронной почте;

2.   Кодировка CP-866, используемая в основном в системе MS DOS. Данная кодировка не удовлетворяет требованиям международных стандартов – например из за совпадения ряда русских букв с кодами символов, используемых для управления передачей по линии. Система DOS постепенно уходит в прошлое Совместно с данной кодировкой;

3.   Кодировка Windows CP-1251, появившаяся значительно позже кодировки КОИ-8, при создании русской версии Windows создатели не стали пользоваться КОИ-8. В последние годы из за широкого распространения операционной системы Windows, кодировка Windows получает все большее распространение;

4.   Кодировка, используемая в компьютерах Apple Macintosh.

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

С переходом на кодировку Unicode данные проблемы должны исчезнуть. Кодировка Unicode включает в себя символы алфавитов всех европейских стран, а так же кириллицу. Большинство существующих компьютерных программ разработано на представлении одного символа в виде одного байта. В связи с чем сейчас достаточно часто применяются промежуточные решения: компьютерные программы используют внутреннее представление символов в кодировке Unicode (данные решения принято в языках Java и C#). Во время записи в файл символы Unicode приводятся в однобайтовую кодировку в соответствии с текущей языковой установкой.

В языке Си символьным переменным соответствует тип char представляющий значение символа, реализуемое одним байтом. Для работы с символами в кодировке Unicode язык C++ использует тип wchar_t, в который под каждый символ отводятся два байта.

сhar – хоть и относится к целочисленным типам данных, но работа с данным типом отличается, чем с целочисленным типам данных.

6. ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ И ВЫРАЖЕНИЯ

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

Для языка С++ определен логический тип данных bool, используемый один байт. Логические, или условные, выражения используются в качестве условий в программировании ветвлений "если ... то ... иначе ... конец если", а так же цикла "пока". В первом случае выполняется условие, в зависимости от истинности, ветвь программы после ключевого слова "то", или после "иначе"; во втором случае выполняется цикл до тех пор, пока условие остаются истинным.

Для выполнения элементарных условных выражений применяются операции сравнения. Соответственно данным способом можно проверить равенство двух выражений или определить их отличия (например какое из них меньше). Каждая операция сравнения использует два аргумента и создает логическое значение "истина" или "ложь" (true и false в языке C++). Для образца применим обозначения операций сравнения используемых в языке Си:

·    При выполнении операции проверки равенства двух выражений используем двойной знак равенства = =  (обычный знак равенства применяется для другой операции - присваивания);

·    Обозначение неравенства выглядит следующим образом ! = (в языке программирования Си восклицательный знак используется для отрицания);

·    При операции сравнения величин выражений используются знаки больше >, больше или равно >=, меньше <, меньше или равно <=.

Рассмотрим примеры логических выражений:

x == 0 – данное выражение истинно, если значение переменной x равно нулю, и ложно в противном случае;

0!= 0 - выражение ложно;

3>= 2 - выражение истинно.

Далее рассмотрим более сложные логические выражения и логические переменные: "и", "или", "не":

1.    Логическая операции "и" – результат будет истинен если истинны оба ее аргумента. К примеру, логическое выражение

5 <= y и y <= 6

истинно, при значении переменной y принадлежащей отрезку [5, 6]. Логическая операция "и" так же называется логическим умножением или конъюнкцией; в языке Си логическое умножение обозначается двойным амперсандом &&;

2.    Логическая операция "или" истинна, при истинности хотя бы одного из ее аргументов. Например, логическое выражение

x != 4 или y != 4

ложна исключительно только в случае если значения обоих переменных x и y будут равны нулю. Логическая операция "или" так же называется логическим сложением или дизъюнкцией; в Си логическое сложение обозначается двойной вертикальной чертой ||;

3.    Логическая операция "не" имеет только один аргумент. Ее результат истинен, когда аргумент ложен, и, наоборот, ложен, когда аргумент истинен. Например, логическое выражение

“не” x == 5

является истинным при значении переменной x отличающейся от 5 , тогда при значении переменной x отличной от 5 логическая операция "не" обозначается логическим отрицанием (иногда негацией); в Си логическое отрицание обозначается восклицательным знаком "!".

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

Существует чрезвычайно важная особенность при использовании операций логического сложения и умножения - так называемое сокращенное вычисление результата. В процессе выполнения логического умножения в первую очередь вычисляется значение первого. При ложном значении выражения делается вывод что и все значение выражения является ложным, при этом второй аргумент не вычисляется вообще! Благодаря данной особенности можно корректно использовать выражения вроде

x != 0 и y/x > 1

В процессе вычисления значения данного выражения в первую очередь выполняется вычисление первого аргумента конъюнкции "x != 0". В случае равенства переменной x нулю, первый аргумент является ложным, соответственно значение второго аргумента "y/x > 1" уже не вычисляется. Данная особенность позволяет избегать ошибки приводящие к аппаратному прерыванию, как в этом случае из-за деления на ноль.

Таким же образом выполняется логическое сложение. В первую очередь выполняется вычисление первого аргумента логической операции "или". При его истинности значение выражения полагается истинным, а второй аргумент не вычисляется вообще. Таким образом, операции логического сложения и умножения, строго говоря, не коммутативны. Существует вероятность что выражение "a и b" корректно, а выражение "b и a" - нет. В процессе программирования достаточно часто используется эта особенность при реализации логических операций. 

7. МАССИВЫ

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

Массив переменных или объектов состоит из определенного числа однотипных данных, называемых элементами массива. Все элементы массива индексируются последовательно, начиная с нуля.

Размещение элементов массива в памяти выполняется последовательно.

Количество элементов в массиве определяет размер массива и является константным выражением.

Имя массива определяет адрес первого элемента массива.

Все элементы массива имеют один и тот же тип. Элементы массива обычно нумеруются индексами от 0 до n-1, где n - число элементов массива. В некоторых языках программирования можно задавать границы изменения индексов, в других же нижняя граница значения индекса равна единице, а не нулю. Мы, тем не менее, будем придерживаться языка Си (а также C++, Java, C#), в котором нижней границей индекса всегда является ноль. Данная форма указания нижней границы индекса очень удобна, так как индекс элемента массива в этом случае соответствует его смещению относительно начала массива. Длина массива задается при его описании и является неизменной в процессе работы программы.

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

Пример:

целый a[150];  указан массив целых чисел размером 150 (индекс меняется от 0 до 149)

вещественный r[500]; указан вещественный массив из 500 элементов.

В языке Си данное описание выглядят следующим образом:

int a[150];

double r[500];

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

a[3] = 0;            элементу массива a с индексом 3 присваивается значение 0;

a[10] = a[10]*2;     элемент массива a с индексом 10 удваивается.

Массив – является самой важной конструкцией алгоритмического языка. Важность массива обусловлена тем, что в память компьютера в свою очередь логически представляет собой массив (если его рассматривать как массив байтов или как массив четырехбайтовых машинных слов). Индекс в данном массиве обычно называется адресом. Независимо от размера массива и величины индекса элементы массива читаются и записываются достаточно быстро, буквально за одно действие. Большое количество других структур данных используемых в программировании, моделируются на базе массива.

 В процессе создания массива память под все его элементы выделяется последовательно.. В многомерных массивах сперва меняются значения самого правого индекса.

К примеру, рассмотрим массив char a[2][4], которому будет выделено восемь байтов памяти, элементы массива будут размещены в следующем порядке:

элемент  a [0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3]

N байта  1     2        3        4         5        6         7         8

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

8. ТЕКСТОВЫЕ СТРОКИ

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

Изучены конкретные типы переменных, используемых в различных современных языках программирования, позволяющие нам расширить возможности по оптимизации программного обеспечения.

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

В результате можно сделать следующие выводы:

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

- оптимальное использование переменных в программировании позволяет нам сократить использование разнообразных ресурсов таких как информационные, человеческие и т.д.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

  1. Голикова В.А. Интернет-курс по дисциплине “Теория программирования” 2006, Московский финансово-промышленный университет “Университет”, 2006.
  2. Седжвик Роберт Фундаментальные алгоритмы C++. Анализ. Структуры данных. Сортировка. (М.: Диасофт, 2002).
  3. Тюгашев А.А. Основы программирования. Часть I. – СПб: Университет ИТМО, 2016.
  4. ГОСТ 28397-89 (ИСО 2382-15-85) Языки программирования. Термины и определения.