Файл: Классификация эвм. Области применения эвм. Обобщенная структура эвм.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.12.2023
Просмотров: 55
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Начальное значение слагаемого находим по формуле
-
Алфавит языка С, константы, переменные. Понятие типа данных, его связь с представлением данных в ЭВМ.
Множество символов языка C включает:
прописные буквы латинского алфавита;
строчные буквы латинского алфавита;
арабские цифры;
разделители: , . ; : ? ! ' " | / \ _ ^ ( ) { } [ ] < > # % & - = + *
Остальные символы могут быть использованы только в символьных строках, символьных константах и комментариях. Язык C++ различает большие и маленькие буквы, таким образом, name и Name – разные идентификаторы.
Литералы в языке C++ могут быть целые, вещественные, символьные и строковые.
Целые (можно испрользовать апостроф как разделитель групп разрядов):
десятичные: 10, 132, -32179, 2'147'483'647;
двоичные (предваряются символами «0b»): 0b11, 0b1010b, 0b1111'0011;
восьмеричные (предваряются символом «0»): 010, 0204, -076663;
шестнадцатеричные (предваряются символами «0х»): 0хА, 0x84, 0x7db3.
Вещественные: 15.75, 1.575e1, .75, -.125
Символьные: 'a', 'e', '.', '?', '2'.
Строковые: "строка".
Комментарий – это последовательность символов, которая игнорируется компилятором языка C++. Комментарий имеет следующий вид: /*<символы>*/. Комментарии могут занимать несколько строк, но не могут быть вложенными. Кроме того, часть строки, следующая за символами //, также рассматривается как комментарий.
Разумное использование комментариев (и согласованное употребление отступов) может сделать чтение и понимание программы более приятным занятием. При неправильном использовании комментариев читабельность программы может, напротив, серьёзно пострадать. Компилятор не понимает смысл комментариев, поэтому не существует способа проверить, что комментарий:
содержателен;
имеет какое-то отношение к программе;
не устарел.
Удачно подобранный и написанный набор комментариев является существенной частью хорошей программы. Написание «правильных» комментариев может оказаться не менее сложной задачей, чем написание самой программы.
На уровне библиотек/программ/функций комментарии отвечают на вопрос «ЧТО?»: «Что делают эти библиотеки/программы/функции?». Например: // Эта функция использует метод Ньютона для вычисления корня функции. Такие комментарии позволяют понять, что делает программа, без необходимости смотреть на исходный код.
Внутри библиотек/программ/функций комментарии отвечают на вопрос «КАК?»: «Как код выполняет задание?». Например: // Чтобы получить случайный элемент, мы делаем следующее: …
На уровне однострочного кода комментарии отвечают на вопрос «ПОЧЕМУ?»: «Почему код выполняет задание именно так, а не иначе?». Плохой комментарий на уровне операторов объясняет, что делает код. Если вы когда-нибудь писали код, который был настолько сложным, что нужен был комментарий, который бы объяснял, что он делает, то вам нужно было бы не писать комментарий, а переписывать этот код.
Имя | Размер | Представляемые значения | Диапазон |
bool | 1 байт | логические | false, true |
(signed) char | 1 байт | символы целые числа | от –128 до 127 |
wchar_t | 2 байта | символы Unicode | от 0 до 65535 |
(signed) short int | 2 байта | целые числа | от -32768 до 32767 |
(signed) int | зависит от реализации (в последних компиляторах обычно 4 байта) | целые числа | |
(signed) long int | 4 байта | целые числа | от -2147483648 до 2147483647 |
(signed) long long int (signed) __int64 (MS) | 8 байт | целые числа | от –9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 |
unsigned char | 1 байт | символы целые числа | от 0 до 255 |
unsigned short int | 2 байта | целые числа | 0 до 65535 |
unsigned int | зависит от реализации (в последних компиляторах обычно 4 байта) | целые числа | |
unsigned long int | 4 байта | целые числа | от 0 до 4294967295 |
(unsigned) long long int (unsigned) __int64 (MS) | 8 байт | целые числа | от 0 до 18,446,744,073,709,551,615 |
float | 4 байта | вещественные числа | от 1.175494351e–38 до 3.402823466e+38 |
double | 8 байт | вещественные числа | от 2.2250738585072014e–308 до 1.7976931348623158e+308 |
long double | зависит от реализации | вещественные числа | |
В языке 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).