Вопросы ЮР (1). Классификация эвм. Области применения эвм. Обобщенная структура эвм
Скачать 0.7 Mb.
|
В языке C++ также существуют перечислимый тип – enum, который является подмножеством целого типа, и пустой тип – void, который имеет специальное назначение. Он используется для объявления функций, которые не возвращают никакого значения, а также для объявления указателей на значение типа void. Такие указатели могут быть преобразованы к указателям на любой другой тип. В языке С++ можно объявлять структуры и так называемые объединения. В языке C++ нет специальных типов для массивов и строк, которые представляются массивом символов. В языке С не существовало логического типа. Логические значения представлялись данными целого типа, при этом значение 0 соответствовало логическому значению ложь, а все остальные целые значения соответствовали логическому значению истина. В языке С++ сохранена данная логика. По определению, true имеет значение 1 при преобразовании к целому типу, а false – значение 0. И наоборот, целые можно неявно преобразовать в логические значения: при этом ненулевые целые преобразуются в true, а ноль – в false. В любом месте, где требуется логическое значение, может стоять целочисленное выражение. В арифметических и логических выражениях логические значения преобразуются в целые, операции выполняются над преобразованными величинами. Указатель можно неявно преобразовать в логическое значение, при этом ненулевой указатель принимает значение true, нулевой – false. Такой подход позволяет вместо логической и целочисленной переменных объявлять только целочисленную, при этом значение переменной, равное 0, говорит об отсутствии некоторого признака у объекта, а остальные значения говорят о его наличии, и при этом несут какую-либо дополнительную информацию. При выполнении бинарных операций производятся преобразования по умолчанию для приведения операндов к одному и тому же типу, который потом используется как тип результата: если один из операндов имеет тип long double, другой тоже преобразуется в long double; иначе, если один операнд имеет тип double, то второй операнд преобразуется к типу double; иначе, если один операнд имеет тип float, то второй операнд преобразуется к типу float; иначе над обоими операндами производится интегральное продвижение, а именно: значения типов char, signed char, unsigned char, short int и unsigned short int преобразуются в int, если int может представить все значения исходных типов, в противном случае они преобразуются в unsigned int; bool преобразуется в int. затем если один операнд имеет тип unsigned long, то второй операнд преобразуется к типу unsigned long; иначе, если один из операндов относится к типу long int, а другой к типу unsigned int, то если long int может представить все значений типа unsigned int, unsigned int преобразуется в long int, иначе оба операнда преобразуются в unsigned long int; иначе, если один операнд имеет тип long int, то второй операнд преобразуется к типу long int; иначе, если один операнд имеет тип unsigned int, то второй операнд преобразуется к типу unsigned int; иначе оба операнда имеют тип int. В языке С++ нет операций преобразования между символом и кодом символа, т.к. в оперативной памяти символ и так храниться в виде его кода. Поэтому можно к переменной, хранящей символ, прибавить 1 и получить следующий символ. Вычисление сумм и произведений конечного числа слагаемых. Структура программы на языке С, директивы препроцессора. Определение максимума и минимума функций. Операторы. Простой, структурный и составной операторы. Решение алгебраических уравнений с заданной погрешностью. Понятие выражения, арифметические и логические операции. Приоритет выполнения операций. Двумерные массивы. Особенности описания, индексации, ввода и вывода. Операции над множествами: объединение, пересечение и разность множеств. Алгоритмы сортировки (метод «пузырька», вставки и др.). Сравнение алгоритмов по быстродействию. Понятие счетчика, его использование для формирования массивов с заданными свойствами. Вложенные циклы, назначение, основные правила их использования. Применение вложенных циклов для матричных операций. Любой цикл, содержащий внутри себя один или несколько других циклов, называется вложенным. Цикл, охватывающий другие циклы, называется внешним, а остальные циклы - внутренними. Типы циклических алгоритмов внешнего и внутреннего циклов при этом могут быть любыми. Внутренний цикл, от подготовки до завершения, должен находиться внутри внешнего, точнее, быть его телом. Правила организации, как для внешнего, так и для внутреннего циклов такие же, как и для простого одиночного цикла. Параметры этих циклов изменяются не одновременно, то есть при одном значении параметра внешнего цикла параметр внутреннего цикла принимает по очереди все свои значения. Согласно типовой блок-схеме организации ЦВП внутренний цикл во вложенных ЦВП выступает в роли тела цикла для внешнего цикла. Вложенные циклические процессы наиболее часто встречаются при программировании вычислительных процессов, содержащих многомерные массивы (матрицы), при вычислении таблиц значений функций, зависящих от большого числа аргументов, и во многих других задачах. В принципе количество подобных вложений может быть любым. При этом согласно типовой блок-схеме организации циклических вычислительных процессов каждый внутренний цикл по отношению к внешнему циклу является телом цикла для внешнего цикла. Общий вид графической схемы цикла в цикле изображен на рис. Здесь внешний цикл – цикл с предусловием, внутренний цикл – цикл с постусловием. Рабочая часть внешнего цикла выделена пунктирной линией. Число выполнений команд рабочей части внутреннего цикла может быть найдено как произведение числа повторений внутреннего цикла на число повторений внешнего цикла. Операции над множествами: объединение, пересечение и разность множеств. Традиционные операции над множествами: объединение (UNION), пересечение (INTERSECT), разность (MINUS) и декартово произведение (TIMES). Все операции модифицированы, с учетом того, что их операндами являются отношения, а не произвольные множества. Объединением или суммой множеств A и B называется множество, состоящее из элементов, каждый из которых принадлежит хотя бы одному из этих множеств. Объединение множеств обозначают A B (или A +B). Пересечением или произведением множеств A иB называется множество, состоящее из элементов, каждый из которых принадлежит множеству A и множеству B одновременно. Пересечение множеств обозначают AB (илиA·B). A B =A ·B Разностью множеств A и B называется множество, каждый элемент которого является элементом множества Aи не является элементом множества B. Разность множеств обозначают A/B. Основные приемы программирования: поиск максимума и минимума, нахождение сумм и произведений применительно к массивам. Понятие счетчика, его использование для формирования массивов с заданными свойствами. Оператор цикла for: структура оператора, блоки инициализации, проверки условия и модификации. |