Составление линейных программ на С++ 10


НазваниеСоставление линейных программ на С++ 10
страница3/26
ТипПрактическая работа
1   2   3   4   5   6   7   8   9   ...   26
Тема: Цикл с условием в С++

Цель: Создать программу, которая вычисляет значения функции заданного диапазона; необходимо организовать ввод границ интервала, значения 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

Студент написал правильно программу

4

Правильно написана программа, но есть не большие отклонения

3

Код программы написан, верно, но есть отклонения в работе программы

2

не справился с заданием (программа не написана)



Практическая работа №5

Тема: Работа с массивами в языке С++

Цель: Получение практических навыков в работе с массивами.

В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем выполняет следующие действия:

чтение данных с консоли;

преобразование исходного массива в соответствии с шагом один из индивидуального задания;

создание и заполнение нового (одномерного) массива типа double элементами, полученными в соответствии с шагом два из индивидуального задания;

вывод результатов (оба массива).

Программа должна выводить ошибки, если преобразование или заполнение массивов невозможно.

При создании одномерного динамического массива используется оператор new и удаляется он перед концом программы с помощью оператора delete.
Таблица 1.1 – Индивидуальные задания

Номер студента в списке

Преобразование исходного массива (шаг один)

Заполнение нового массива преобразованными элементами исходного массива (шаг два). Результир. массив должен содержать:

Количество строк m

Количество столбцов n

1

Удвоить нечетные элементы

Квадратные корни минимальных положительных элементов строк

4

3

2

Четные элементы заменить их квадратами

Кубические корни минимальных элементов столбцов

3

5

3

Нулевые элементы заменить на единицы

Натуральные логарифмы максимальных положительных элементов строк

3

4

4

Удвоить четные элементы

Натуральные логарифмы минимальных положительных элементов столбцов

4

5

5

Все элементы заменить на их модули

Минимальные элементы столбцов

5

4

6

Утроить четные элементы

Кубические корни диагональных элементов

3

3

7

Все положительные элементы заменить их десятичные логарифмы

Суммы отрицательных элементов столбцов

4

5

8

Все отрицательные элементы заменить на их квадраты

Квадратные корни диагональных элементов

4

4

9

Все положительные элементы заменить на их натуральные логарифмы

Произведение отрицательных элементов строк

5

4

10

Все положительные элементы заменить на их квадратные корни

Максимальные положительные элементы строк

3

5

11

Удвоить положительные четные элементы

Кубические корни максимальных элементов столбцов

5

4

12

Утроить отрицательные нечетные элементы

Квадратные корни минимальных положительных элементов столбцов

3

4

13

Удвоить отрицательные нечетные элементы

Сумму десятичных логарифмов положительных элементов строк

4

3

14

Утроить положительные четные элементы

Частное от деления максимальных положительных элементов столбцов на их десятичные логарифмы

3

5


Чтобы использовать стандартные математические функции вам необходимо подключить заголовочный файл cmath. В таблице 1.2 представлены некоторые используемые функции.
Таблица 1.2 – Используемые функции

double sqrt(double x);

Берет квадратный корень положительного числа

double pow(double x, double y);

Возводит x в степень y

double log(double x);

Вычисляет натуральный логарифм

double log10(double x);

Вычисляет десятичный логарифм.

int abs(int x);

Возвращает модуль целого числа

double fabs(double x);

Возвращает модуль вещественного числа

double sin(double x);

Вычисляет синус числа

double cos(double x);

Вычисляет косинус числа

double atan(double x);

Вычисляет тангенс числа

Теоретическая часть

Массивы

Массивы относятся к так называемым сложным, или составным типам данных. Массив - это структура данных, состоящая из элементов одного типа. В отличие от других структур данных (например, списков), элементы массивов всегда последовательно расположены в памяти.

При объявлении массива после идентификатора в квадратных скобках задается константа (в частности именованная или константное выражение) - число элементов массива:
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]

Оценка

Критерии

5

Студент написал правильно программу

4

Правильно написана программа, но есть не большие отклонения

3

Код программы написан, верно, но есть отклонения в работе программы

2

не справился с заданием (программа не написана)


Практическая работа №6

1   2   3   4   5   6   7   8   9   ...   26

Похожие:

Составление линейных программ на С++ 10 iconПорядок учетно-кадастровых процедур в отношении сооружений (линейных объектов недвижимости)
В соответствии с Федеральным законом от 24. 07. 2007 №221-фз «О государственном кадастре недвижимости» (далее Закон) в отношении...

Составление линейных программ на С++ 10 icon«Составление индивидуальных корреционно развивающих программ развития...

Составление линейных программ на С++ 10 iconО подготовке к государственной аккредитации образовательных программ в 2018 г
Количество образовательных программ бакалавриата, специалитета и магистратуры (без учета программ, реализация которых завершается...

Составление линейных программ на С++ 10 iconОао мгтс
...

Составление линейных программ на С++ 10 iconЛекция: Организация похода выходного дня
Составление плана подготовки и проведения путешествия. Разработка маршрута, подбор картографического материала, составление схемы...

Составление линейных программ на С++ 10 iconАдминистративный регламент №36
«Выдача разрешений на ввод линейных объектов, расположенных на территории двух и более поселений Добрянского муниципального района,...

Составление линейных программ на С++ 10 iconУльяновский институт повышения квалификации и переподготовки работников...
Портфолио учащегося: составление и использование: методические рекомендации./ Автор-составитель: Т. Б. Табарданова – Ульяновск: уипк...

Составление линейных программ на С++ 10 iconАннотация к рабочей программе профессионального модуля «Составление...
Рабочая программа профессионального модуля «Составление и использование бухгалтерской отчётности» является частью основной профессиональной...

Составление линейных программ на С++ 10 iconРабочая программа производственной практики пп. 03 Пм. 04 «Составление...
Программа практики является составной частью профессионального модуля 04 Составление и использование бухгалтерской отчетности основной...

Составление линейных программ на С++ 10 iconИ составление «рабочего» плана курсовой работы 7
Предварительная проработка литературы по теме и составление «рабочего» плана курсовой работы 7

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск