- •Записать тернарную операцию для оператора (л.6):
- •Определите понятие «оператор». «Пустой оператор» и пример его использования. Каждый ли оператор заканчивается «точкой с запятой»? (л.6)
- •Синтаксис оператора if. (л.6).
- •Использование вложенного условного оператора для оптимизации выполнения условия. (л.6).
- •Указать область видимости переменной k: (л.6).
- •Использование операторов break, сontinue, return и функции exit() (л.6) .
- •Интерпретировать выражения:
- •Указать ошибку:
- •Являются ли эквивалентными приведенные две группы операторов:
- •Синтаксис оператора цикла с предусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла с постусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла for. Организация на его основе бесконечного цикла. Использование «неполных» форм записи оператора цикла for (л.7) .
- •Выражение оператора цикла for через while (л.7) .
- •2.1. Определить, какому интервалу из области определения функции принадлежит текущее значение х.
- •2.2. Вычислить значение функции y по соответствующей формуле.
- •2.3. Вывести значения X и y
- •. Нахождение корня нелинейного уравнения методом половинного деления
- •Приемы эффективного программирования (л.7) .
- •Определение наибольшей степени целого числа 100, которую можно вычислить, пользуясь типом long
- •Табулирование функции на отрезке с выбором расчетной формулы (л.7) . Табулирование функции на отрезке
- •Вычисление суммы членов бесконечного ряда (ряд Тейлора) на отрезке (л.7) .
- •Вычисление значения многочлена на отрезке по схеме Горнера (л.7) .
- •Проверить, является ли заданное число простым. (л.7) Проверка, является ли число простым
- •Логическое представление в компьютере целых чисел (с примерами) (л.8) .
- •Логическое представление в компьютере вещественных чисел (с примерами) (л.8) .
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Определение и способы инициализации указателей. Операции над указателями (л.9) .
- •Операции над указателями
- •Операции инкремента и декремента
- •Укажите особенности использования указателей типа void * (л.9) .
- •Составить описание типа(л.9):
- •Проинтерпретируйте выражение int *(*pp[15])(). (л.9)
- •Проинтерпретируйте выражение int *(*pp[15])(int *).(л.9)
- •Определите понятие «ссылка». Как инициализировать ссылку? (л.9)
- •Как изменить значение ссылки после инициализации? Можно ли построить ссылку на ссылку? указатель на ссылку? (л.9)
- •Виды указателей (указатель на константу, константный указатель, константный указатель на константу) и их особенности (л.9) . Виды указателей указатель на константу
- •Указатель-константа
- •Указатель-константа на константу
- •Указатель на указатель
- •Возможные присваивания (л.9):
- •Указать и объяснить ошибку, если она есть (л.9):
2.1. Определить, какому интервалу из области определения функции принадлежит текущее значение х.
2.2. Вычислить значение функции y по соответствующей формуле.
2.3. Вывести значения X и y
Алгоритм нахождения корня нелинейного уравнения методом половинного деления (метод. указания к лаб.работе 2: нахождение корня нелинейного уравнения методом половинного деления).
. Нахождение корня нелинейного уравнения методом половинного деления
Вычислить методом половинного деления корень трансцендентного уравнения 4e-2x cos x – 0.46 = 0 на отрезке [a,b] с точностью до ε =10-5. Вывести на печать значения корня x и количество итераций n.
A=0.5; b=1;
F(x)= 4e-2x cos x – 0.46
Приемы эффективного программирования (л.7) .
Эффективное программирование – это использование для решения задачи ограниченных ресурсов компьютера (процессорного времени, объема оперативной памяти и пр.).
Определить наибольшую степень заданного числа, которую можно вычислить, пользуясь типом long (метод. указания к лаб.работе 2) .
Определение наибольшей степени целого числа 100, которую можно вычислить, пользуясь типом long
#include <LIMITS.H> //LONG_MAX
int main ()
{int p=0; //искомая степень
float x=1.0f; //тип float позволяет иметь значение x до 3.4*10^38
while (x < LONG_MAX) // x< 2 147 483 648
{x*=100.;
p++;
}
cout << setiosflags(ios::fixed) << x/100. << setw(8) <<p-1 <<endl; //вывод с фиксир. точкой вывод в 8 позиций
getch();
return 0;
}
Результат работы:
100000000.000000 4 //до числа 4, после последнего 0, находится 7 пробелов
Табулирование функции на отрезке с выбором расчетной формулы (л.7) . Табулирование функции на отрезке
Составим программу для вычисления и вывода на печать таблицы значения функции у = а*х2 при а =17.7, а х изменяется от xn=25.5 до xk=35.5 с шагом h=1.0.
С использованием оператора while:
int main ()
{double a=17.7, x, y, h=1.0, xn=25.5, xk=35.5, xend=xk+h/2;
x= xn; //первая точка отрезка
while (x < xend)
{ y = a*x*x;
printf ("x=%7.2lf y=%10.2lf\n", x, y);
x+=h; //очередная точка отрезка отсчитывается от предыдущей !!!
_getch(); //для задержки результатов вывода на экране, каждое
//следующее значение выводится после нажатия произвольной клавиши
}
return 0;
}
Вычисление суммы членов бесконечного ряда (ряд Тейлора) на отрезке (л.7) .
Разложение функции в ряд Тейлора на отрезке представим в виде вложенных циклов. Внешний цикл (организация движения по отрезку) является циклом с параметром. Его можно реализовать циклами for, while или do-while. Внутренний цикл (вычисление функции в точке) – это итерационный цикл. Его желательно реализовать циклами while или do-while:
#include <math.h>
int main ()
{ double y, x_beg, x_end, h=0.1, S, eps = 0.00001;
int n;
cin >> x_beg >> x_end; //ввод значений границ отрезка
double x=x_beg; double b=x_end+h/2;
while (x < b) //внешний цикл движения по отрезку
{ n=0;
y=x;
S=y;
while (fabs(y) > eps) //цикл вычисления суммы ряда в точке
{n++;
y *=-x*x/(2*n*(2*n+1));
S +=y;
} //end цикла вычисления суммы ряда в точке
cout << "x=" << setw(5)<<setiosflags(ios::right)<< x << " S=" << setw(9) << setiosflags(ios::right)<< S << endl;
x=x+h; //переход к очередной точке отрезка !!!
} //end цикла движения по отрезку
_getch();
return 0;
}
