Скачать 0.59 Mb.
|
Анализ и спецификация: Понять и определить суть задачи, а также требования к решению. Общее решение (алгоритм): Разработать логическую последовательность шагов, приводящую к решению. Проверка: Убедиться в правильности решения, повторив все этапы.
Конкретное решение (программа): Перевести алгоритм на язык программирования. Тестирование: Запустить программу на компьютере, а затем проверить результаты по шагам при помощи отладчика. Если обнаружены ошибки, проанализировать программу и алгоритм, найти источник ошибок и исправить их.
Тест (test) – контрольный пример – совокупность таких входных данных, на основании которых заранее определяется значение выходных данных. Тесты:
Использование: Эксплуатация программы. Поддержка: Изменение программы в соответствии с новыми требованиями, а также исправление ошибок, выявленных при её эксплуатации.
Кодирование Кодирование алгоритма процесс перевода алгоритма на язык программирования. Исходная программа (source program) – программа на языке программирования. Записанная на магнитный диск исходная программа на языке C++ – исходный файл с расширением .cpp. Компиляция Компилятор – программа, которая переводит язык высокого уровня в машинный код. Объектная программа (object program) – программа в машинном коде, полученная в результате трансляции исходной программы. Записанная на магнитный диск объектная программа – объектный файл с расширением .obj. Компоновка Компоновщик – программа, которая собирает программу в единое целое из объектных программ с привлечением библиотечных и стандартных подпрограмм. Исполняемая программа (executable program) – полученная в результате компоновки программа, которая может быть загружена в оперативную память компьютера для исполнения. Записанная на магнитный диск исполняемая программа – исполняемый файл с расширением .exe.
Точка останова — функция MVC++ позволяющая во время работы программы перейти в режим отладки В процессе пошаговой трассировки существует возможность просмотра переменных. Для прерывания режима отладки следует нажать SHIFT+F5 ^ — совокупность таких входных данных, на основании которых заранее определяется значение выходных данных.
Данные Необходимые для работы данные хранятся в памяти компьютера. Каждая область памяти имеет однозначно определённый адрес, на который ссылаются, когда необходимо сохранить или прочесть данные. Адрес расположения данных в памяти – это двоичное число в машинном коде. В C++ идентификаторы (имена) используются для того, чтобы назвать ту или иную область памяти. Компилятор транслирует имена в соответствующие адреса. ^ В языке C++ каждый элемент данных должен принадлежать к какому-либо определённому типу данных (data type). Тип определяет, в каком виде данные представлены в компьютере, какой размер памяти они занимают и какие преобразования компьютер может к ним применять. Тип данных – множество допустимых значений данных вместе с набором операций, применимых к этим значениям. Виды типов данных
Базовые типы данных можно разделить на три категории:
^ Типы char, short, int и long называются целыми (integer types), так как они относятся к целым (без дробной части) числам. Целый тип, перед которым имеется слово unsigned, принимает только неотрицательные значения. Тип bool логический тип. Типы float, double и long double называются типами с плавающей точкой (floating point types), или вещественными, так как они используются для представления вещественных чисел. Типы char, short, int, long предназначены для представления целых чисел разной длины, от коротких (меньше битов), до длинных (больше битов). Длина ячейки каждого типа является машинно-зависимой. Чем больше битов отведено для ячейки памяти, тем большее значение можно в ней хранить.
Подробнее о типе char Иногда используется для экономии памяти в программах, работающих с маленькими целочисленными значениями.Обычно используется для описания данных, состоящих из отдельных алфавитно-цифровых символов. В языке C++ символы заключаются в апострофы.Символы можно сравнивать. Сравнение происходит в лексикографическом порядке. Тип bool Относится к типу целых. Может принимать только значения true или false. Значения true и false связаны друг с другом следующими отношениями: ! false == true ! true == false ^ Операнды – константы, переменные, указатели. Если один операнд – это указатель, то второй – не может быть указателем, а должен иметь один из базовых типов (кроме типа bool). Сложение (Addition) x + y Вычитание (Subtraction) x – y Операнды не могут быть указателями: Умножение (Multiplication) x * y Деление (Division) x / y Остаток от деления (Modulus) x % y ^ Операнды – константы, переменные, указатели. Результат операций имеет тип int. Логическое И (AND) x && y [И равно 1, если x и у не равны 0, иначе 0.] Логическое ИЛИ (OR) x || y [ИЛИ равно 0, если x и у равны 0, иначе 1.] Логическое НЕ (NOT) ! x [ОТРИЦАНИЕ равно 0, если x равен 1, иначе 1.] Поразрядные операции Операнды – константы и переменные целого типа. Поразрядное логическое И x & y [Разряд результата равен 1, если оба разряда x и у равны 1, иначе 0.] Поразрядное логическое ИЛИ x | y [Разряд результата равен 0, если оба разряда x и у равны 0, иначе 1.] Поразрядное исключающее ИЛИ x ^ y [Разряд результата равен 0, если оба разряда x и у одинаковые, иначе 1.] Поразрядное логическое НЕ ! x [Разряд результата равен 1, если разряд x равен 0, иначе 1.] Отношения Операнды – константы, переменные, указатели. Результат имеет тип int. Меньше (Less than) x < y [Результат равен 1, если x меньше у, иначе 0.] Меньше или равно (Less than or equal to) x <= y [Результат равен 1, если x меньше или равен у, иначе 0.] Больше (Greater than) x > y [Результат равен 1, если x больше у, иначе 0.] Больше или равно (Greate than or equal to) x >= y [Результат равен 1, если x больше или равен у, иначе 0.] Равно (Equality) x == y [Результат равен 1, если x равно у, иначе 0.] Не равно (Not Equal) x != y [Результат равен 1, если x не равен у, иначе 0.] Операции инкремента и декремента Инкремент (increment) – операция увеличения на 1. Декремент (decrement) – уменьшение на 1. Операнд – переменная, указатель. Результат имеет тип операнда. Постфиксная (postfix) операция – сначала операнд используется, затем выполняется действие. Increment x++ Decrement x–– Префиксная (prefix) операция – сначала над операндом производится действие, затем он используется. Increment ++x Decrement ––x ^ Операнды – константы, переменные, указатели. Присваивание (Assignment) x = y y приводится к типу x. x получает значение y. x Операция = y Операция – одна из следующих операций + – * / % & | ^ << >> x += 5 x /= y x *= x m %= 2 x = x+5 x = x/y x = x * x m = m%2 ^ Разыменовывание (Indirection) *x. Значение по адресу, хранящемуся в x, который должен быть указателем. int* pn; int n; pn = &n; *pn = 7; Адрес (Address-of) &x. Адрес операнда x, который не является указателем. int a [ 100 ]; int* pa; pa = &a [ 0 ]; Ссылка (Reference) Тип& x. Псевдоним операнда x. int B = 1; int& psevdoB = B; psevdoB = 5; B получает значение 5 Индексация (Subscript) x [ y ]. Значение по адресу x + y, приведённое к типу x. float m [ 10 ] [ 10 ]; m [ 1 ] [ 2 ] = 526.5; Доступ к элементу (Member access) x.y. Значение элемента y объекта (структуры, объединения) x. class CD { short n; … }; CD cd; cd.n = 5; Доступ к элементу (Member access) x–>y. Значение элемента y объекта (структуры, объединения) с адресом x. CD* cd; cd = new CD; cd–>n = 5; Указатель на член класса (Pointer-to-member) *x.y. Значение элемента с адресом y объекта (структуры, объединения) x. class CD { short* n; … }; CD cd; cout << *cd.n; Pointer-to-member x–>y. Значение элемента с адресом y объекта (структуры, объединения) с адресом x. class CD { short* n; … }; CD* cd = new CD; cout << *cd–>n; ^ Операнды – любые выражения. Запятая (Comma) x , y. x вычисляется прежде y. int x = 2; int y = 2; int z; x += y, z = x * y;
Идентификатор (identifier) – имя, связанное с функцией или с объектом данных. Используются для обращения к функции или объекту данных. Идентификатор, как правило, состоит из последовательности букв, цифр и символов подчёркивания. Константа (constant) – это величина, значение которой постоянно. Значение константы нельзя изменить непосредственно. Константы бывают:
Переменная – это обозначенная идентификатором область памяти, в которой хранятся изменяемые значения данных.При объявлении переменной идентификатор связывается с областью памяти, содержимое которой имеет определённый тип (например, char, int, float).Значениями переменных могут быть константы соответствующего типа. ^ Переменная, объявленная внутри функции, является локальной переменной. Переменная, объявленная вне тела функции, является глобальной переменной. Одна и та же переменная может быть описана на глобальном, затем на локальном уровне. Для получения доступа к глобальным переменным из класса используется оператор расширения области видимости ::переменная
Операнды – константы, переменные, указатели. Если один операнд – это указатель, то второй – не может быть указателем, а должен иметь один из базовых типов (кроме типа bool).
Операнды – константы, переменные, указатели. Результат имеет тип int. Меньше (Less than) x < y [Результат равен 1, если x меньше у, иначе 0.] Меньше или равно (Less than or equal to) x <= y [Результат равен 1, если x меньше или равен у, иначе 0.] Больше (Greater than) x > y [Результат равен 1, если x больше у, иначе 0.] Больше или равно (Greate than or equal to) x >= y [Результат равен 1, если x больше или равен у, иначе 0.] Равно (Equality) x == y [Результат равен 1, если x равно у, иначе 0.] Не равно (Not Equal) x != y [Результат равен 1, если x не равен у, иначе 0.]
Операнды – константы, переменные, указатели. Результат операций имеет тип int. Логическое И (AND) x && y [И равно 1, если x и у не равны 0, иначе 0.] Логическое ИЛИ (OR) x || y [ИЛИ равно 0, если x и у равны 0, иначе 1.] Логическое НЕ (NOT) ! x [ОТРИЦАНИЕ равно 0, если x равен 1, иначе 1.]
Условный оператор if Вычисляется выражение. Если выражение истинно, то выполняется оператор. Если выражение ложно, то ничего не делается. ^ Вычисляется выражение. Если выражение истинно, то выполняется оператор 1. Если выражение ложно, то выполняется оператор 2. if ( a == x) temp = 3 ; else temp = -3 ; Операция ?: C++ имеет ещё условную операцию (?:), которая близка к структуре if/else Условная операция - единственная трехчленная (тренарная операция) в C++, имеющая 3 операнда. Эти операнды вместе с условной операцией формируют условное выражение. Первый операнд является условием, второй операнд содержит значение условного выражения в случае, когда условие истинно, а третий оператор равен значению условного выражения, если условие ложно. cout << (grade >= 60 ? "Зачёт" : "Незачёт") << endl ;
Оператор цикла while Вычисляется выражение. Если выражение истинно, то оператор выполняется до тех пор, пока выражение не станет ложным. Если выражение ложно, то управление передаётся следующему оператору. x = 2; while ( x < n ) {x = x * x ; x++ ;} ^ Оператор выполняется. Вычисляется выражение. Если выражение истинно, то оператор выполняется до тех пор, пока выражение не станет ложным. Если выражение ложно, то управление передаётся следующему оператору. x = 2 ; n = 10 ; do x = x * x ; while ( ++x < n ) ; ^ for ( выражение 1; выражение 2; выражение 3 ) оператор ; Выражение 1 выполняется. Вычисляется выражение 2. Если выражение 2 истинно, то оператор и выражение 3 выполняются до тех пор, пока выражение 2 не станет ложным. Если выражение 2 ложно, то управление передаётся следующему оператору. for ( x = 2; x < n; x++ ) x = x * x ; |
![]() | Задача А. Конец к-ого урока в школе продолжительность каждого урока... Московская окружная олимпиада по информатике для старших классов. 6 декабря 2009 года Во всех задачах входные данные вводятся с клавиатуры,... | ![]() | Сто сибупк 601–2007 Стандарторганизаци и Настоящий стандарт устанавливает процедуру анализа смк университета со стороны руководства. Стандарт определяет: периодичность сбора... |
![]() | Руководством Каменской Е. И. и Кухарева Г. А. Входные данные Локализация глаз, детектирование зрачка, детектирование внутренних и внешних уголков глаз | ![]() | Персональные данные Квалификационные документы должны соответствовать таблице требования к сертификации … |
![]() | Данные, которые не изменяются в программе, называются константами.... Данные это формализованное представление информации. В компьютерной программе данные – это значение объектов программы. Данные С++... | ![]() | Тесты А19, А21, А24 ... |
![]() | Решением Президиума Высшей аттестационной комиссии Минобрнауки России По изданиям, отмеченным (+) редакции журналов должны до 31. 12. 2010 уточнить представленные данные по e-mail | ![]() | Тесты по высшей математике. Часть 1: Метод указания / О. М. Карпилова,... Тесты предназначены для самопроверки и подго-товки студентов к тестированию по указанным темам |
![]() | Экзаменационные билеты (тесты) Экзаменационные билеты (тесты) по блоку Б. 11 «Требования промышленной безопасности на взрывоопасных объектах хранения и переработки... | ![]() | Экзаменационные билеты (тесты) Экзаменационные билеты (тесты) по блоку Б. 10 «Требования промышленной безопасности при транспортировании опасных веществ» |