У
тверждаю
Ректор университета
_______________ О.Н. Федонин
« ___ » _____________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.
Цель работы – получить навыки программирования линейных алгоритмов на языке C++.
Продолжительность работы: 4 ч.
Основные элементы языка C++
Алгоритмом называется точное описание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи.
Программа на языке С++ записывается при помощи выражений.
Выражение – это сочетание одной или более констант, переменных или вызовов функций и нуля и более операций.
Операция – конструкция в языках программирования, подразумевающая специальный способ записи некоторых действий.
Возможные операции представлены в табл. 1.
Таблица 1.
Операции в языке С++
Арифметические операции |
Назначение |
+ |
Сложение |
- |
Вычитание |
* |
Умножение |
/ |
Деление |
% |
Остаток от деления |
Операции отношения |
Назначение |
== |
Равно |
!= |
Не равно |
< |
Меньше |
<= |
Меньше равно |
> |
Больше |
>= |
Больше равно |
= |
Присваивание |
Операции инкремента и декремента: вызывают соответственно увеличение и уменьшение значения выражения на 1.
++ операция инкремента;
-- операция декремента.
В С++ имеет значение регистр букв идентификатора: идентификаторы st, ST, St и sT есть не одно и то же.
Основной задачей программирования является обработка информации, поэтому любой язык программирования имеет средства для ввода и вывода информации. В языке С++ нет операторов ввода-вывода.
Ввод и вывод информации осуществляется через функции стандартной библиотеки. Прототипы рассматриваемых функций находятся в файле stdio.h. Эта библиотека содержит функции
printf() - для вывода информации
scanf() - для ввода информации.
Функция 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 |
Строковый формат |
Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки.
Общая форма записи функции scanf( )
scanf ("CтрокаФорматов", адрес1, адрес2,...);
Строка форматов аналогична функции printf(). Для формирования адреса переменной используется символ амперсанд '&':
адрес = &объект
Строка форматов и список аргументов для функции обязательны.
В С++ определены в заголовочном файле <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 |
Пример реализации линейного алгоритма на языке С++
Для
демонстрации работы с операторами
ввода-вывода и математическими функциями
рассмотрим следующую задачу: требуется
написать программу, вычисляющую значение
формулы
при различных значениях
.
На
первом этапе произведем анализ
поставленной задачи. Для начала
определимся с переменными, которые
следует ввести. В данном случае это
.
В условиях задачи можно считать, что
введены целочисленные значения
,
то есть эти переменные будут иметь тип
integer, и вещественный x (переменная х
имеет тип double).
Результат вычислений должен быть занесен в переменную. Из вида формулы ясно, что результат будет вещественным. Для сохранения результата нам потребуется переменная типа double. Присвоим ей имя y.