- •Министерство образования республики беларусь учреждение образования гомельский государственный технический университет имени п. О. Сухого
- •Лабораторная работа №3 «Программирование разветвляющихся алгоритмов»
- •Задание: Разработать алгоритмы, написать на языке Си программы в соответствиями с заданиями, подготовить тексты для отладки программ. Задания, которые необходимо выполнить, задает преподаватель.
- •Задание 4.1.
- •Задание 4.2.
- •Задача 4.4
Министерство образования республики беларусь учреждение образования гомельский государственный технический университет имени п. О. Сухого
Факультет автоматизированных и информационных систем
Кафедра «Информационные технологии»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 3
по дисциплине «Основы алгоритмизации и программирования»
на тему: «Программирование разветвляющихся алгоритмов»
Выполнил: студент гр. ИТ-12
Нестереня И.Г.
Принял: ассистент
Стефановский И.Л.
Дата сдачи отчета: _____________________
Дата допуска к защите: _____________________
Дата защиты: _____________________
Гомель 2009
Лабораторная работа №3 «Программирование разветвляющихся алгоритмов»
Цель работы: Изучить операции отношения, логические операции, правила записи логических отношений, правили записи и использования операторов if; научиться составлять разветвляющиеся алгоритмы и оформлять их в виде графической схемы, составлять, тестировать и отлаживать в среде IDE разветвляющиеся программы.
Задание: Разработать алгоритмы, написать на языке Си программы в соответствиями с заданиями, подготовить тексты для отладки программ. Задания, которые необходимо выполнить, задает преподаватель.
Подготовить отчет, который должен содержать:
Титульный лист.
Цель работы.
Для каждой задачи:
Условие задачи.
Графическую схему алгоритма.
Таблицу соответствия переменных.
Текст программы на языке Си.
Тесты.
Листинг с текстом программы
Выводы по работе.
Задание 4.1.
Составить графическую схему алгоритма и написать программу вычисления функции y=f(x) в соответствии с видом функции. В программе предусмотреть вывод
значения аргумента функции x;
вычисленного значения функции y;
номер формулы, по которой производилось вычисление функции (1, 2 или 3).
Результаты и исходные данные вывести:
а) в окно сообщений;
b) в ячейки рабочего листа. Номер строки на рабочем листе, в которую будут выведены результаты, ввести как исходное данное.
Исходные данные для отладки программы выбрать самостоятельно. Предусмотреть отладку программы для каждого интервала изменения функции и для каждой точки ветвления функции.
функция
Блок-схема:
Таблица соответствия переменных:
Переменные в задаче |
Переменные на языке Си |
Тип |
Комментарий |
х |
х |
float |
Исходное данное |
у |
у |
float |
результат |
|
n |
int |
исходное данное |
Листинг программы:
#include <stdio.h>
#include <math.h>
main()
{
float x,y;
int n;
printf("Введите x\n");
scanf("%f", &x);
if(x>=10)
{
y=sqrt(x*x-2*x);
n=1;
}
else
if(x<=1) {y=exp(2/x);
n=2;
}
else
{
y=log(x)+(x*x*x)/4;
n=3;
}
printf("Для x=%.2f, y=%.4f(формула %d)\n", x,y,n);
fflush(stdin);
getchar();
return(0);
}
Тесты:
тест № |
значение х |
значение у (в программе) |
значение у (вычисленное) |
формула для расчёта |
1 |
10 |
8,9443 |
8,9442 |
|
2 |
11 |
9,949 |
9,949 |
|
3 |
1 |
1,648 |
1,648 |
|
4 |
0 |
1 |
1 |
|
5 |
5 |
32,859 |
32,859 |
|
Тесты показали, что программа работает правильно.