Вариант | Сумма членов ряда | Отрезок | Точность |
1 |
Варианты подынтегральных функций к заданию 3
Вариант | Подынтегральная функция | Первообразная функция | Метод | Интер- | Точ-ность |
1 | ln2 x / x | ln3 x / 3 | Прям. | [1; 4] | 10-4 |
2 |
| cos (1/x) | Трап. | [1; 2,5] | 0,5·10-4 |
3 | xx (1 + ln x) | xx | Трап. | [1; 3] | 10-4 |
4 | Cos x | sin x | Прям. | [0; p/2] | 10-5 |
5 | Sin2 x |
| Трап. | [0; p/2] | 10-6 |
6 | x ex sin x | ex(x sin x + (1-x)cos x) / 2 | Прям. | [0; 1] | 0,5·10-6 |
7 | (ln x / x)2 | - (ln2 x + 2 ln x + 2) / x | Трап. | [1; 2,5] | 10-4 |
8 | x·arctg x | (arctg(x2 +1) - x) / 2 | Прям. | [0; 3] | 10-4 |
9 |
|
| Трап. | [0; 2] | 10-5 |
10 | ex·cos2x | ex(1/2 +1/10·cos 2x + 1/5·sin 2x) | Прям. | [0; p] | 0,5·10-5 |
11 | X3/(3+x) | X3 / 3 – 3x2 / 2 + 9x - 27 ln(x+3) | Трап. | [1; 2] | 10-4 |
12 | (ln x / x)3 | - (4 ln3 x + 6 ln2 x +6 ln x + 3) /(8x2) | Прям. | [1; 2] | 10-4 |
13 |
| x ch x – sh x | Трап. | [0; 2] | 10-5 |
14 | X2 sin 2x |
| Прям. | [1; 2] | 10-4 |
15 |
|
| Трап. | [1; 2] | 10-4 |
Приложение 4. Варианты задач к заданию 4.
1. В интервале от А до В найти все парные простые числа. Парными простыми числами называют 2 простых числа, разность между которыми равна 2 (3 и 5, 11 и 13, 17 и 19)
2. Найдите все трехзначные числа, сумма цифр которых равна заданному числу.
3. Число Армстронга – такое число из К цифр, для которого сумма К-х степеней его цифр равна самому числу. (153=1*1*1+5*5*5+3*3*3). Найти все числа Армстронга для 2, 3, 4 цифр.
4. Палиндром – такое сочетание цифр, которые читаются одинаково справа налево и наоборот. Найти все палиндромы в заданном интервале, для которых их квадраты тоже палиндромы.
5. Построить несколько первых строк треугольника Паскаля.
6. Найти номера всех «счастливых» автобусных билетов и подсчитать их количество (017332).
7. Среди К первых чисел найти такие, запись которых совпадает с последними цифрами их квадрата (6*6=36, 25*25=625)
8. Найти все Пифагоровы тройки натуральных чисел А, В, С. (Сумма квадратов этих чисел не превышает К, А<=B<=C<=K).
9. Найти все совершенные числа в диапазоне от А до В. (Число равно сумме всех своих делителей, включая 1: 28=1+2+4+7+14)
10. Найти все дружественные числа на определенном интервале. (Пара чисел Ки Р, если К равно сумме всех его делителей, кроме Р, и наоборот). (220 и 284)
11. Получить все 4-значные числа, в записи которых нет 2 одинаковых цифр.
12. Написать программу, определяющую, можно ли натуральное число заменить суммой квадратов пары других чисел.
13. Найти 10 натуральных чисел: N= A*A + B*B = C*C + D*D (Все числа A, B, C, D - разные).
14. Сколькими способами можно представить натуральное число в виде суммы кубов пары других чисел.
15. Программа должна найти для заданного натурального К наименьшее число Р, которое может быть разложено в сумму вида A^K+B^K по крайней мере 2 разными способами.
16. Определить, есть ли среди цифр заданного 3-значного числа одинаковые.
17. Заданную в виде А/В дробь сократить до несократимой дроби (4/96=1/24, 10/18=5/9)
18. Найти период десятичной дроби.
19. Функция для целых неотрицательных чисел задана так:
F(0)=0; F(1)=1; F(2n)=F(n); F(2n+1)=F(n)+F(n+1)
Для данного х найти и вывести F(x)
20. 3 числа обозначают день, месяц и год. Найти номер этого дня с начала года.
21. Определить, сколько раз на каждый день недели выпадал ваш день рождения.
22. Сложить 2 громадных целых числа (75 десятичных разрядов).
23. Показать на экране процесс умножения чисел столбиком. Найти все такие К, что у числа К! сумма цифр – простое число.
24. Найти все такие К, что у числа К! – сумма цифр – квадрат целого числа.
Содержание отчета
Отчет должен содержать:
Тексты заданий (по вариантам);
Тексты программ с комментариями;
Протоколы работы программ;
Выводы по работе.
Контрольные вопросы
1. В чем состоят преимущества использования операторов цикла в программах?
2. Какие циклические конструкции есть в языке Си и чем они отличаются?
3. Переменные каких типов можно использовать в качестве параметров в операторе for?
4. Что произойдет, если изменять параметр цикла в теле цикла?
5. Как организовать бесконечный цикл без использования оператора безусловного перехода?
6. Как вычислить и напечатать значения функции Y=X2 при изменении X от –10 до 25 с шагом 1.37?
7. Как организовать цикл с одновременным изменением нескольких параметров:
а) А изменяется от А1 до А2 с шагом А3, В изменяется от В1 с шагом В3;
б) А изменяется от А1 до А2 с шагом А3, В изменяется от В1 до В2.
8. Как организуются вложенные циклы?
9. Как прервать выполнение цикла?
10. Что такое рекуррентная формула? Зачем используются рекуррентные соотношения для вычислений значений числа ряда?
11. Как при отладке остановить выполнение программы только при 5-ом проходе цикла?
12. Какие два этапа необходимо выполнить при нахождении корней уравнений?
13. Какие два этапа необходимо выделить при нахождении корней уравнений?
14. В чем заключается сущность метода итераций при уточнении корня? Как определить число итераций, необходимых для получения значения корня с требуемой точностью?
15. Каково условие выхода их цикла при вычислении значения суммы бесконечного ряда?
16. Почему при вычислении значения текущего члена аn используется простая переменная, а не индексированная?
17. Каково условие выхода из цикла при вычислении значения суммы бесконечного ряда?
Литература
1. . С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2002. – 464с.
2. , . С/С++. Структурное программирование: практикум. – СПб.: Питер, 2002. – 240с.
3. Митницкий теории алгоритмов и язык программирования С. Учебное пособие. –М.: МФТИ, 2001. – 180с.
4. Могилев А. В. и др. Информатика. М.: Изд. центр “Академия”, 2000. – 816 с.
5. Толковый словарь стандарта языка Си. СПб.: Питер, 1994.
6. Подбельский С++: Учебное пособие. – М.: Финансы и статистика, 2002 – 560с.
7. , Фомин на языке Си. – М.: Финансы и статистика, 2002 – 600с.
8. Алексеев техника и программирование. Практикум по программированию: Практ. пособие. - М.: Высшая школа, 1991. – 400с.
9. Информатика. Базовый курс. / и др. – СПб.: Питер, 2000. – 640с.
Лабораторная работа № 5
Работа с графикой
Цели работы:
Изучить математические основы построения графиков и диаграмм на экране дисплея;
Научиться строить графики с разметкой координатных осей с использованием графической библиотеки языка Turbo С++.
Краткие теоретические сведения
Для графического представления информации наиболее часто применяются:
- Графики в декартовой системе координат;
- Графики в полярной системе координат;
- Прямоугольные диаграммы (гистограммы);
- Заполненные (полигоны) и кусочно-линейные диаграммы;
- Круговые диаграммы;
- Трехмерные диаграммы;
- Трехмерные каркасные графики поверхностей;
- Планы поверхностей (проекция линий уровня на плоскость X0Y).
Диаграммы и графики в прямоугольной системе координат бывают следующих видов:
- С независимым друг от друга расположением рядов данных (рис.1, а) ;
- С накоплением - данные суммируются, ряды располагаются друг над другом (рис.1, а);
-
![]() |
Относительные ряды располагаются друг над другом, их величины показывают взаимное соотношение, сумма равна 100% (рис.1, а).
а б в
Рис.1.
Масштаб по любому измерению может быть:
- линейный (для любых значений);
- логарифмический (для положительных значений).
Графики могут выводиться:
- Разрозненными точками (специальными маркерными символами) - точечный;
- Ломаной линией, соединяющей соседние точки – кусочно-линейный;
- Сглаженной линией, соединяющей соседние точки - сглаженный;
- Сглаженной линией, проходящей наиболее близко к известным точкам (интерполяционная кривая, линия тренда).
Определение промежуточных точек графика, находящихся в интервале (по оси Х) между известными точками, называется интерполяцией.
Определение новых точек графика, находящихся за пределами интервала известных точек, называется экстраполяцией (прогнозом).
Принципы построения графиков
![]() |
Рис. 2
Координаты экрана отличаются от математических тем, что ось Y на экране направлена вниз (рис. 2). Кроме этого начало координат экрана – это верхний левый угол. Диапазон возможных координат экрана – это целочисленные значения в интервале –32768...32767. Начало координат графика может находиться как на экране (рис. 2), так и за его пределами.
Для правильного вычисления экранных координат точки (x, y) используются следующие формулы:
хs = X0 + x · mx;
(1)
ys = Y0 – y · my.
Здесь х, у – математические координаты точки;
xs, ys – экранные координаты точки;
mx, my – масштабные коэффициенты по осям X и Y соответственно.
Масштабные коэффициенты определяются как количество пикселей, приходящихся на единицу математического графика. Нужно стремиться к тому, чтобы между делениями графика на экране всегда было одинаковое число точек, то есть, не допускать округления при разметке осей.
Шаг изменения аргумента должен быть меньше величины деления, лучше всего, когда Dx соответствует одному пикселю – получается плавный график.
Пример: построение параболы у=х2+х-3 на интервале –5...5.
#include <stdlib. h>
#include <stdio. h>
#include <conio. h>
#include <math. h>
#include <graphics. h>
#include <string. h>
// функция, выводимая на графике
double f(double x) { return x*x+x-3; };
main() {
int gd, gm; // драйвер и режим
gd=0;
char s[10];
// начала координатных осей, масштабные коэффициенты, размер штриха
const int x0=300, y0=250, mx=30, my=20, d=3;
int xs, ys, nlin;
double x, y,q, dx=0.01; // шаг измерений по оси х
initgraph(&gd,&gm,"e:\\tc3\\bgi");
cleardevice();
// Оси
line(x0,0,x0,getmaxy());
line(0,y0,getmaxx(),y0);
// Разметка
for (int i=-50; i<50; i++) { // деления и за пределами экрана
// вывод штрихов делений на осях
line(x0+i*mx, y0+d, x0+i*mx, y0-d);
line(x0+d, y0-i*my, x0-d, y0-i*my);
// вывод надписей рядом с делениями
if (i) { // нуль не выводим
itoa(i, s,10); // преобразование числа в строку
// штрих должен быть по центру надписи: выравнивание
settextjustify(1,2);
outtextxy(x0+i*mx, y0+5,s); // вывод подписи деления
// то же для оси Y
settextjustify(2,1);
outtextxy(x0-5,y0-i*my, s);
}
}
// График
setcolor(12);
setlinestyle(0,0,3);
nlin=0;
x=-5; y=f(x); // вычисление первой точки
xs=x0+x*mx; // перевод в координаты экрана
ys=y0-y*my;
moveto(xs, ys); // сдвиг графического курсора в 1-ю точку
do {
x+=dx; y=f(x); // вычисление следующей точки
xs=x0+x*mx;
ys=y0-y*my;
lineto(xs, ys); // проводим отрезок до следующей точки
} while (x<=5);
getch();
closegraph();
}
В технической литературе графики приводят в более удобном виде (рис. 3). Этот способ тем более следует применять, когда хотя бы одна из осей должна находиться за пределами экрана.
Кроме этого, такие часто применяют несколько таких окон, совмещенных по оси абцисс. Язык программирования Turbo C++ позволяет создать на экране графическое окно с отсечением всего, что выходит за его пределы.

Рис. 3.
Создание графического окна осуществляется функцией setviewport.
Формат вызова функции:
Setviewport(x1, y1, x2, y2, признак_отсечки);
Где x1, y1 и x2, y2 - координаты противоположных углов прямоугольника окна,
признак_отсечки – целое число. Если оно неравно нулю, то все точки, выходящие за пределы окна, выводиться на экран не будут.
После применения этой функции все координаты будут отсчитываться от верхнего левого угла окна.
Окно создается невидимым, то есть без границ и без фона. Для создания видимого окна графика следует использовать функции вывода закрашенного прямоугольника bar и прямоугольной рамки rectangle.
Бывают случаи, когда разрыв между точками графика очень неравномерный, значения по какой-либо оси отличаются друг от друга на несколько порядков. В этом случае применяется логарифмический масштаб (рис. 4).
![]() |
Рис. 4
На рис. 4 логарифмический масштаб применен только по оси абцисс. Такой масштаб называется полулогарифмическим.
Для получения экранной координаты точки в логарифмическом масштабе применяется формула:
хs = X1 + mx · lg x ; (2)
где X1- координата экрана при х = 1, mx – количество пикселей на декаду.
Графики неявных функций
Из (1) следует, что:
(3)
Если в равенстве с двумя переменными нельзя одну переменную выразить через другую, применяют следующий алгоритм:
Перебирают с помощью вложенных циклов все точки экрана по 2 координатам. Во внутреннем цикле:
- Вычисляют математические координаты точки по экранным по формулам (3);
- Подставляют полученные значения х и у в исходное равенство и определяют модуль разности левой и правой частей равенства (погрешность сходимости равенства).
- Если погрешность будет меньше заданной величины, точка выводится на экран.
Графики в полярных координатах
На самом деле на экране всегда применяется прямоугольная система координат. Математическая функция может задаваться в полярных координатах.
![]() |
Рис. 5
Взаимосвязь полярных и прямоугольных координат показана на рис. 5.
Для преобразования полярных координат в прямоугольные используются формулы
x = r · cos j;
(4)
y = r · sin j,
а для преобразования прямоугольных координат в полярные
(5)
Разметка графика в полярных координатах производится угловыми кольцевыми линиями.
![]() |
Построение диаграмм
Принципы построения диаграмм в декартовой системе координат ничем не отличаются. Иногда диаграмма имеет вид кусочно-линейного графика. Отличие диаграммы от графика состоит в том, что по одной из осей откладывают не числа, а текстовые значения категорий. В трехмерных диаграммах категории откладывают по двум осям в горизонтальной плоскости, а по вертикали – числовые значения.
Для построения круговой диаграммы нужно составить пропорцию, учитывая, что сумма значений равна 100% (360 градусов).
Построение плана поверхности
Для построения изограммы функции двух переменных Z=f(x,y) можно использовать градации одного цвета, например серого (от черного до ярко белого). Яркость цвета может увеличиваться пропорционально значению функции в данной точке, но можно применить и логарифмический масштаб по оси Z.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |









