- •Часть 1
- •Содержание
- •Введение
- •1. Структура и принцип действия компьютера
- •2. Алгоритм и программа
- •2.1. Понятия об алгоритме и программе
- •2.2. Типовые алгоритмы
- •2.2.1. Вычисление суммы чисел произвольного ряда
- •Вычисление произведения чисел произвольного ряда
- •2.2.3. Определение наибольшего (наименьшего) числа заданного ряда чисел
- •2.2.4 Определение наибольшего (наименьшего) значения вычисляемой функции
- •2.2.5. Вычисление функции с одновременно изменяющимися несколькими аргументами
- •2.2.6. Итерационные циклы
- •2.2.7. Сортировка ряда чисел
- •Метод смежных пар
- •Метод поиска наименьшего (наибольшего)
- •2.2.8. Алгоритмы решения задач с использованием матриц
- •Общие методические указания по выполнению лабораторных работ
- •4.1. Порядок проведения лабораторных работ
- •4.2. Требования к оформлению отчета по выполненной лабораторной работе
- •5. Цели и содержание лабораторных работ
- •5.1 Лабораторная работа № 1 Вычисление выражений с использованием библиотечных
- •5.1.1. Задание
- •5.1.2. Общие сведения и рекомендации по выполнению работы
- •5.1.3. Контрольные вопросы и задания
- •5.2. Лабораторная работа № 2 Программирование разветвляющихся вычислительных процессов.
- •5.2.1. Задание
- •5.2.2. Общие сведения и рекомендации по выполнению работы
- •5.2.3. Контрольные вопросы и задания.
- •5.3. Лабораторная работа № 3 Программирование разветвляющихся вычислительных процессов с использованием оператора множественного выбора.
- •5.3.1. Задание
- •5.3.2. Общие сведения и рекомендации по выполнению работы
- •5.3.3. Контрольные вопросы и задания
- •5.4. Лабораторная работа № 4 Программирование с использованием простых циклов.
- •5.4.1. Задание
- •5.4.2. Общие сведения и рекомендации по программированию
- •5.4.3. Контрольные вопросы и задания
- •5.5. Лабораторная работа № 5 Программирование с использованием итерационных циклов.
- •5.5.1. Задание
- •Проверочный результат
- •Относительная погрешность, %
- •5.5.2. Общие сведения и рекомендации по программированию
- •5.5.3. Контрольные вопросы и задания
- •5.6. Лабораторная работа № 6 Расчет функций с несколькими одновременно изменяющимися аргументами.
- •5.6.1. Задание
- •5.6.2. Общие сведения и рекомендации по выполнению работы
- •5.6.3. Контрольные вопросы и задания
- •5.7. Лабораторная работа № 7 Программирование с использованием массивов и внешних файлов.
- •5.7.1. Задание
- •5.7.2. Общие сведения и рекомендации по программированию
- •5.7.3. Контрольные вопросы и задания
- •5.8 Лабораторная работа № 8 Программирование с использованием функций.
- •5.8.1. Задание
- •5.8.2. Общие сведения и рекомендации по выполнению работы
- •5.8.3. Контрольные вопросы и задания
- •5.9. Лабораторная работа № 9 Программирование с использованием операций над комплексными числами.
- •5.9.1. Задание
- •5.9.2. Общие сведения и рекомендации по выполнению работы
- •5.9.3. Контрольные вопросы и задания
- •Приложения Приложение 1.
- •Приложение 2.
- •Список литературы
5. Цели и содержание лабораторных работ
5.1 Лабораторная работа № 1 Вычисление выражений с использованием библиотечных
функций языка С++.
Цель работы: отработка навыков программирования при вычислении математических выражений с использованием библиотечных функций языка С++.
5.1.1. Задание
Разработать алгоритм и составить программу вычисления функции по формуле, приведенной в табл.5.1. Полученный результат вывести на экран в следующем виде:
РЕЗУЛЬТАТ ВЫЧИСЛЕНИЙ
F = …
5.1.2. Общие сведения и рекомендации по выполнению работы
Программа должна составляться на основании ранее разработанного линейного алгоритма. Последовательность всех операций над данными в программе должна строго соответствовать последовательности их расположения в блок-схеме. Практика разработки программы, а затем составления по ней блок-схемы недопустима и вредна.
При записи математических выражений следует помнить, что в С++ они записываются в строку. Если выражение не помещается в одну строку, его можно переносить на следующую строку. Разрывать выражение рекомендуется на знаках операций, причем при переносе знак операции не повторяется. Он может помещаться как на предыдущей, так и на последующей строке. При записи длинных строк программы следует оставлять справа поля размером около 10 – 15% от ширины экрана.
Другой способ избежать длинных строк – использование промежуточных переменных. При этом следует иметь в виду, что поскольку под каждую переменную отводится определенная часть оперативной памяти, то при использовании большого количества промежуточных переменных, как программа, так и оперативная память могут быть "засорены".
Не следует забывать, что в алфавите
языка С++ нет греческих букв (например,
,
,
и др.). Вместо таких имен переменных
можно использовать идентификаторы
,
,
и т.д. Для обозначения, например, переменных
с индексами
,
можно использовать идентификаторы
,
или
,
.
Необходимо помнить, что компилятор
языка С++ различает строчные и прописные
буквы (то есть, идентификаторы
и
будут восприниматься как имена двух
различных данных).
Правилом хорошего стиля программирования является обозначение имен констант строчными буквами, а переменных – прописными. Например:
const float A = 15.2; // Константа
float x = – 0.85, y; // Переменная
Особое внимание следует обращать на расстановку скобок. От этого может зависеть результат вычислений.
Часто вызывает затруднение вычисление
корней степени выше двух (например,
,
и др.). В этом случае целесообразно корень
преобразовать в степенную функцию вида
(например,
,
)
и затем воспользоваться известными
библиотечными функциями:
F = pow(y,x);
или
F = exp(y*log(x));
Аналогичным образом возводится любое число в действительную степень. Однако при небольшом целом показателе степени (до четырех) лучше прибегать к замене операции возведения в степень умножением, где это возможно. Например, вместо
F = pow(3,a);
проще записать
F = a*a*a;
Следует помнить, что при делении целых чисел результат также будет представляться целым числом (при наличии дробной части она будет отброшена). Таким образом, например, результатом операции 1/3 будет число 0. Чтобы этого избежать, необходимо хотя бы один операнд представлять дробным числом (например, 1/3., 1./3 или 1./3.). После точки нуль можно не писать. В таких случаях результат будет приводиться к дробному типу числа, и дробная часть не теряется.
Перед выводом результата целесообразно произвести очистку экрана с помощью стандартной функции
clrscr( );
Для этого к программе следует присоединить заголовочный файл <conio.h> с помощью директивы для препроцессора.
После завершения выполнения программы происходит возврат в среду компилятора. При этом результаты с экрана дисплея исчезают. Для просмотра результатов следует воспользоваться комбинацией клавиш [Alt+F5]. Более удобным вариантом будет запись перед завершающей скобкой программы } оператора вызова стандартной функции ожидания нажатия клавиши
getch( );
из заголовочного файла <conio.h>. В этом случае результат на экране будет находиться до тех пор, пока не будет нажата любая клавиша.
Не обязательно все строки программы начинать с первой позиции. Рекомендуется располагать текст программы уступами, отделяя один логический фрагмент от другого. При этом пары фигурных скобок лучше размещать на одной вертикали, а разные пары – на различных вертикалях. Это улучшает "читаемость" программы и считается хорошим стилем ее написания. Первую часть программы (директивы для препроцессора) лучше отделять от второй части (функции) пустой строкой.
