Лекция 01. Тема Общая характеристика языков программирования высокого уровня
Download 4.1 Mb. Pdf ko'rish
|
Lektsii po YaP Lukinova 2 sem
2.3.Тип переменной.
Прежде чем рассматривать способы связывания переменной с ее типом, необходимо поговорить о самом понятии «тип данных», поэтому в данном разделе дается определение типа данных, описываются механизмы контроля типа и уровни типизации языка. Эти вопросы имеют особую значимость, т.к. определяют надежность ЯП. Определение. Тип переменной (данных) определяет (специфицирует): множество значений, которые может принимать переменная данного типа; множество операций, определенных над объектами данного типа; внутреннее представление данных и способ доступа к ним. Следствие 1. Если дан новый тип, то можно описать и инициировать, т.е. определить значение объекта этого типа. Следствие 2. Если даны две переменные некоторого типа, то их можно сравнить, по крайней мере, на равенство или неравенство. Следствие 3. Если два типа отличаются с точки зрения указанных свойств, то они считаются различными. Это определение говорит о том, что основа надежности ЯП заключается в возможности проверить, что любая операция, выполняемая над объектом данных соответствует специфицируемому типу этого объекта. Если два типа отличаются с точки зрения перечисленных свойств, то они считаются различными. Например, типы Array[1..10] of real; и Array[1..11] of real; различны. 2.3.1 Контроль типов Определение. Проверка, обеспечивающая анализ совместимости типов операндов оператора, называется контролем типов. Она заключается в определении типов выражений и их согласованности с правилами типизации языка программирования. Согласованность типов операндов может быть обеcпечена: вручную (программист следит сам, чтобы типы были согласованы); автоматически (с помощью функций преобразования типов или операций приведения типа). Операции приведения типа могут быть: суживающие – более широкий тип преобразуется к более узкому (float к типу integer); расширяющие. Расширяющее преобразование почти всегда безопасно. Проблема здесь может возникнуть только в следующем. В некоторых реализациях целые числа имеют размер 32 бита, что позволяет хранить 9 значащих десятичных цифр. Если значения с плавающей точкой также имеют размер 32 бита, то это 7 десятичных цифр. Поэтому точность в 2 цифры потеряется. Операции приведения могут быть реализованы двумя способами: явно, с помощью специальных функций (int(x), float(x), str(x) и т.д.); неявно, реализуется по правилам, заложенным при разработке ЯП. В теории языков нет единого мнения об использовании приведения типов арифметических выражений. С одной стороны, повышается гибкость программ от введения всевозможных приведений, с другой – приведение аннулирует выгоды от проверки типов и тем самым уменьшает надежность. Download 4.1 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling