Лабораторная работа №4 (Вариант 24)
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
Лабораторная работа №4
по дисциплине
«Программирование на языке высокого уровня»
на тему:
«Реализация псевдографики в среде языка Си»
|
Студент |
|
|
|
Ключанских А.С |
|
|||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
|||||||||
|
Группа |
|
АС-10-1 |
|
|
|
|||||||||
|
|
|
|
|
|
|
|||||||||
|
Принял |
|
|
|
|
|
|||||||||
|
|
|
|
|
Фарафонов А.С. |
|
|||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2010
-
Задание кафедры
24 |
Вычислить значения функции на интервале [1.5;30] с шагом 0.5. Разбить интервал изменения функции на заданном промежутке на 7 равных отрезков и посчитать, сколько значений попало в каждый отрезок. Нарисовать на экране результат в виде столбиковой диаграммы, как показано на рисунке. Высота столбиков диаграммы должна быть пропорциональна количеству точек, попавших в каждый отрезок. Подписать максимальную и минимальную высоту столбиков, а так же минимальное и максимальное значение функции.
18 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 0 *** *** *** *** *** *** *** 3.5 15.5 |
-
Краткие теоретические сведения
Оператор пошагового цикла for:
Общая форма оператора for следующая:
for (инициализация; условие; приращение) оператор;
Лестница if-else-if
В программах часто используется конструкция, которую называют лестницей if-else-if. Общая форма лестницы имеет вид
if (выражение) оператор;
else
if (выражение) оператор;
else
if (выражение) оператор;
else оператор;
Работает эта конструкция следующим образом. Условные выражения операторов if вычисляются сверху вниз. После выполнения некоторого условия, т.е. когда встретится выражение, принимающее значение ИСТИНА, выполняется ассоциированный с этим выражением оператор, а оставшаяся часть лестницы пропускается. Если все условия ложны, то выполняется оператор в последней фразе else, а если последняя фраза else отсутствует, то в этом случае не выполняется ни один оператор.
Недостаток предыдущей записи лестницы состоит в том, что с ростом глубины вложенности увеличивается количество отступов в строке. Это становится неудобным с технической точки зрения. Поэтому лестницу if-else-if обычно записывают так:
if (выражение)
оператор;
else if (выражение)
оператор;
else
оператор;
-
Блок-схема программы
-
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
const int N = 58;
int i, a1=0, a2=0,a3=0,a4=0,a5=0,a6=0,a7=0;
double A[N],x = 1.5;
for(i=0;i<N;i++)
{
A[i] = log(x-1.0);
x=x+0.5;
}
for(i=0;i<N;i++)
{
if(A[i]<(A[N-1]/7))
a1++;
else if(A[i]<(2*A[N-1]/7))
a2++;
else if(A[i]<(3*A[N-1]/7))
a3++;
else if(A[i]<(4*A[N-1]/7))
a4++;
else if(A[i]<(5*A[N-1]/7))
a5++;
else if(A[i]<(6*A[N-1]/7))
a6++;
else if(A[i]<=A[N-1])
a7++;
}
printf("\t %d %d %d %d %d %d %d\n\n", a1, a2, a3, a4, a5, a6, a7);
printf("%d",a7);
for(i=0;i<a7;i++)
{
if(a1>=(a7-i)) printf("\t*** ");
else printf("\t ");
if(a2>=(a7-i)) printf("*** ");
else printf(" ");
if(a3>=(a7-i)) printf("*** ");
else printf(" ");
if(a4>=(a7-i)) printf("*** ");
else printf(" ");
if(a5>=(a7-i)) printf("*** ");
else printf(" ");
if(a6>=(a7-i)) printf("*** ");
else printf(" ");
printf("***\n");
}
printf("0 ---------------------------------");
printf("\n\t%.1f\t\t\t%.1f",A[0],A[N-1]);
getch();
}
-
Контрольный пример
-
Выводы о проделанной работе
В ходе выполнения данной лабораторной работы я написал программу для вычисления значения функции на интервале [1.5;30] с шагом 0.5 и заполнения массива этими данными. Программа разбивает интервал изменения функции на заданном промежутке на 7 равных отрезков и считает, сколько значений попало в каждый отрезок, а затем изображает на экране результат в виде столбиковой диаграммы. Высота столбиков диаграммы пропорциональна количеству точек, попавших в каждый отрезок. Минимальное значение функции равно ее значению в крайней левой точке отрезка(1.5), а максимальное – в крайней правой точке(30).
-
Список использованной литературы
-
Керниган, Б.У. Язык программирования C [Текст]: учеб.пособие / Б.У. Керниган, Д. М. Ритчи. — М.: «Вильямс», 2007. — 304 с.
-
Шилдт, Г. C++ Шаг за шагом [Текст]: учеб.пособие/ Г. Шилдт.— М.: «ЭКОМ», 2007. — 640с.