пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Язык программирования Pascal. Переменные. Простые типы данных: целочисленные, вещественные, логические, символьные. Операции над переменными этих типов. Преобразование типов.

Паскаль (Pascal) разрабатывался, как учебный язык выского уровня, структурного программирования. Относится к 3-му поколению языков программирования.  На основе ALGOL.

 

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

 

Типы данных

https://lh4.googleusercontent.com/a2oF8VzMB2UIkimcolTH20EY3Pi-iNmzq-4XNn--C2sGiRxHjJ8UPA0LBCymwFz1JilRjd4gdUjRvH9Bhx33ralin8UsXMuo8ofC5bAaTs0phE7vA1XjcikOoUc

 

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

 

Целые типы Рассмотрим работу компьютера с целым типом данных. l Пусть переменная целого типа занимает 1 байт (такой тип данных существует - byte) в памяти компьютера. l 1 байт = 8 бит, следовательно для данного числа в памяти компьютера выделено 8 ячеек памяти, в каждой из которых может находиться 0 или 1, иначе говоря для записи переменной данного типа может быть использовано восьмизначное двоичное число. l Первое такое число (0) будет иметь двоичное представление вида 00000000, далее (1) - 00000001, (2) - 00000010, (3) – 00000011, (4) - 00000100… Последнее число будет иметь двоичный вид: 11111111. l Всего таких чисел будет 2^8=256. Следовательно, последнее число будет числом 255. l Таким образом, мы получили диапазон 0..255, для целых чисел размером 1 байт. Если выделить под переменную 2 байта, то целый положительный тип будет давать диапазон от 0 до 2^16-1=65535, а целый знаковый тип – от -2^15 до 2^15-1, т.е -32768..32767, что соответствует типам word и integer. Для всех целых типов функция ord(x) возвращает значение этого типа: ord(x)=x. l

 

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

-х знак минуса, х+у сложение, x*y умножение, x-y вычитание,  x div y целочисленное деление, x mod y остаток от деления, sqr(x) квадрат, abs(x) модуль, random(x) случайное целое от 0 до х-1. При действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, - типу того операнда, который имеет максимальный диапазон значений. l Возможное переполнение результата в некоторых компиляторах никак не контролируется, что может привести к недоразумениям.

Сложение осуществляется побитово: следовательно, в результате операции 11111111+2 получаем 100000001, первого бита для данного типа не существует, поэтому результат равен 00000001, т.е. 1.

 

Символьный тип в Паскале носит название char. Переменная символьного типа занимает 1 байт. l Значением символьного типа является множество всех символов ПК. l Каждому символу приписывается целое число в диапазоне 0...255. Это число служит кодом символа, его возвращает функция ord(c), где с – символьная переменная. l Обратная функция chr(x), где x – число от 0 до 255 возвращает символ по его коду. Для кодировки используется код ASCII (American Standard Code for Information Interchange). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В 8-битном байте, отведенном для хранения символа в Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Вторая половина символов с кодами 128...255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов.

 

Логический тип данных в Паскале носит название boolean. Переменная логического типа занимает 1 байт. Значениями переменных логического типа может быть одна из логических констант: FALSE (ложь) или TRUE (истина). Для них справедливо: ord(False) = 0, ord(True) = 1. Логические переменные образуются при применении к числовым выражениям операций отношения: <> - неравно

 

Операции с логическими переменными Для работы с логическими переменными существует набор специальных логических операций: отрицание (not), конъюнкция (логическое И, and), дизъюнкция (логическое ИЛИ, or), исключающее ИЛИ (xor). Операции с логическими переменными имеют высокий приоритет, поэтому, если операндами являются отношения, их нужно заключать в скобки, например (x=2) and (x<10). Результаты логических операций: представлены в таблице:

https://lh5.googleusercontent.com/UZZ8SujZC1MphzL2Rgs6ZIt2tZd_6JwZlAZJ81KFq10Ap87VX7arnDCngekjU6P3Rly6B3jc2a7PiRt-Ckz7qA2mDMs6Eex65b2DbfPakvCx-OxpnMhS5NgrEX8

Вещественные типы. В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляются в ПК абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа. Вещественное число хранится в памяти компьютера в экспоненциальной форме: ±0.XXXXXXXXe ±YY знак мантиса порядок. Мантисса имеет длину от 23 до 63 битов, что и обеспечивает точность от 7.. .8 до и 19.. .20 десятичных цифр. Десятичная точка подразумевается перед левым (старшим) разрядом мантиссы. При действиях с числом положение десятичной точки сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой.

 

Вещественные типы

https://lh5.googleusercontent.com/VebgbmHPq4LV9gc2zujeGh6lIWxVVP-rMOWRgB0yXB97AagCmIwaXmuoxEI8axL4bQ8JpxgUnmsDVFXQxTYdRCA0YxN3720fZegLIksDb4ys4nnjeg5Xb4irKtg

 

Операции с вещественными переменными. Для вещественных переменных замкнуты четыре арифметических операции: сложение (+), вычитание (-), умножение (*), деление (/), кроме того возможно целочисленное деление (div). Для работы с вещественными данными могут использоваться встроенные математические функции, представленные в таблице

https://lh6.googleusercontent.com/zqUEZoxmKxf1rQ-GwG3pNIfPhrXvWjnwzRI26hFxduX4P-QPYLkzsbNBMeJgsHh2sPn7p_PSZMsxf7HFMEv7ol3DcqQEiF7nWQtUw-ncZtwNybdOnm3TdeABuXE

 

Преобразование типов Вопросы преобразования между типами данных особенно актуальны для преобразований между вещественными и целыми числами. Для округления вещественного числа до целого применяют функцию round(x). Для отбрасывания дробной части вещественного числа и превращения его в целое применяют функцию trunc(x). Обратное преобразование выполняется автоматически Также при делении двух целых чисел или применении к целым числам любой вещественнозначной функции получается вещественное число.

6.


22.01.2015; 18:41
хиты: 3145
рейтинг:+1
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь