- •Введение
- •Лабораторная работа № 1 составление линейных, разветвляющихся и циклических алгоритмов
- •Краткие теоретические сведения
- •Свойства алгоритмов
- •Способы описания алгоритмов
- •Графическое описание алгоритма
- •Типы алгоритмов
- •Пример простейшего линейного процесса
- •Пример разветвляющегося процесса
- •Пример циклического процесса
- •Порядок выполнения работы
- •Контрольные вопросы
- •Основной экран Borland c
- •Выход из системы Borland c
- •Получение помощи
- •Cоздание и сохранение файлов
- •Компилирование и запуск программы на выполнение
- •Закрытие Окна Редактирования
- •Загрузка файла в окно редактора
- •Создание нового файла
- •Методы отладки программы
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание для выполнения
- •Лабораторная работа № 3 ввод-вывод данных
- •Краткие теоретические сведения
- •Элементы языка
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип
- •Использование функций printf() и scanf() для форматного вывода и ввода информации
- •Функции для ввода и вывода символов
- •Неформатный ввод-вывод строк
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание для выполнения
- •Варианты задания
- •Лабораторная работа № 4 линейные вычислительные процессы
- •Краткие теоретические сведения Арифметические операции
- •Операция присваивания
- •Операция вычисления размера (sizeof)
- •Преобразование типов
- •( Имя-типа ) операнд
- •Математические функции (заголовочный файл math.H)
- •Побитовые операции
- •Операция следования (запятая)
- •Выражение 1, выражение 2
- •Примеры решений
- •1. Ввести сторону квадрата a. Найти периметр и площадь квадрата.
- •3. Ввести значения переменных и вычислить выражение
- •Лабораторная работа № 5 программирование типовых электротехнических расчетов
- •Краткие теоретические сведения
- •Задания для выполнения
- •Лабораторная работа № 6 программирование разветвляющихся алгоритмов
- •Краткие теоретические сведения
- •If (условие ) оператор_1; else оператор 2;
- •If (условие ) оператор_1;
- •If (условие_1) оператор_ 1;
- •Порядок выполнения работы
- •Задание для выполнения
- •Лабораторная работа № 8 инструкция множественного выбора switch/case
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задания для выполнения
- •Лабораторная работа № 9 программирование циклов с помощью оператора for
- •Краткие теоретические сведения
- •1. Ввести два числа. Посчитать сумму чисел между ними.
- •2. Ввести целое число и определить, является оно простым или нет.
- •Лабораторная работа № 10 Программирование циклов с помощью операторов while и do-while
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задания для выполнения
- •Лабораторная работа № 11 Вложенные циклы
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Формула средних
Порядок выполнения работы
1. Изучить теоретические сведения.
2. Ответить на контрольные вопросы.
3. Выполнить задание.
Контрольные вопросы
1. Какие служебные слова могут использоваться при записи условного оператора?
2. Сколько форм записи имеет оператор if?
3. Из каких операций может состоять условие?
4. Какая операция может заменить оператор if? Приведите ее формат.
Задания для выполнения
Вычислить значение y в зависимости от выбранной функции (x), аргумент которой определяется из поставленного условия. Возможные значения функции (x): 2x, x2, х/3.
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
, где
ЛАБОРАТОРНАЯ РАБОТА № 7
РЕШЕНИЕ УРАВНЕНИЙ И НЕРАВЕНСТВ
Цель работы: получение навыков в использовании условного оператора в программе. Знакомство с задачами, для решения которых используются условные операторы.
Краткие теоретические сведения
При составлении программ разветвляющейся структуры необходимо соблюдать следующие правила:
1. Программа должна правильно выполняться при любых значениях начальных данных.
2. Правильность работы всех ветвей программы должна быть проверена на тестах.
3. При отсутствии решения или бесчисленном множестве решений должен быть напечатан соответствующий текст.
Решение уравнений
1. Решить уравнение ax = b. Если корней нет, то выдать соответствующее сообщение.
Этап 1. Математическое описание решения задачи.
Из курса математики известно, что такое уравнение имеет один корень, если а 0, который вычисляется по формуле x = b/a. Если а = 0, то возможны два варианта: при b=0 любое число является корнем уравнения, при b 0 уравнение не имеет корней.
Этап 2. Определение входных и выходных данных.
Входными данными являются коэффициенты уравнения a и b, выходными данными - значения корней уравнения, сообщение об отсутствии корней или сообщение о множественности корней.
Этап 3. Разработка алгоритма решения.
Схема алгоритма представлена на рис.1.
Этап 4. Программа.
#include <stdio.h>
#include <conio.h>
void main(void)
{ double a, b, x;
clrscr(); // очистка экрана
puts(“Введите значения a и b”);
printf(“%lf%lf”, &a, &b);
if (a==0)
if (b==0) puts(“Любое число”);
else puts(“Нет решения”);
else
{
x=b/a;
printf(“x=%lf\n”,x);
}
getch();
}
Рис.1. Схема алгоритма решения уравнения ax = b
2. Найти действительные корни квадратного уравнения вида ax2+bx+c=0. Если действительных корней нет, то выдать соответствующее сообщение.
Этап 1. Математическое описание решения задачи.
Из курса математики известно, что такое уравнение имеет два корня, которые вычисляются по формулам:
где X1 и X2 - первый и второй корни уравнения соответственно;
D = b2 - 4ac - дискриминант уравнения (D 0).
Если D < 0, уравнение не имеет действительных корней.
Этап 2. Определение входных и выходных данных.
Входными данными являются коэффициенты уравнения a, b, c, выходными данными - значения корней уравнения или сообщение об отсутствии действительных корней. Для вычисления корней уравнения необходимо знать дискриминант уравнения.
Этап 3. Разработка алгоритма решения.
Решение неравенств
1. Решить неравенство ax + b 0.
Этап 1. Математическое описание решения задачи
-
a
b
Множество решений
>0
Любое
[ -b/a; +∞[
<0
Любое
]- ∞; -b/a]
=0
0
Любое число
=0
<0
Решений нет
Этап 2. Определение входных и выходных данных.
Входными данными являются коэффициенты неравенства a и b, выходными - сообщения о множестве решений или об их отсутствии.
Этап 3. Разработка алгоритма решения.
2. Решить неравенство ax2+ bx + c > 0.
Этап 1. Математическое описание решения задачи.
D - дискриминант; X1, X2 - корни квадратного уравнения ax2+ bx + c > 0.
-
D
a
Множество решений
>0
>0
X<X1 или X>X2
>0
<0
X2<X<X1
=0
>0
Любое число, кроме X1
=0
<0
Решений нет
<0
>0
Любое число
<0
<0
Решений нет
Этап 2. Определение входных и выходных данных.
Входными данными являются коэффициенты неравенства a, b, c, выходными - сообщения о множестве решений или об их отсутствии.
Этап 3. Разработка алгоритма решения.
Этап 4. Программа:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(void)
{
char T1[]=”Любое число”;
char T2[]=”Решений нет”;
float A,B,C,D,X1,X2;
puts(“Введите значения A,B,C”);
printf(“%f%f%f”, &A, &B, &C);
D=pow(B,2) - 4*A*C;
if (D>0)
{
X1=(-B-sqrt(D))/(2*A);
X2=(-B+sqrt(D))/(2*A);
if (A>0)
printf(“X<%5.2f или X>%5.2f\n”,X1, X2);
else printf(“%5.2f<X<%5.2f\n”,X2, X1);
}
else
{
if (D==0)
{
X1=-B/(2*A);
if (A>0)
printf(“Любое число кроме X1=%5.2f\n”, X1);
else puts(“Решений нет”);
}
else
if (A>0) puts(“Любое число”);
else puts(“Решений нет”);
}
getch();
}
3. Решить систему неравенств
при a ≠0
.
Математическое описание решения задачи.
При a > 0 система неравенств сводится к системе
Если b/a≥0 , то система не имеет решения; в противном случае множество решений системы принадлежит промежутку b/a<x<с.
При a < 0 исходная система неравенств сводится к следующей:
Если b/a≥0, то все x<c являются решениями системы, в противном случае - все x<b/a.