- •4. Понятие объекта программы. Виды объектов: константа, переменная, функция. Задание (определение) объектов программы.
- •Константы
- •1. Понятие алгоритма. Свойства алгоритма.
- •9. Неодродные типы (структура). Характеристика основных составляющих неоднородных типов.
- •10. Понятие ссылочного типа (тип указатель). Характеристика основных составляющих типа указатель.
- •11. Понятие файла. Виды файлов: текстовые, двоичные. Способы обращения к элементам файлов. Операции над файлами.
- •14. Языковые средства вычислений над данными: выражение, оператор присваивания. Синтаксис и симантика выражения и опретора присваивания.
- •12. Совместимость типов. Преобразование типов.
- •Циклические управляющие структуры
- •18. Понятие структурного программирования.
- •19. Понятие подпрограммы и модульного программирования. Цели модульного программирования. Виды подпрограмм: функция, процедура.
- •Подпрограммы
- •20. Синтаксис и семантика функции языка с.
- •22. Понятие формального параметра. Использование формального параметра для передачи данных в подпрограмму (исходных данных и результатов).
- •23. Понятие фактического параметра подпрограммы. Правила связывания формального и фактического параметров.
- •25. Понятие рекурсии. Глубина рекурсии. Механизм реализации рекурсий в языках программирования.
- •24. Модульно - блочная структура программы и правила локализации объектов.
- •Местом или областью локализации может быть:
- •Способ связывания:
14. Языковые средства вычислений над данными: выражение, оператор присваивания. Синтаксис и симантика выражения и опретора присваивания.
ВЫРАЖЕНИЕ – множество взаимосвязанных операций над переменными и константами и скобок «()», в котором результат одной операции является операндом другой.
Выражение задает правило вычисления нового значения. Выражение состоит из операций и операндов. Операции определяют действия выполняемые над операндами. Операндом выражения может быть константа, переменная, выражение. Выражение, входящее как операнд в другое выражение
может быть первичным выражением, таким как, например, вызов функции или выражением, заключенным в круглые скобки.
Результат вычисления значения выражения зависит от порядка выполнения операций и их приоритета. Для задания правильного порядка вычислений используются скобки, они повышают приоритет операции. Но для операций, обладающих свойством коммутативности, не гарантируют определенный порядок вычисления.
Оператор присваивания
В простейшем случае общий вид оператора: V = E;
Здесь V – имя переменной, а E – выражение. В операторе присваивания используется операция присваивания = .
Тип вычисленного значения выражения перед присваиванием преобразуется к типу переменной по правилам преобразования типов.
12. Совместимость типов. Преобразование типов.
В выражениях в качестве операндов могут присутствовать переменные и константы разных типов (здесь и далее мы ограничимся пока только известными нам базовыми типами данных). Результат каждой операции также имеет свой определенный тип, который зависит от типов операндов. Если в бинарных операциях типы данных обоих операндов совпадают, то результат будет иметь тот же самый тип. Если нет, то транслятор должен включить в код программы неявные операции, которые преобразуют тип операндов, то есть выполнить ПРИВЕДЕНИЕ ТИПОВ. Преобразование типов может включать в себя следующие действия:
-увеличение или уменьшение разрядности машинного слова, то есть “усечение” или “растягивание” целой переменной;
-преобразование целой переменной в переменную с плавающей точкой и наоборот;
-преобразование знаковой формы представления целого в беззнаковую и наоборот.
В тех случаях, когда программиста не устраивает принятый порядок неявного преобразования типов, он может сам преобразовать результат к такому типу, какой ему необходим. Это можно сделать, в частности, путем присваивания результата дополнительной переменной, во время которого требуемое преобразование будет произведено. Но он может сделать то же самое внутри выражения "на лету" с помощью специальной операции. Она представляет собой имя типа, к которому осуществляется приведение, заключенное в круглые скобки и стоящее перед операндом. В качестве примера рассмотрим получение дробной части числа:
double x,d; // double x,d; int n;
d = x - (int)x; // n = x; d = x - d;
При выполнении операции, как правило, происходит преобразование типов ее операндов к общему типу. Преобразования по умолчанию осуществляются следующим образом:
1) все операнды типа float преобразуются к типу double;
2) если один операнд имеет тип long double, то второй операнд преобразуется к типу long double;
3) если один операнд имеет тип double, то второй операнд преобразуется к типу double;
4) если один операнд имеет тип unsigned long, то второй операнд преобразуется к типу unsigned long;
5) если один операнд имеет тип long, то второй операнд преобразуется к типу long;
6) если один операнд имеет тип unsigned int, то второй операнд преобразуется к типу unsigned int;
7) все операнды типа char преобразуются к типу int;
8) все операнды типа unsigned char преобразуются к типу unsigned int;
9) иначе оба операнда имеют тип int.
Тип значения выражения имеет тип результата последней выполняемой операции в этом выражении
15. ЯЗЫКОВЫЕ СРЕДСТВА УПРАВЛЕНИЯ ВЫЧИСЛЕНИЯМИ: ВЕТВЛЕНИЯ, ЦИКЛЫ (ПОНЯТИЕ, НАЗНАЧЕНИЕ, СТРУКТУРНАЯ СХЕМА, ВИДЫ).
Вычислительный процесс, в котором многократно повторяются вычисления по одним и тем же формулам, называется циклическим (или просто циклом). В основе реализации цикла лежит обобщенное представление (запись) многократно повторяющихся действий.
Таким образом, в самом общем виде структурная схема цикла содержит три части:
- действия по подготовке цикла к первому исполнению;
- действия, являющиеся основным содержанием данного вычислительного процесса – тело цикла;
- действия, отслеживающие повторение тела цикла – проверка условия продолжения или условия окончания повторений.
Блок-схема алгоритма вычисления значения полинома n–й степени для заданного значения x:
Для итерационных методов характерны стереотипные вычисления, связанные с переходом от одного приближения к следующему. Это позволяет записывать соответствующие этим методам алгоритмы в виде циклических, причем число повторений этих стереотипных вычислений (итераций) заранее, как правило, неизвестно и зависит от начального приближения и допустимой погрешности. Характерным условием окончания цикла является некоторое отношение, связывающее разность последовательных приближений и допустимую погрешность.