Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на языке высокого уровня. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Затем параметр цикла I увеличивается на шаг H. Если новое значение параметра I меньше или равно значению N2, то цикл (действия 1 и 2) повторяется вновь.
Если значение параметра I превышает N2, то цикл пере­стает работать, происходит выход из цикла и выполняется действие 3.
Операторы данного цикла в разных языках программи­рования могут иметь различные отклонения от данной схемы при реализации. В частности, возможен расчет всех значений параметра I до начала выполнения цикла. Получается список значений, из которого выбирается очередное значение I при каждом повторе цикла.
I = N1, N2, H
Действие 1
Действие 2
Действие 3
Рис. 6. Структура цикла с заданным числом повторений
11
1.3. Примеры реализации алгоритмических структур
Начало
1
Вывод:
2
3
Вычис
ление
4
Вычисл
е
ние
5
Вычисл
е
ние
Вывод
Конец
6 7 8
Пример 1. Составить структурную схему алгоритма для вычисления функции при произвольных значениях A, X.
2
ax
eaxxxaxy lnsin*)(
Структурная схема приведена на рис. 7.
«Введи­те A, X»
Y1 = AX + SIN2(X)
Ввод A, X
Y2=LNA+X + eAX
Y= Y1 - Y2
Y, Х, А
Рис. 7. Структурная схема реализации линейной
вычислительной задачи
12
Пример 2. Составить структурную схему алгоритма для
1
2
3
4
Вычи
с
лить
5
да
Вычи
с
лить
6
нет
Вы-
7
8
реализации вычисления разветвляющейся функции
  
2
;),(sinln
axеслиxax
.,
axеслиaxa
Начало
Вывод: «Введите
А, Х»
X >= A?
Ввод
А, Х
___
Y=A + X-A
Y= LN|X+A| +
SIN2(X)
вод Y, Х
Конец
Рис. 8. Структурная схема реализации разветвляющейся
вычислительной задачи
13
Пример 3. В массиве P(20) найти количество положи-
1
2
3
4
6
7
да 8 нет
А 5
тельных элементов и сформировать новый массив Р1, каждый элемент которого получается делением соответствующего элемента массива P на найденное количество. Составить структурную схему алгоритма.
Начало
K=0
Вывод:
«Введите
Р»
I = 1, 10
I = 1, 10
Pi > 0 ?
Ввод Рi
K=К + 1
Рис. 9. Структурная схема решения циклической задачи
по обработке одномерного массива (начало)
14
А
9
10
11
12
i
13
14
15
16
17
18
I = 1, 10
Вывод K
P1i = Pi / K
Вывод: «Новый массив»
Вывод: «Массив
I = 1, 10
I = 1, 10
Вывод: Р1
i
Вывод: Р
Конец
Рис. 9. Структурная схема решения циклической задачи по
обработке одномерного массива (окончание)
15
Пример 4. В матрице А(3, 3) найти максимальный эле-
12
Вы
вод:
2
3
4
Вы
вод
5
8
Max = A(I,J
)
Nctl =J
7
9
Да 10
Нет 11 1 6
мент и номер строки и столбца, где он стоит. Вывести макси­мальный элемент и его номера. Составить структурную схему алгоритма решения данной задачи.
Начало
Max = A(1,1)
Nctr = 1
Nctl =1
«Введите А(3,3)»
I = 1, 3
Max,
Nctr, Nctl
I = 1, 3
J = 1, 3
Конец
J = 1, 3
Max <
Aij ?
Ввод
А
I , J
Nctr = I
Рис. 10. Структурная схема работы с матрицей
16
2. СПРАВКА ПО ПРОГРАММИРОВАНИЮ
# - ; ^
НА ЯЗЫКЕ С++
2.1. Базовые средства языка С++
Алгоритмический язык программирования включает следующие базовые средства [2]:
– лексемы;
– выражения;
– операторы.
Совокупность всех символов образует алфавит языка. Из символов составляются лексемы. Лексемы - это минимальные единицы языка, имеющие самостоятельный смысл.
Выражения определяют правила вычисления какого­либо значения.
Операторы описывают типовые действия.
Базовые средства приведены в табл. 2.
Таблица 2
Базовые средства языка С++
Базовое средство Описание
Прописные и строчные ла­тинские буквы и знак подчер­кивания
Арабские цифры от 0 до 9, и цифры от A до F, исполь­зуемые в шестнадцатеричной системе счисления
Специальные знаки:
“ { } , | [ ] ( ) + - / % * . \ ‘ : ? < = > ! &
Элемент алфавита
Элемент алфавита
Элемент алфавита
17
Окончание табл. 2
Символы пробела, табуля­ции, перехода на новую стро­ку
Идентификатор Имя программного объекта,
Ключевые слова Зарезервированные иденти-
Знаки операций Один или более символов,
Константы Величины, которые не меня-
Комментарии Либо начинаются с двух сим-
Элемент алфавита
начинается с буквы, в имени используют латинские буквы, цифры и знак подчеркивания, в идентификаторе прописные и строчные буквы различают­ся
фикаторы, которые имеют специальное значение для компилятора. Например: asm, futo, else и т.д.
определяющих действие над операндами. Операции по ко­личеству участвующих в них операндов делятся на унар­ные, бинарные и тернарные.
ют свои значения. Различают­ся целые, вещественные, сим­вольные и строковые кон­станты.
волов «прямая косая черта» (//) и заканчивают символом перехода на новую строку, либо заключаются между символами-скобками /* и */.
18
2.2. Основные типы данных в C++ Основные (стандартные) типы данных следую-
щие [3]:
– int (целый); – char (символьный); – wchar_t (расширенный символьный); – bool (логический); – float (вещественный); – double (вещественный с двойной точностью).
Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:
short (короткий);
long (длинный);
signed (знаковый);
unsigned (беззнаковый).
В табл. 3 приведены диапазоны значений для простых типов данных.
Таблица 3
Диапазоны значений простых типов данных
Тип Диапазон значений Размер (байт) bool true и false 1 signed char -128 ... 127 1 unsigned char 0 ... 255 1 signed short int -32 768 ... 32 767 2 unsigned short int 0 ... 65 535 2 signed long int -2 147 483 648 ...
2 147 483 647 unsigned long int 0 ... 4 294 967 295 4 float 3.4e-38 ... 3.4e+38 4 double 1.7e-308 ... 1.7e+308 8 long double 3.4e-4932 ... 3.4e+4932 10
19
4
2.3. Структура программы
Программа на языке С++ состоит из директив препро-
цессора, описаний и функций.
Пример структуры программы, содержащей функции
main, fl и f2:
директивы препроцессора описания int main(){
операторы главной функции } int fl(){
операторы функции fl } int f2(){
операторы функции f2 }
2.4. Переменные, константы, выражения Переменная – это именованная область памяти, в кото-
рой хранятся данные определенного типа, которые могут из­менять свое значение.
Перед использованием любая переменная должна быть
описана.
Пример описания целой переменной с именем а и веще-
ственной переменной х:
int a; float х;
Общий вид оператора описания переменных: [const] тип имя [инициализатор];
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]