Скачать 5.48 Mb.
|
Тема: Цикл с условием в С++ Цель: Создать программу, которая вычисляет значения функции заданного диапазона; необходимо организовать ввод границ интервала, значения n, шаг аргумента. Программа должна содержать такие части: чтение данных с консоли; основная (вычислительная) часть (содержит проверку условия, цикл, в котором устанавливается новое значение аргумента, отображается это значение, вычисляется значение функции, а затем увеличивается значение аргумента); вывод результатов (значения функции). Вид функции задается в отдельном задании в соответствии с номером в списке группы студентов (номер варианта). Теоретическая часть Основные типы данных Основные типы данных в C++ делятся на две категории: integer (целое число); floating (действительные числа). Группа целочисленных типов включает в себя такие типы: int, long, short, char, и bool. Все целые типы, за исключением bool, бывают двух видов: со знаком и без (signed and unsigned). Целые числа без знака, как предполагается, будут signed. Целые числа со знаком либо положительные либо отрицательные. Целые числа без знака всегда положительны. Символьные данные (char) рассматриваются как небольшие целые числа. Переменные типа char, как правило, используется для хранения кодов символов. Значения переменных с плавающей точкой являются вещественными числами. Группа типов с плавающей точкой включает в себя такие виды: float, double, и long double. Представления long double и double одинаково. Переменная типа char используется для хранения кодов знаков. Эти маленькие целочисленные значения могут быть представлены как знаки. Знак – это одна буква, цифра или другой символ. Символьная переменная хранит 1 байт и используется для содержания 256 ASCII символов. ASCII (American Standard Code for Information Interchange) - Американский Стандартный Код Обмена Информацией. Все прописные и строчные английские буквы, все цифры и все знаки препинания лежат в диапазоне от 1 до 128. Значения больше 128 используются для дополнительных знаков. Переменная типа bool может принимать значения true или false. 2.2 Константные величины Константы представляют фиксированные числовые или символьные значения. Целые константы могут быть десятичными (по основанию 10), восьмеричными (по основанию 8) или шестнадцатеричными (по основанию 16). Десятичные константы не должны использовать ноль. Целочисленная константа, включающая в себя ноль, интерпретируется как восьмеричная. Все константы начинающиеся на 0x (или 0X) считаются шестнадцатеричными. Суффикс L (или l) прикрепленный к любой константе показывает, что константа будет использована как long. Аналогично, суффикс U (или u) показывает принадлежность к типу unsigned. Вы можете использовать оба суффикса L и U с одной константой в любом порядке: ul, lu, UL, и так далее. Символьная константа формируется путем заключения одного символа из набора символов в одинарные кавычки (' '). Символьную комбинацию, состоящую из обратной косой черты (\), а затем дополненный буквой или комбинацией цифр, называют «управляющей последовательностью». Для представления новой строки, одинарных кавычек, или некоторых других символов в символьной константе, необходимо использовать управляющие последовательности. Управляющая последовательность рассматривается как одиночный символ, а, следовательно, как символьная константа. Управляющие последовательности, как правило, используются для определения таких действий, как возврат каретки и табуляции на терминалы и принтеры. Они также используются для обеспечения буквального представления непечатаемых знаков и символов, которые обычно имеют специальные значения, такие как двойные кавычки ("). 2.3 Инструкции (операторы) Инструкции (операторы) - это синтаксические конструкции, определяющие действия, выполняемые программой. Пустая инструкция состоит из одной точки с запятой. Инструкция-выражение представляет собой полное выражение, заканчивающееся точкой с запятой. Составная инструкция - это последовательность инструкций, заключенная в фигурные скобки. Составная инструкция часто именуют блоком. После закрывающей фигурной скобки в конце блока точка с запятой не ставится. Синтаксически блок может рассматриваться как отдельная инструкция, однако он также играет роль в определении видимости и времени жизни идентификаторов. Идентификатор, объявленный внутри блока, имеет область видимости от точки определения до закрывающейся фигурной скобки. Блоки могут неограниченно вкладываться друг в друга. Инструкции выбора - условная инструкция и переключатель. Условная инструкция применяется в двух видах: if (условное_выражение) { инструкция_1 } else { инструкция_2 } и if (условное_выражение) { инструкция_1 } При выполнении данной инструкции вычисляется условное выражение и если оно истинно (отлично от 0), то выполняется инструкция_1, а иначе - инструкция_2. Условное выражение может быть любого типа, приводимого к целому. В условии if может быть размещено определение переменной с инициализацией. В соответствии со стандартом языка такая переменная видна только в пределах условной инструкции (включая часть else). Переключатель позволяет выбрать одну из нескольких возможных ветвей вычислений и строится по схеме: switch ( целое_выражение ) { case константа_1: инструкции case константа_2: инструкции ... default: инструкции } Выполнение переключателя состоит в вычислении управляющего выражения и переходе к группе инструкций, помеченных case-меткой, равной управляющему выражению, если такой метки нет, выполняются инструкции по метке default (которая может отсутствовать). При выполнении переключателя происходит переход на инструкцию с выбранной меткой и дальше инструкции выполняются в естественном порядке. Для того, чтобы не выполнять оставшихся инструкций в теле переключателя, необходимо использовать операцию break. 2.4 Инструкции цикла Инструкции цикла представлены в трех вариантах: цикл с предусловием, цикл с постусловием и цикл с параметром. Цикл с предусловием строится по схеме while (выражение-условие) инструкция При каждом повторении цикла вычисляется выражение-условие и если значение этого выражения не равно нулю, выполняется инструкция - тело цикла. Цикл с постусловием строится по схеме: do инструкция while (выражение-условие); Выражение-условие вычисляется и проверяется после каждого повторения инструкции - тела цикла, цикл повторяется, пока условие выполняется. Тело цикла в цикле с постусловием выполняется хотя бы один раз. Цикл с параметром строится по схеме: for (E1; E2; E3) инструкция где E1, E2 и E3 - выражения скалярного типа. Цикл с параметром реализуется по следующему алгоритму: вычисляется выражение E1 (обычно это выражение выполняет подготовку к началу цикла); вычисляется выражение E2 и если оно равно нулю выполняется переход к следующей инструкции программы (выход из цикла); если E2 не равно нулю, выполняется инструкция - тело цикла; вычисляется выражение E3 - выполняется подготовка к повторению цикла, после чего снова выполняется выражение E2. В следующем примере сумма y = 12 + 22 + 32 + ... + n2 находится с помощью трех различных инструкций цикла. С помощью цикла while: int y = 0; int i = 1; while (i <= n) { y += i * i; i++; } С помощью цикла do . . . while: int y = 0; int i = 1; do { y += i * i; i++; } while (i <= n); С помощью цикла for: int y = 0; for (int i = 1; i <= n; i++) y += i * i; В сочетании с инструкциями цикла используются операции перехода - операция break, позволяющая прервать выполнение самого внутреннего из циклов, операция continue, прерывает текущую итерацию самого внутреннего из объемлющих его циклов while, do или for. Обычно break используется в конструкции: if (условие_досрочного_завершения_цикла) break; Операция break может также использоваться для выхода из тела переключателя. Инструкция goto позволяет перейти на метку. Метка - идентификатор с двоеточием, стоящий перед инструкцией. Использование инструкции goto в большинстве случаев нецелесообразно. Единственный случай разумного использования goto - выход из нескольких вложенных циклов сразу (break осуществляет выход только из одного внутреннего цикла): for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { for (int k = 1; k <= n; k++) { . . . if (/* Условие выхода */) goto label1; . . . } } } label1: // Последующие инструкции Задания для самостоятельного выполнения Добавьте меню к программе созданной в задании 1, которое регулирует вывод значений на экран в следующих диапазонах: 1)– N=1-5 ; 2) – N=1-10 ; 3) – N=1-30 Написать программу, которая вычисляет сумму первых п целых положительных четных целых чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом Литература Дж. Рихтер. Windowsдля профессионалов. – 3-е изд.: М: Русская редакция. 1993; 4-е изд: СПб: Русская редакция, 2001. – 752 с. [шифр библиотеки 681.3 Р-558] Д. Круглински, С. Уинглоу, Дж. Шеферд. Программирование на MicrosoftVisualC++ 6.0 для профессионалов. – СПб: Питер, М: Русская редакция, 2001. – 864 с. [шифр библиотеки 681.3 К-844] Архангельский А.Я. Программирование в C++Builder5. – М: БИНОМ, 2000. – 1152 с. Вильямс А. Системное программирование в Windows2000 для профессионалов. – СПб.: Питер, 2001 – 624 с. [шифр библиотеки 681.3 В-467]
Практическая работа №5 Тема: Работа с массивами в языке С++ Цель: Получение практических навыков в работе с массивами. В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем выполняет следующие действия: чтение данных с консоли; преобразование исходного массива в соответствии с шагом один из индивидуального задания; создание и заполнение нового (одномерного) массива типа double элементами, полученными в соответствии с шагом два из индивидуального задания; вывод результатов (оба массива). Программа должна выводить ошибки, если преобразование или заполнение массивов невозможно. При создании одномерного динамического массива используется оператор new и удаляется он перед концом программы с помощью оператора delete. Таблица 1.1 – Индивидуальные задания
Чтобы использовать стандартные математические функции вам необходимо подключить заголовочный файл cmath. В таблице 1.2 представлены некоторые используемые функции. Таблица 1.2 – Используемые функции
Теоретическая часть Массивы Массивы относятся к так называемым сложным, или составным типам данных. Массив - это структура данных, состоящая из элементов одного типа. В отличие от других структур данных (например, списков), элементы массивов всегда последовательно расположены в памяти. При объявлении массива после идентификатора в квадратных скобках задается константа (в частности именованная или константное выражение) - число элементов массива: int a[5]; // Массив из пяти элементов типа int const int n = 5; double a1[n]; // Массив из пяти элементов типа double Число элементов массива нельзя задавать переменной или неконстантным выражением. Массив может инициализироваться списком значений в фигурных скобках: int b[4] = {1, 2, 3, 4}; При наличии списка инициализации, охватывающего все элементы массива, можно не указывать число элементов массива, оно будет определено компилятором: int c[] = {1, 2, 3}; // Массив из трех элементов типа int Если размерность массива больше числа значений в списке, то не инициализированные явно элементы массива будут установлены в 0 (значение по умолчанию). Если размерность массива меньше числа значений в списке, возникнет ошибка компиляции. Один массив не может инициализироваться другим массивом и не может быть присвоен другому массиву. Чтобы скопировать один массив в другой, необходимо скопировать каждый элемент по очереди в цикле. Доступ к каждому элементу осуществляется по его номеру в массиве (индексу), который указывается после имени массива в квадратных скобках. В качестве индекса массива может использоваться любое выражение, которое приводится к целочисленному значению. Индексы элементов массива всегда начинаются с 0, индекс последнего элемента на единицу меньше числа элементов в массиве. Размерность массива известна транслятору только в момент определения массива. При использовании стандартных массивов невозможен какой-либо автоматический контроль выхода за пределы массива. 2 Многомерные массивы Массивы с размерностью 2 и более рассматриваются как массивы массивов и для каждого измерения указывается число элементов: double aa[2][2] = {1, 2, 3, 4}; // Матрица 2 * 2 То же самое, но более наглядно: double aa[2][2] = {{1, 2}, {3, 4}}; Первая размерность - это размерность по строкам, а вторая - по столбцам. При инициализации списка значений вторая и последующие размерности должны указываться явно. Для индексирования в многомерном массиве требуется пара скобок для каждого измерения: int i = 0, j = 1; aa[i][j] = i + j; структуру (массив), в которой вначале стоят элементы первой строки, потом второй и т.д. Литература Дж. Рихтер. Windowsдля профессионалов. – 3-е изд.: М: Русская редакция. 1993; 4-е изд: СПб: Русская редакция, 2001. – 752 с. [шифр библиотеки 681.3 Р-558] Д. Круглински, С. Уинглоу, Дж. Шеферд. Программирование на MicrosoftVisualC++ 6.0 для профессионалов. – СПб: Питер, М: Русская редакция, 2001. – 864 с. [шифр библиотеки 681.3 К-844] Архангельский А.Я. Программирование в C++Builder5. – М: БИНОМ, 2000. – 1152 с. Вильямс А. Системное программирование в Windows2000 для профессионалов. – СПб.: Питер, 2001 – 624 с. [шифр библиотеки 681.3 В-467]
Практическая работа №6 |
В соответствии с Федеральным законом от 24. 07. 2007 №221-фз «О государственном кадастре недвижимости» (далее Закон) в отношении... | |||
Количество образовательных программ бакалавриата, специалитета и магистратуры (без учета программ, реализация которых завершается... | ... | ||
Составление плана подготовки и проведения путешествия. Разработка маршрута, подбор картографического материала, составление схемы... | «Выдача разрешений на ввод линейных объектов, расположенных на территории двух и более поселений Добрянского муниципального района,... | ||
Портфолио учащегося: составление и использование: методические рекомендации./ Автор-составитель: Т. Б. Табарданова – Ульяновск: уипк... | Рабочая программа профессионального модуля «Составление и использование бухгалтерской отчётности» является частью основной профессиональной... | ||
Программа практики является составной частью профессионального модуля 04 Составление и использование бухгалтерской отчетности основной... | Предварительная проработка литературы по теме и составление «рабочего» плана курсовой работы 7 |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |