
- •СОДЕРЖАНИЕ
- •1.1. Консольный режим работы среды Visual С++ 6.0
- •1.2. Функции библиотеки math.lib
- •1.4. Индивидуальные задания
- •Лабораторная работа №2 ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ
- •2.1. Логические операции и операции сравнения
- •2.2. Оператор условной передачи управления if
- •2.3. Оператор множественного выбора switch
- •2.4. Пример выполнения работы
- •2.5. Индивидуальные задания
- •Лабораторная работа №3 ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
- •3.1. Оператор цикла с параметром for
- •3.4. Операторы перехода
- •3.5. Отладка программы
- •3.6. Пример выполнения работы
- •3.7. Индивидуальные задания
- •Лабораторная работа №4 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОДНОМЕРНЫХ МАССИВОВ
- •4.1. Одномерные статические массивы
- •4.2. Пример выполнения работы
- •4.3. Индивидуальные задания
- •Лабораторная работа №5 УКАЗАТЕЛИ. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ДИНАМИЧЕСКИХ ДВУМЕРНЫХ МАССИВОВ
- •5.1. Объявление указателя
- •5.2. Операции над указателями
- •5.5. Индивидуальные задания
- •Лабораторная работа №6 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРОК
- •6.1. Объявление строк
- •6.2. Функции для работы со строками
- •6.3. Пример выполнения работы
- •Лабораторная работа №7 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРУКТУР
- •7.1. Объявление структур
- •7.3. Индивидуальные задания
- •Лабораторная работа №8 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ФУНКЦИЙ
- •8.1. Объявление функции
- •8.2. Передача параметров
- •8.2.1. Передача параметров по значению
- •8.2.2. Передача параметров по ссылке
- •8.4. Указатель на функцию
- •8.5. Пример выполнения работы
- •8.6. Индивидуальные задания
- •Лабораторная работа №9 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ
- •9.1. Организация работы с файлами
- •9.2. Функции для работы с файлами
- •9.3. Пример выполнения работы
- •10.1. Сортировка массивов
- •10.1.1. Метод пузырька
- •10.1.2. Сортировка выбором
- •10.1.3. Сортировка вставками
- •10.2. Индивидуальные задания
- •Лабораторная работа №11 ПОИСК ПО КЛЮЧУ В ОДНОМЕРНОМ МАССИВЕ СТРУКТУР
- •11.1. Поиск в массиве
- •11.1.1. Линейный поиск (метод полного перебора)
- •11.2. Индивидуальные задания
- •ЛИТЕРАТУРА
Министерство образования Республики Беларусь Учреждение образования
«Белорусский государственный университет информатики и радиоэлектроники»
Кафедра вычислительных методов и программирования
|
|
|
|
|
|
|
|
|
Р |
|
|
|
|
|
|
|
|
И |
|
|
|
|
|
|
|
|
У |
|
|
|
А. А. Навроцкий, И. Н. Коренская, В. Л. Бусько |
||||||||
|
|
|
|
|
|
Г |
|
|
|
|
|
ОСНОВЫ АЛГОРИТМИЗАЦИИ. |
|
||||||
|
|
|
|
|
|
а |
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕБ |
|
|
|
|||
|
|
|
|
|
|
к |
|
|
|
|
|
|
|
В СРЕДЕ VISUAL C++ |
|
|
|
||
|
|
|
Лабораторный пра тикум по курсу |
|
|
|
|||
|
|
|
|
|
т |
|
|
|
|
|
|
«Основы алгори мизации и программирования» |
|
||||||
|
для студентов 1 – 2-гоекурсов заочной формы обучения |
|
|||||||
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
всех специальностей БГУИР |
|
|
|
||
|
|
|
и |
|
|
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
Минск БГУИР 2009
УДК 004.432.2(076) ББК 32.973.26-018.1я7
Н15
|
Р е ц е н з е н т : |
|
|
|
Р |
||
доцент кафедры информационных технологий автоматизированных систем |
|||||||
учреждения образования «Белорусский государственный университет |
|||||||
|
информатики и радиоэлектроники», |
|
И |
||||
|
|
|
|
||||
|
кандидат технических наук О. В. Герман |
|
|
||||
|
|
|
|
У |
|
||
|
|
|
Г |
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
а |
|
|
|
|
|
|
к |
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
Навроцкий, А. А. |
|
|
|
|
|
|
|
Н15 |
и |
|
|
|
|
|
|
Основы алг р тм тзации. Программирование в среде Visual C++ : лаб. |
|||||||
|
л |
|
|
|
|
|
|
практикум по курсуо«Основы алгоритмизации и программирования» для |
|||||||
студ. 1 – 2-го курсов заоч. формы обуч. всех спец. БГУИР / А. А. Навроц- |
|||||||
кий, И. Н. Коренская, В. Л. Бусько. – Минск : БГУИР, 2009. – 48 с. : ил. |
|||||||
|
ISBN 978-985-488-474-5 |
|
|
|
|
|
|
|
Прбведено 11 лабораторных работ на языке С++ в среде Microsoft Visual Studio с |
||||||
пр мерами выполнения; представлены индивидуальные задания; дана справочная ин- |
|||||||
иформация. |
|
|
|
|
|
|
|
Б |
|
|
|
|
УДК 004.432.2(076) |
||
|
|
|
|
|
ББК 32.973.26-018.1я7 |
ISBN 978-985-488-474-5 |
© Навроцкий А. А., Коренская И. Н., Бусько В. Л., 2009 |
|
© УО «Белорусский государственный университет |
|
информатики и радиоэлектроники», 2009 |
2 |
|
|
|
|
|
СОДЕРЖАНИЕ |
|
|
|
|
|
Лабораторная работа №1 |
|
|
|
|
|
|
|
||
СРЕДА ПРОГРАММИРОВАНИЯ VISUAL C++. |
|
|
|
|
|
|
|||
ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ ..................................... |
|
|
|
5 |
|||||
1.1. Консольный режим работы среды Visual С++ 6.0 ............................... |
|
|
5 |
||||||
1.2. Функции библиотеки math.lib ............................................................... |
|
|
|
|
|
6 |
|||
1.3. Пример выполнения работы.................................................................. |
|
|
|
|
|
7 |
|||
1.4. Индивидуальные задания ...................................................................... |
|
|
|
|
|
9 |
|||
|
|
|
|
|
|
|
|
Р |
|
Лабораторная работа №2 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
И |
|
|
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ |
................. |
11 |
|||||||
2.1. Логические операции и операции сравнения ..................................... |
|
|
|
11 |
|||||
|
|
|
|
|
|
У |
|
|
|
2.2. Оператор условной передачи управления if....................................... |
|
|
|
11 |
|||||
2.3. Оператор множественного выбора switch |
.......................................... |
|
|
|
11 |
||||
|
|
|
|
|
Г |
|
|
|
|
2.4. Пример выполнения работы................................................................ |
|
|
|
|
|
12 |
|||
|
|
|
|
Б |
|
|
|
|
|
2.5. Индивидуальные задания .................................................................... |
|
|
|
|
|
12 |
|||
Лабораторная работа №3 |
|
|
|
|
|
|
|
||
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ ............................ |
|
|
14 |
||||||
|
|
|
|
а |
|
|
|
|
|
3.1. Оператор цикла с параметром for ....................................................... |
|
|
|
|
|
14 |
|||
|
|
|
|
|
|
|
|
|
|
3.2. Оператор цикла с предусловием while................................................ |
|
|
|
|
14 |
||||
|
|
|
|
|
|
|
|
|
|
3.3. Оператор цикла с постусловием do..................................................... |
|
|
|
|
|
14 |
|||
3.4. Операторы перехода |
|
|
|
|
|
14 |
|||
|
|
|
т |
|
|
|
|
|
|
3.5. Отладка программы ............................................................................. |
|
|
|
|
|
15 |
|||
3.6. Пример выполнения ................................................................рабо ы |
|
|
|
|
|
15 |
|||
3.7. Индивидуальные задания .................................................................... |
|
|
|
|
|
16 |
|||
Лабораторная работа №4 |
|
|
|
|
|
|
|
||
|
и |
|
|
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ |
|
|
|
|
|
||||
л |
|
|
|
|
|
|
|
||
ОДНОМЕРНЫХ МАССИВОВо.............................................................................. |
|
|
|
|
|
17 |
|||
4.1. Одномерные статические .....................................................массивы |
|
|
|
|
|
17 |
|||
б |
|
|
|
|
|
|
|
|
|
4.2. Пример выполнения ................................................................работы |
|
|
|
|
|
18 |
|||
4.3. Индивидуальные задания .................................................................... |
|
|
|
|
|
19 |
|||
Лабораторная ра ота №5 |
|
|
|
|
|
|
|
||
УКАЗАТЕЛИ. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ |
|
|
|||||||
ДИНАМИЧЕСКИХи |
ДВУМЕРНЫХ ...............................................МАССИВОВ |
|
|
|
|
20 |
|||
5.1. Объявление указателя.......................................................................... |
|
|
|
|
|
20 |
|||
Б5.2. Операции над указателями.................................................................. |
|
|
|
|
|
20 |
|||
5.3. Создание двумерного ..................................динамического массива |
|
|
|
21 |
|||||
5.4. Пример выполнения ................................................................работы |
|
|
|
|
|
21 |
|||
5.5. Индивидуальные задания .................................................................... |
|
|
|
|
|
23 |
3
Лабораторная работа №6 |
|
|
|
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРОК............................... |
|
|
24 |
||||||
6.1. Объявление строк................................................................................. |
|
|
|
|
|
|
|
24 |
|
6.2. Функции для работы со строками |
....................................................... |
|
|
|
24 |
||||
6.3. Пример выполнения работы................................................................ |
|
|
|
|
|
25 |
|||
6.4. Индивидуальные задания .................................................................... |
|
|
|
|
|
26 |
|||
Лабораторная работа №7 |
|
|
|
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ .......................СТРУКТУР |
Р |
27 |
|||||||
7.1. Объявление структур |
|
|
|
|
|
27 |
|||
|
|
|
|
|
|
||||
7.2. Пример выполнения работы................................................................ |
|
|
|
|
|
27 |
|||
7.3. Индивидуальные задания .................................................................... |
|
|
|
И |
28 |
||||
Лабораторная работа №8 |
|
|
|
|
|
|
|||
|
|
|
|
У |
|
30 |
|||
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ .......................ФУНКЦ Й |
|
||||||||
8.1. Объявление функции |
........................................................................... |
|
|
|
|
|
|
30 |
|
8.2. Передача параметров........................................................................... |
|
|
|
|
|
|
31 |
||
|
8.2.1. Передача параметров по значению........................................... |
|
|
|
31 |
||||
|
|
|
|
|
Б |
|
|
|
31 |
|
8.2.2. Передача параметров по ссылке ............................................... |
|
|
|
|||||
|
8.2.3. Передача параметров по указателю..........................................Г |
|
|
32 |
|||||
8.3. Перегрузка функций |
|
|
а |
|
|
|
32 |
||
|
|
|
|
|
|
|
|||
8.4. Указатель на функцию......................................................................... |
к |
|
|
|
|
33 |
|||
8.5. Пример выполнения работы................................................................ |
|
|
|
|
|
33 |
|||
|
|
е |
|
|
|
|
|
34 |
|
8.6. Индивидуальные задания .................................................................... |
|
|
|
|
|
||||
Лабораторная работа №9 |
|
|
|
|
|
|
|
|
|
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ..........................ФАЙЛОВ |
|
35 |
|||||||
9.1. Организация рабо ы с файлами.......................................................... |
|
|
|
|
35 |
||||
|
ыпо |
|
|
|
|
|
|
|
35 |
9.2. Функции для рабо ы с файлами.......................................................... |
|
|
|
|
|||||
9.3. Пример в лнения рабо ы................................................................ |
|
|
|
|
|
37 |
|||
|
и |
|
|
|
|
|
|
|
|
9.4. Индив дуальныетзадания .................................................................... |
|
|
|
|
|
41 |
|||
|
л |
|
|
|
|
|
|
|
|
Лабораторная работа №10 |
|
|
|
|
|
|
|
|
|
СОРТИРОВКА ПО КЛЮЧУ ОДНОМЕРНЫХ ........МАССИВОВ СТРУКТУР |
43 |
||||||||
10.1. Сортировка массивов......................................................................... |
|
|
|
|
|
|
43 |
||
и |
|
|
|
|
|
|
|
43 |
|
|
10.1.1. Метод пузырька |
..................................................................... |
|
|
|
|
|
||
Б |
10.1.2. Сортировка выбором ............................................................. |
|
|
|
|
43 |
|||
б10.1.3. Сортировка вставками |
|
|
|
|
44 |
||||
|
|
|
|
|
|||||
10.2. Индивидуальные задания .................................................................. |
|
|
|
|
|
44 |
|||
Лабораторная работа №11 |
|
|
|
|
|
|
|
|
|
ПОИСК ПО КЛЮЧУ В ОДНОМЕРНОМ МАССИВЕ ....................СТРУКТУР |
|
45 |
|||||||
11.1. Поиск в массиве ................................................................................. |
|
|
|
|
|
|
|
45 |
|
|
11.1.1. Линейный поиск (метод полного .........................перебора) |
|
45 |
||||||
|
11.1.2. Двоичный (бинарный) поиск ................................................ |
|
|
|
45 |
||||
11.2. Индивидуальные задания .................................................................. |
|
|
|
|
|
46 |
|||
Литература .............................................................................................................. |
|
|
|
|
|
|
|
47 |
|
4 |
|
|
|
|
|
|
|
|
|

Лабораторная работа №1
СРЕДА ПРОГРАММИРОВАНИЯ VISUAL C++. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
1.1. Консольный режим работы среды Visual С++ 6.0
Программа, создаваемая в среде Visual C++, всегда оформляется в виде от- дельного проекта. Проект (project) – это набор взаимосвязанных исходных
файлов , |
предназначенных для решения определенной задачи, компиляция и |
||||
компоновка |
|
|
Р |
|
|
|
|
проект |
|||
входят |
|
|
|
|
, |
которые |
|
|
У |
|
|
• выбрать в главном меню File – New; |
|
|
|||
• в открывшемся окне (закладка Projects) выбрать тип создаваемогоИпроекта |
|||||
• в поле Project Name ввести имя проекта |
БГ |
; |
|
||
• в поле Location ввести имя папки, в которой будет размещен проект, и |
|||||
полный путь к ней |
к |
|
|
|
|
. П п у т кже можно выбрать с помо- |
|||||
щью диалогового окна Choose Directory,адля чего надо щелкнуть мышью по |
|||||
кнопке |
; |
е |
|
|
|
• щелкнуть мышью по кнопке ОК; |
|
|
|
||
|
|
т |
|
|
- |
|
ио |
|
|
||
• в открывшемся окне мас ера приложений Win32 Console Application – |
|||||
Step |
|
|
|
|
|
екте) щелкнуть мышью по кнопке ОК. |
|
|
|
||
|
б |
|
|
|
|
Для ра оты с консольным приложением необходимо создать новый или |
|||||
и |
файл с кодом программы. |
|
|
||
добавить существующийл |
|
|
|||
Для создания нового файла необходимо: |
|
|
|
||
• выбрать File – New; |
|
|
|
|
|
• в открывшемся окне (закладка Files) выбрать тип файла |
|
; |
|||
Б• в поле File name ввести имя файла: |
(желательно, чтобы вво- |
димое имя совпадало с именем проекта);
• щелкнуть мышью по кнопке ОК.
Для добавления в проект существующего файла с кодом программы необходимо:
• скопировать имеющийся файл (расширение cpp) в рабочую папку проекта;
5

•в окне Workspace (закладка ) щелкнуть правой кнопкой мыши по папке
;
•в раскрывшемся меню выбрать пункт , в диалоговом окне
указать добавляемый файл и щелкнуть мышью по кноп-
ке ОК.
В папке проекта, как правило, размещены несколько файлов и одна вло- женная папка. Файлы имеют следующее назначение:
∙ файл с расширением dsw (например my_lab1.dsw) – файл проекта, кото-
рый объединяет все входящие в проект файлы; |
|
|
И |
||
∙ |
|
|
|
||
файл с расширением cpp (например my_lab1.cpp) – файл кода програм- |
|||||
мы. |
|
|
У |
Р |
|
|
|
|
|
||
|
|
Г |
|
|
|
|
1.2. Функции библиотеки math.lib |
|
|
||
Функции для расчета математических выражений находятся в библиотеке |
|||||
|
|
Б |
|
|
|
math.lib (подключение библиотеки: #include <math.h>). Все аргументы в три- гонометрических функциях задаются в радианах. Параметры и аргументы всех остальных функций имеют тип double (кроме abs(x)).
Математическая |
Функция |
|
|
а |
Описание |
|||||
|
функция |
|
библиотеки |
|
|
|||||
|
|
|
|
|
math.lib |
|
|
|
||
|
|
|
|
|
|
к |
|
|||
|
|
|
|
|
|
|
|
|
||
|x| |
|
|
|
|
аbs(x) |
|
|
Вычисление абсолютного значения (толь- |
||
|
|
|
|
|
|
ко для целых чисел!) |
||||
|x| |
|
|
|
|
fаbs(x) |
е |
|
|
||
|
|
|
|
|
Вычисление абсолютного значения x |
|||||
x |
|
|
|
|
sqrt(x) |
тy) |
Вычисление квадратного корня из x |
|||
xy |
|
|
|
|
pow(x, |
Возведение x в степень y |
||||
sin(x) |
|
|
|
sin(x)о |
|
Вычисление синуса x |
||||
sh(x) = (ex−e−x)/2 |
|
sinh(x) |
|
Вычисление синуса гиперболического x |
||||||
cos(x) |
|
|
и |
|
|
Вычисление косинуса x |
||||
|
|
|
cos(x) |
|
|
|||||
ch(x) = (ex+e−x)/2 |
|
cosh(x) |
|
Вычисление косинуса гиперболического x |
||||||
tg(x) |
|
|
л |
|
|
Вычисление тангенса x |
||||
|
|
|
|
tan(x) |
|
|
||||
tgh(x) |
б tanh(x) |
|
Вычисление тангенса гиперболического x |
|||||||
arccos(x) |
|
|
|
acos(x) |
|
Вычисление значения арккосинуса x |
||||
|
и |
|
|
atan(x) |
|
Вычисление значения арктангенса x |
||||
arctg(x) |
|
|
|
|
||||||
arctg(Бx/y) |
|
|
|
atan2(x,y) |
|
Вычисление значения арктангенса двух ар- |
||||
ex |
|
|
|
|
|
|
|
гументов x и y |
|
|
|
|
|
|
exp(x) |
|
|
Вычисление экспоненты числа x |
|||
ln(x) |
|
|
|
|
log(x) |
|
|
Вычисление натурального логарифма x |
||
lg10(x) |
|
|
|
log10(x) |
|
Вычисление десятичного логарифма x |
6

Математическая |
Функция |
|
|
|
|
Описание |
|
|
|
|
|
|||||||||
функция |
|
библиотеки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
math.lib |
|
Функция возвращает действительное зна- |
|||||||||||||||
Округление |
|
|
|
|
|
|
||||||||||||||
|
ceil(x) |
|
|
|
|
чение, соответствующее наименьшему це- |
||||||||||||||
к большему |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
лому числу, которое больше или равно x |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
Округление |
|
|
|
|
|
|
Функция возвращает действительное зна- |
|||||||||||||
|
floor(x) |
|
|
|
чение, соответствующее наибольшему це- |
|||||||||||||||
к меньшему |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р |
|
|||||
|
|
|
|
|
|
|
|
лому числу, которое меньше или равно x |
|
|||||||||||
Остаток |
|
|
|
|
|
|
|
Функция возвращает действительное зна- |
||||||||||||
|
|
fmod(x,y) |
|
чение, соответствующее остатку от цело- |
||||||||||||||||
от деления x на y |
|
|||||||||||||||||||
|
|
|
|
|
численного деления x на y |
И |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Например: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
double x, y, |
|
|
|
|
|
|
|
Г |
|
2 |
|
3 |
||||||||
double z = exp(1)+exp(x*x)+exp(2*pow(x,3)); |
|
|
// z = e + ex |
|
+ e2x |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Б |
У |
x |
y4+ 4 x |
|
|||||
double z1 = pow (x, pow (y, 4+pow (x, 1/4.))); |
|
|
// z1 = |
|
|
|
|
|||||||||||||
double z2 = fmod( 5, 2); |
|
|
|
// или z2 = 5%2; |
=> z2 = {5/2} = 1 |
|||||||||||||||
double z3 = ceil (5.6); |
|
|
а |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
// => z3 = 6 |
|
|
|
|
|
|
|
|
|
||||||||
double z4 = ceil (-5.1); |
|
к |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
// => z4 = -5 |
|
|
|
|
|
|
|
|
|
||||||||
double z5 = floor (5.6); |
е |
|
// => z5 = 5 |
|
|
|
|
|
|
|
|
|
||||||||
double z6 = floor (-5.6); |
|
// => z6 = -6 |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
1.3. Прим р выполнения работы |
|
|
|
|
|
|
|
|
|
||||||||
Написать программу вычисления линейного арифметического выражения |
||||||||||||||||||||
|
|
|
и |
h = |
x2 y |
+ ey−1 |
|
+10 × 3 x - ln(z) |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
т1+ x |
y - tgz |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
при x = 2,45; |
y =о– 0,423·10-2; z = 1,232·103. |
|
|
Ответ: h = 6,9465. |
||||||||||||||||
|
б |
|
|
|
|
Код программы |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
#include <iostream.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
#include <math.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main () |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
{ и |
|
|
|
|
|
|
|
|
|
// Начало главной функции |
|
|
||||||||
double x, y, z, a, b, c, h; |
|
|
|
|
// Объявление переменных |
|
|
|
||||||||||||
cout << "Vvedite x: "; |
|
|
|
|
|
|
// Ввод значений x, y и z |
|
|
|
||||||||||
cin >> x; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
cout << "Vvedite y: "; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cin >> y;
cout << "Vvedite z: "; cin >> z;
7

a = pow(x, 2*y) + exp(y-1); |
|
// Вычисление выражения |
b = 1+x * fabs(y - tan(z)); |
|
|
c = 10 * pow(x, 1/3.) - log(z); |
|
|
h = a / b + c; |
|
|
cout << "Result h= " << h << endl; |
// Вывод результата |
|
return 0; |
// Завершение выполнения программы |
|
} |
|
// Конец главной функции |
Замечания:
1. Для ввода значений переменных x, y и z необходимо набрать с клавиа-
туры: |
(x = 2,45); |
|
Р |
2.45 |
|
||
–0.423e-2 |
(y = –0,423·10-2); |
И |
|
1.232e3 |
(z = 1,232·103). |
||
2. В языке С++ при вычислении арифметических выражений происходит |
|||
|
|
У |
|
автоматическое приведение типов, следовательно, при делении целого значе- |
|||
ния на целое, результат будет целым числом. НапримерГ, при вычислениии «1/3» |
|||
результат будет равен нулю, так как целая часть вычисленного выражения рав- |
|||
на нулю. Для получения результата, имеющегоБдробную часть, необходимо, |
|||
чтобы один из операндов имел действ тельный тип. |
Для вычисления можно |
использовать функцию явного прив дения т , а для констант достаточно по- |
|||||||||
|
|
|
|
|
|
ипа |
|
|
|
ставить точку после числа, наприм р, или «1/3.», или «1./3.», или «1./3». |
|||||||||
Например: |
|
|
|
|
к |
|
|
|
|
|
|
|
е |
|
|
|
|
||
int s, n; |
|
|
// Явное приведение типа |
||||||
double sr = static |
cast<double> (s) / n; |
||||||||
|
|
|
|
|
|
|
3 |
|
|
double y = pow (x, 3/4.); |
|
// y = 4 x3 = x |
|
|
|||||
|
4 |
||||||||
|
|
|
т |
|
|
|
|
|
|
3. Язык C чувств телен к регистру букв, т. е. прописные и строчные буквы |
|||||||||
|
|
|
о |
|
|
|
|
|
|
воспринимаются как разные символы. |
|
|
|
|
|||||
Например: |
иcount, Count, COUNT – разные идентификаторы. |
||||||||
4. П выводе информации для перехода на новую строку применяется ма- |
|||||||||
|
л |
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
ри |
|
|
|
|
|
|
|
|
|
нипулятор (функция управления выводом) endl или ‘\n’, для выравнивания вы- водБмой нформации – ‘\t’ (вставляет символ табуляции).
5. Главная функция int main () автоматически вызывается при запуске про- граммы и возвращает операционной системе по окончании значение 0 (return 0;).
Для компиляции, компоновки и запуска программы на выполнение ис- пользуются следующие пункты подменю Build:
Compile (Ctrl+F7) – компиляция выбранного файла. Результаты компиля- ции выводятся в окно Output.
Build (F7) – компоновка проекта. Компилируются все файлы, в которых произошли изменения с момента последней компоновки.
8