Материал: LR_3_Izuchenie_lineynykh_konstruktsiy

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

У тверждаю

Ректор университета

_______________ О.Н. Федонин

« ___ » _____________2017 г.

Алгоритмические языки изучение линейных конструкций

Методические указания

к выполнению лабораторной работы

Брянск 2017

У ДК 004.432.2

Алгоритмические языки. Изучение линейных конструкций [Электронный ресурс]: методические указания к выполнению лабораторной работы. – Брянск: БГТУ, 2017. –18с.

Разработали:

А.П. Горлов, канд.техн.наук., доц.

М.Л. Гулак, канд.техн.наук., доц.

Рекомендовано кафедрой «Системы информационной безопасности» БГТУ (протокол № 11 от 28.08.2017).

Научный редактор М.Ю. Рытов

Компьютерный набор А.П. Горлов

Методические указания публикуются в авторской редакции

Подписано в печать 28.08.17 г. Формат 60х84 1/16.

Усл. печ.л. 1,04 Уч.-изд.л. 1,04

Брянский государственный технический университет

Кафедра «Системы информационной безопасности», 58-83-54

241035, Брянск, бульвар 50 лет Октября, 7.

1. Цель работы

Цель работы – получить навыки программирования линейных алгоритмов на языке C++.

Продолжительность работы: 4 ч.

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

    1. Основные элементы языка C++

Алгоритмом называется точное описание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи.

Программа на языке С++ записывается при помощи выражений.

Выражение – это сочетание одной или более констант, переменных или вызовов функций и нуля и более операций.

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

Возможные операции представлены в табл. 1.

Таблица 1.

Операции в языке С++

Арифметические операции

Назначение

+

Сложение

-

Вычитание

*

Умножение

/

Деление

%

Остаток от деления

Операции отношения

Назначение

==

Равно

!=

Не равно

<

Меньше

<=

Меньше равно

>

Больше

>=

Больше равно

=

Присваивание

Операции инкремента и декремента: вызывают соответственно увеличение и уменьшение значения выражения на 1.

++ операция инкремента;

-- операция декремента.

В С++ имеет значение регистр букв идентификатора: идентификаторы st, ST, St и sT есть не одно и то же.

Основной задачей программирования является обработка информации, поэтому любой язык программирования имеет средства для ввода и вывода информации. В языке С++ нет операторов ввода-вывода.

Ввод и вывод информации осуществляется через функции стандартной библиотеки. Прототипы рассматриваемых функций находятся в файле stdio.h. Эта библиотека содержит функции

printf() - для вывода информации

scanf() - для ввода информации.

    1. Вывод информации

Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. При этом у программиста имеется возможность форматировать данные, то есть влиять на их представление на экране.

Общая форма записи функции printf():

printf("СтрокаФорматов", объект1, объект2, ..., объектn);

Строка форматов состоит из следующих элементов:

• управляющих символов;

• текста, представленного для непосредственного вывода;

• форматов, предназначенных для вывода значений переменных различных типов.

Объекты могут отсутствовать.

Управляющие символы не выводятся на экран, а управляют расположением выводимых символов. Отличительной чертой управляющего символа является наличие обратного слэша '\' перед ним.

Основные управляющие символы:

'\n' — перевод строки;

'\t' — горизонтальная табуляция;

'\v' — вертикальная табуляция;

'\b' — возврат на символ;

'\r' — возврат на начало строки;

'\a' — звуковой сигнал.

Форматы нужны для того, чтобы указывать вид, в котором информация будет выведена на экран. Отличительной чертой формата является наличие символа процент '%' перед ним(табл. 2).

Таблица 2.

Команды форматного вывода в языке С++

Команда форматирования

Назначение

%d

Целое число типа int со знаком в десятичной системе счисления

%u

Целое число типа unsigned int

%x

Целое число типа int со знаком в шестнадцатеричной системе счисления

%o

Целое число типа int со знаком в восьмеричной системе счисления

%hd

Целое число типа short со знаком в десятичной системе счисления

%hu

Целое число типа unsigned short

%hx

Целое число типа short со знаком в шестнадцатеричной системе счисления

%ld

Целое число типа long int со знаком в десятичной системе счисления

%lu

Целое число типа unsigned long int

%lx

Целое число типа long int со знаком в шестнадцатеричной системе счисления

%f

Вещественный формат (числа с плавающей точкой типа float)

%lf

Вещественный формат двойной точности (числа с плавающей точкой типа double)

%e

Вещественный формат в экспоненциальной форме (числа с плавающей точкой типа float в экспоненциальной форме)

%c

Символьный формат

%s

Строковый формат

    1. Ввод информации

Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки.

Общая форма записи функции scanf( )

scanf ("CтрокаФорматов", адрес1, адрес2,...);

Строка форматов аналогична функции printf(). Для формирования адреса переменной используется символ амперсанд '&':

адрес = &объект

Строка форматов и список аргументов для функции обязательны.

    1. Математические функции

В С++ определены в заголовочном файле <math.h> функции выполняющие некоторые часто используемые математические задачи (табл. 3).

Таблица 2.

Математические функции в языке С++

Математическая функция

Назначение

abs(a)

Модуль или абсолютное значение от а

sqrt(a)

Корень квадратный из а, причём а не отрицательно

pow(a, b)

Возведение а в степень b

сeil(a)

Округление c избытком

floor(a)

Округление а до наибольшего целого, но не больше чем а

fmod(a, b)

вычисление остатка от a/b

exp(a)

вычисление экспоненты а

sin(a)

a задаётся в радианах

cos(a)

a задаётся в радианах

log(a)

натуральный логарифм a(основанием является экспонента)

log10(a)

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

asin(a)

арксинус a, где -1.0 < а < 1.0

    1. Пример реализации линейного алгоритма на языке С++

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

На первом этапе произведем анализ поставленной задачи. Для начала определимся с переменными, которые следует ввести. В данном случае это . В условиях задачи можно считать, что введены целочисленные значения , то есть эти переменные будут иметь тип integer, и вещественный x (переменная х имеет тип double).

Результат вычислений должен быть занесен в переменную. Из вида формулы ясно, что результат будет вещественным. Для сохранения результата нам потребуется переменная типа double. Присвоим ей имя y.