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

Учебное пособие 1450

.pdf
Скачиваний:
5
Добавлен:
30.04.2022
Размер:
1.18 Mб
Скачать

Затем параметр цикла I увеличивается на шаг H. Если новое значение параметра I меньше или равно значению N2, то цикл (действия 1 и 2) повторяется вновь.

Если значение параметра I превышает N2, то цикл перестает работать, происходит выход из цикла и выполняется действие 3.

Операторы данного цикла в разных языках программирования могут иметь различные отклонения от данной схемы при реализации. В частности, возможен расчет всех значений параметра I до начала выполнения цикла. Получается список значений, из которого выбирается очередное значение I при каждом повторе цикла.

I = N1, N2, H

Действие 1

Действие 2

Действие 3

Рис. 6. Структура цикла с заданным числом повторений

11

1.3. Примеры реализации алгоритмических структур Пример 1. Составить структурную схему алгоритма для

вычисления функции при произвольных значениях A, X.

y(x) a* x sin2 x ln x a eax

Структурная схема приведена на рис. 7.

1

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

Вывод:

 

«Введи-

Y1 = AX +

 

 

те A, X»

 

 

SIN2(X)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

Y2=LN A+X

 

 

A, X

 

 

 

+ eAX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

 

 

 

 

 

 

 

 

Y= Y1 - Y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

Y, Х, А

 

8

Конец

Рис. 7. Структурная схема реализации линейной вычислительной задачи

12

Пример 2. Составить структурную схему алгоритма для реализации вычисления разветвляющейся функции

 

ln

x a

sin

2

(x), еслиx a;

 

 

 

 

 

 

 

 

 

 

 

a

 

x a, еслиx a.

 

 

 

1

Начало

2

Вывод: «Введите А, Х»

3

Ввод А, Х

4

 

нет

 

 

X >= A?

 

да

5

Вычислить

___

Y=A + X-A

6

Вычислить

Y= LN|X+A| + SIN2(X)

7

Вывод Y, Х

8

Конец

Рис. 8. Структурная схема реализации разветвляющейся вычислительной задачи

13

Пример 3. В массиве P(20) найти количество положительных элементов и сформировать новый массив Р1, каждый элемент которого получается делением соответствующего элемента массива P на найденное количество. Составить структурную схему алгоритма.

1

Начало

2

Вывод: «Введите

Р»

3

I = 1, 10

4

5

K=0

6

I = 1, 10

А

.нет

7

 

 

> 0 ?

Pi

да

8

Ввод Рi

 

K=К + 1

 

Рис. 9. Структурная схема решения циклической задачи по обработке одномерного массива (начало)

14

А

9

I = 1, 10

10

P1i = Pi / K

11

Вывод:

«Массив

Р»

12

I = 1, 10

14

Вывод K

15

Вывод: «Новый массив»

16

I = 1, 10

17

Вывод: Р1i

 

 

 

 

 

 

13

 

 

 

 

 

 

 

18

 

 

 

 

Конец

 

 

 

Вывод:

 

 

Рi

 

 

 

Рис. 9. Структурная схема решения циклической задачи по обработке одномерного массива (окончание)

15

Пример 4. В матрице А(3, 3) найти максимальный элемент и номер строки и столбца, где он стоит. Вывести максимальный элемент и его номера. Составить структурную схему алгоритма решения данной задачи.

1

Начало

2

Вывод:

«Введите

А(3,3)»

3

I = 1, 3

4

J = 1, 3

5

Ввод

А I , J

6

 

 

 

Max = A(1,1)

 

 

Nctr = 1

 

 

Nctl =1

 

 

7

 

11

 

 

 

Вывод

 

I = 1, 3

Max,

 

 

 

Nctr, Nctl

 

8

 

12

 

 

 

Конец

 

J = 1, 3

 

Нет

 

 

 

9

Max

<

 

 

Aij ?

 

 

10

 

Да

 

 

 

 

Max = A(I,J)

 

 

Nctr = I

 

 

Nctl =J

 

Рис. 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 ...

4

 

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

 

2.3. Структура программы

Программа на языке С++ состоит из директив препро-

цессора, описаний и функций.

Пример структуры программы, содержащей функции main, fl и f2:

директивы препроцессора описания

int main(){

операторы главной функции

}

int fl(){

операторы функции fl

}

int f2(){

операторы функции f2

}

2.4. Переменные, константы, выражения Переменная – это именованная область памяти, в кото-

рой хранятся данные определенного типа, которые могут изменять свое значение.

Перед использованием любая переменная должна быть описана.

Пример описания целой переменной с именем а и вещественной переменной х:

int a; float х;

Общий вид оператора описания переменных: [const] тип имя [инициализатор];

20