- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Лабораторная работа №3
Целью работы является освоение программирования алгоритмов с линейной структурой, когда решение задачи является результатом выполнения цепи вычислений, в которой очередные вычислительные действия используют в качестве исходных данных результаты вычислений на предыдущих этапах.
Порядок выполнения работы:
-
изучить набор функций математической библиотеки math.h;
-
разработать решение поставленной задачи;
-
составить список исходных данных и результата;
-
составить блок-схему алгоритма;
-
осуществить перевод математических выражений на язык Cи;
-
составить текст программы на языке Cи;
-
проверить правильность выполнения разработанной программы;
-
составить отчет.
Действия по вычислениям промежуточных и окончательных результатов описываются операторами присваивания.
Необходимо следить, чтобы порядок расположения операторов присваивания в программе от ее начала к концу соответствовал логической последовательности действий при решении поставленной задачи. При выборе имен переменных и составлении арифметических выражений необходимо правильно устанавливать тип используемых величин (целые, вещественные и так далее). При использовании в формулах греческого алфавита можно использовать их латинские названия или буквы, сходные по начертанию. Например, символ можно заменить на alfa или a, на omega или w.
Пример. Необходимо вычислить значение выражения
,
где .
Решение. Для вычисления заданных выражений необходимо использовать следующие функции: квадратный корень, тангенс, синус, косинус, возведение в степень. Все перечисленные функции имеются в библиотеке math.h. Так как соответствующие функции библиотеки sqrt, tan, sin, cos, pow в качестве аргументов и возвращаемых значений используют вещественный тип данных удвоенной точности double, то для всех переменных в программе имеет смысл использовать этот тип данных. Рассмотрим порядок вычисления выражений:
-
переменной y присваивается значение 0,45;
-
вычисляется значение переменной z, для чего необходимо значение y умножить на 0,3, из полученного произведения извлечь квадратный корень и сложить с 0,8;
-
переменной x присваивается значение тангенса произведения переменных y и z деленное на сумму синуса y и косинуса z;
-
значение переменной R – частное от суммы x, y, z в степени 0,15 и суммы квадратов этих же переменных.
Алгоритм имеет линейную структуру и состоит из блоков вычисления и вывода данных (для своей задачи разработать самостоятельно).
Исходные данные: y.
Результат: z, x, R.
Текст программы (Листинг 17).
Листинг 17 — Лабораторная работа №3
/* lab3.c – лабораторная работа №3. */
#include <stdio.h> #include <conio.h> #include <math.h>
void main() { /* объявление и инициализация констант и переменных */ const double y = 0.45; double z, x, R;
clrscr();
/* вычисления */ z = 0.8 + sqrt(0.3 * y); x = tan(y * z) / (sin(y) + cos(z)); R = pow(x + y + z, 0.15) / (x * x + y * y + z * z);
/* вывод результатов */ printf(“y = %.5f\n”, y); printf(“z = %.5f\n”, z); printf(“x = %.5f\n”, x); printf(“R = %.5f\n”, R); } |
Результат выполнения (Рисунок 48).
Рисунок 48 — Результат выполнения lab3.c
Таблица 8 — Варианты заданий к лабораторной работе №3
№ вар. |
Вычислить выражение |
При заданных значениях |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|