Лекции. Основные понятия и определения
Скачать 1.94 Mb.
|
4.7. Заключительные замечанияЕсли в состав выражения входят операнды разных типов, то, если возможно, выполняется автоматическое их преобразование к единому типу, а затем выполняется оператор. Правило преобразования: результат имеет тип операнда с большей точностью представления значения, т.е. преобразование не допускает потери информации. Такие преобразования называют расширяющими. Преобразования в обратном направлении, обычно при присваивании, называют сужающими или неявными. О них позже. Для языка Basic последовательность преобразования следующая: SByte→Integer→Long→Single→Double. Исключение: если один операнд имеет тип Single, второй – тип Long, то результат получает тип Double. В случае невозможности преобразования к единому типу возникает ошибка: Type mismatch – несогласование типов. Пример. Dim Operand1 As Sbyte, Orerand2 As Single, Operand3 As Long, Operand4 As Double ................................................................................................................................. Operand1 + Operand2 →Single Operand2 + Operand3 →Double Operand1 + Operand3 →Long Operand2 + Operand4 →Double Для языка C схема автоматических арифметических преобразований аналогична. Исключение: данные float всегда преобразуются к типу double с тем, чтобы вычисления выполнялись с максимально возможной точностью. Вопросы для самопроверки и контроляВопросы для самопроверки1. Чему равно выражение: -7\2? На каком языке оно написано? 2. Известно целое значение n. Как определить младшую цифру числа? 3. Как следует записать на языке C соотношение a? 4. Как на языке Basic записать условие попадания т.M(x,y) в квадрат с ценром в начале координат и стороной a? Контрольные вопросы1. В чем суть оператора ++? 2. Что означает оператор %? Как записывается аналогичный оператор в другом изучаемом языке? 3. В каком языке все операторы сравнения имеют одинаковый приоритет, а в каком нет? 4. Как кратко записать условие, показывающее, что выражения x и y имеют одинаковый знак? 5. Различаются ли правила обращения к функции в языках Basic и C? 5. ОСНОВНЫЕ ИНСТРУКЦИИИнструкция – это синтаксически завершенная единица языка, выражающая либо действие, либо объявление (декларацию). Инструкции выполняются в порядке их следования, если отсутствуют инструкции перехода. В данном разделе будут рассмотрены не все, а наиболее употребительные инструкции. Остальные будут вводиться по ходу изложения. 5.1. ОбъявленияСлужат для указания свойств (характеристик) компонентов данных. В данной части курса в качестве таких компонент фигурируют переменные и массивы. Во многих случаях одновременно с объявлением компонент происходит выделение памяти под них. Объявления такого рода принято называть определениями. Здесь будем рассматривать только определения. Определения переменных и массивов должны предшествовать манипуляциям над ними в тексте программы. CДля этой цели используются инструкции описания типа: int, short, float, double, char и другие. Пример. int Kol, Volume, ChisloStudentsOfCourse[5]; float Dlina, Weight, Matrix[10][10]; char Mistake[50], Message[100]; Замечание. Напомним, что ключевые слова используют малые буквы, в имена можно включать и те, и другие, причем транслятор их различает. BasicВ этом языке есть несколько инструкций для объявления. Пока введем только одну. Формат: Dim <список> <список>:=<элемент>[,<элемент>...] <элемент>:={<переменная>|<массив>} [As <тип>] Пример. Dim Kol As Integer, Volume As Integer, ChisloStudents(1 To 5 ) As Integer Dim Dlina As Single, Weight As Single, Matrix(1 to m, 1 to n) As Single Dim Mistake As String, Message As String Замечание 1. В отличие от предыдущих версий данные не позволяют объявлять строки фиксированной длины вида Message As String*20. Замечание 2. В отличие от языкаС в одной инструкции могут быть объявлены переменные и массивы разных типов, причем для переменных одного типа, записанных через , (запятая) подряд, можно указывать тип только для последней переменной списка. Если для переменной или массива не указан тип, то она принимает тип Object. О них речь пойдет позже. Пример. Dim x,y As Single, ChisloStudents(1 To 5 ) As Integer, b Здесь x и y имеют тип Single, ChisloStudents(1 to 5) – тип Integer, b – тип Object. |