Алгоритмічні мови програмування: мова С
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Міністерство освіти і науки України
Бердичівський політехнічний коледж
Контрольна робота
з предмету Алгоритмічні мови програмування: мова С
2010 рік.
Завдання до контрольної роботи №2.
Завдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у самій програмі, точність вводиться з клавіатури.
№ варіантуF (x)X0A21.28760.00001
Завдання №2. Використовуючи схему Горнера обчислити два значення поліному. Скласти блок-схему та програму. У програмі передбачити можливість введення вхідних даних як з клавіатури, так і з файлу INPUT.TXT, що міститься в поточній директорії, та використання функцій або процедур користувача.
№ варіантуПоліномЗначення x2x5-2.22x4+3.33x3-4.44x2+5.55x-6.66x1=0.111; x2=-0.999
Завдання №3. Скласти блок-схему та програму табулювання функції на проміжку [a, b] з заданим кроком h з використанням циклу з після умовою. Програма, крім того, повинна побудувати графік функції на вказаному проміжку з побудовою всіх точок, обчислених при табулюванні.
№ варіантуФункціяabh2010.25
Завдання №4. Скласти блок-схему та програму розвязання задачі, згідно свого варіанту. Програма повинна передбачити можливість введення вхідних даних як з клавіатури, так і з файлу ZAD4.DAT. Результати роботи повинні виводитись як на екран, так і у файл ZAD4.REZ.
Вхідні данні, розміщені у текстовому файлі, мають такий формат:
спочатку в одному рядку через пропуск йдуть два числа M та N -розмірність матриці, якщо матриця прямокутна та одне число N - якщо матриця квадратна;
далі у M (N для квадратної матриці) рядках через пропуск йдуть N- чисел - дані відповідних комірок матриці;
якщо в умові є вказівки, то у вказаному форматі можуть бути зміни.
Вхідні дані повинні мати формат, передбачений умовою задачі.
№ варіантуУмова задачі2У квадратній матриці підрахувати кількість невідємних елементів під головною діагоналлю.
Завдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у самій програмі, точність вводиться з клавіатури.
№ варіантуF (x)X0A21.28760.00001
Відповідь №1.
Текст програми.
/*Задача №1 програма вычисления значения функции*/
#include /*Для ввода символов с клавиатуры*/
#include
#include //Для ввода математических функций
const double PI=3.1415926; /*Ввод константы*/
main() /*Начало программы*/
{
printf("\n**********Программа вычисления значения функции F(x)*********");
float x,a,y; /*Описание переменных*/
int epsilon;
x=1.2876; /*Описание переменных первого порядка*/
a=PI/3;
printf("\nСколько знаков после запятой вывести на экран ");
scanf("%d",&epsilon); /*Считать число знаков epsilon*/
y=(cos(x+3*a)/sin(x+3*a))/sqrt(1+(sin(x+1.5*PI)*sin(x+1.5*PI)));
printf("%.*f\n",epsilon,y);
printf("\n Нажмите любую клавишу");
getch();/*Считать символ с клавиатуры*/
return 0;
}
Результати виконання програми.
**********Программа вычисления значения функции F(x)*********
Сколько знаков после запятой вывести на экран 5
0.28028
Нажмите любую клавишу
Блок-схема№1 до завдання№1.
Завдання №2. Використовуючи схему Горнера обчислити два значення поліному. Скласти блок-схему та програму. У програмі передбачити можливість введення вхідних даних як з клавіатури, так і з файлу INPUT.TXT, що міститься в поточній директорії, та використання функцій або процедур користувача.
№ варіантуПоліномЗначення x2x5-2.22x4+3.33x3-4.44x2+5.55x-6.66x1=0.111; x2=-0.999
Відповідь №2
Текст програми.
/*Задание №2*/
/*Заголовочные файлы*/
#include /*объявление библиотечных функций для ввода-вывода */
#include /*считывание символов с клавиатуры*/
float F (float x); /*объявление функции вычисления полинома*/
int main(void)
{
float x1,x2,y1,y2; /*описание типов переменных*/
int n, v;
FILE *infile; /*показатель на структуру типа FILE*/
printf("\n\n***Программа вычисления значения функции полинома в заданной точке X***\n\n");
printf("Сколько знаков после запятой выводить на экран? ");
scanf("%d", &n); /*считывание с клавиатуры значения точности выведения результата*/
printf("\nВвести значение Х: \n 1) из файла; \n 2) с клавиатуры?\n");
scanf("%d", &v);
if (v == 1)
{
if ((infile = fopen("input.txt", "rt"))== NULL)
{ /*открытие файла input.txt для чтения*/
fprintf(stderr, "Нельзя открыть файл.\n");
return 1;
}
fscanf (infile, "%f %f", &x1, &x2);
} /*чтение значений х1 и х2 из файла input.txt*/
else
{
printf("Введите значение Х1\n"); /*чтение значений х1 и х2 с клавiатури*/
printf("\nX1=");
scanf("%f", &x1);
printf("Введите значение Х2\n");
printf("\nX2=");
scanf("%f", &x2);
};
y1 = F(x1); /*вызов функции F()*/
y2 = F(x2);
printf("\nЗначение полинома в точке X1=%1.3f равно: ", x1);
printf("%.*f\n", n, y1);
printf("\nЗначение полинома в точке X2=%1.3f равно: ", x2);
printf("%.*f\n", n, y2);
printf("\nНажмите любую клавишу...");
getch(); /*считывание символ?/p>