221616 (571865)

Файл №571865 221616 (Алгоритмічні мови програмування: мова С)221616 (571865)2016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Міністерство освіти і науки України

Бердичівський політехнічний коледж

Контрольна робота

з предмету “Алгоритмічні мови програмування: мова С”

2010 рік.

Завдання до контрольної роботи №2.

Завдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у самій програмі, точність вводиться з клавіатури.

№ варіанту

F (x)

X0

A

2

1.2876

0.00001

Завдання №2. Використовуючи схему Горнера обчислити два значення поліному. Скласти блок-схему та програму. У програмі передбачити можливість введення вхідних даних як з клавіатури, так і з файлу INPUT.TXT, що міститься в поточній директорії, та використання функцій або процедур користувача.

№ варіанту

Поліном

Значення x

2

x5-2.22x4+3.33x3-4.44x2+5.55x-6.66

x1=0.111; x2=-0.999

Завдання №3. Скласти блок-схему та програму табулювання функції на проміжку [a, b] з заданим кроком h з використанням циклу з після умовою. Програма, крім того, повинна побудувати графік функції на вказаному проміжку з побудовою всіх точок, обчислених при табулюванні.

№ варіанту

Функція

a

b

h

2

0

1

0.25

Завдання №4. Скласти блок-схему та програму розв’язання задачі, згідно свого варіанту. Програма повинна передбачити можливість введення вхідних даних як з клавіатури, так і з файлу ZAD4.DAT. Результати роботи повинні виводитись як на екран, так і у файл ZAD4.REZ.

Вхідні данні, розміщені у текстовому файлі, мають такий формат:

  • спочатку в одному рядку через пропуск йдуть два числа M та N –розмірність матриці, якщо матриця прямокутна та одне число N – якщо матриця квадратна;

  • далі у M (N для квадратної матриці) рядках через пропуск йдуть N- чисел – дані відповідних комірок матриці;

  • якщо в умові є вказівки, то у вказаному форматі можуть бути зміни.

Вхідні дані повинні мати формат, передбачений умовою задачі.

№ варіанту

Умова задачі

2

У квадратній матриці підрахувати кількість невід’ємних елементів під головною діагоналлю.

Завдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у самій програмі, точність вводиться з клавіатури.

№ варіанту

F (x)

X0

A

2

1.2876

0.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, що міститься в поточній директорії, та використання функцій або процедур користувача.

№ варіанту

Поліном

Значення x

2

x5-2.22x4+3.33x3-4.44x2+5.55x-6.66

x1=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(); /*считывание символа с клавиатуры*/

fclose(infile); /*закрытие файла input.txt*/

return 0; /*завершение роботы программы*/

}

float F (float x) /*определение функции вычисления полинома*/

{

return ((((x-2.22)*x+3.33)*x-4.44)*x+5.55)*x-6.66;

}

Результати виконання програми

***Программа вычисления значения функции полинома в заданной точке X***

Сколько знаков после запятой выводить на экран? 6

Ввести значение Х:

1) из файла;

2) с клавиатуры?

Значение полинома в точке X1=0.111 равно: -6.094421

Значение полинома в точке X2=-0.999 равно: -23.161737

Нажмите любую клавишу.

Блок-схема№2 до завдання№2.


ні

так




Завдання №3. Скласти блок-схему та програму табулювання функції на проміжку [a, b] з заданим кроком h з використанням циклу з після умовою. Програма, крім того, повинна побудувати графік функції на вказаному проміжку з побудовою всіх точок, обчислених при табулюванні.

№ варіанту

Функція

a

b

h

2

0

1

0.25

Відповідь №3

Текст програми.

#include /*об'явлення бiблiотечних функцiй для вводу-виводу*/

#include /*виводу графiки*/

#include /*математичних обчислень*/

#include /*зчитування символiв з клавiатури*/

float F (float x); /*об'явлення функцii обчислення Y*/

int main() /*початок програми*/

{

float a,b,h,y,max,i; /*опис типiв змiнних*/

int g; /*помилка графiки*/

int g_driver, g_mode; /*графiчний драйвер та режим*/

int q, w,j; /*ширина та висота графiка*/

char m[5];

printf("Програма табулювання функцii Y на промiжку [a,b] з кроком h\n");

printf("\nВведiть значення початку промiжку табуляцii: а = ");

scanf("%f", &a);

printf("\nВведiть значення кiнця промiжку табуляцii: b = ");

scanf("%f", &b);

printf("\nВведiть значення кроку табуляцii: h = ");

scanf("%f", &h);

a=a+0.000000000000000001; /*вводимо значення вiдмiнне вiд нуля*/

i=a;

max=0;

do

{

y=F(i); /*табуляцiя Y*/

if (fabs(y)>max) max=fabs(y);

printf("\nx = %.3f\t y = %.3f", i, y); /*виведення значень У на екран*/

i=i+h;

}

while (i <= b);

printf("\n\nДля виведення графiка функцii натиснiть будь-яку клавiшу...");

getch();

detectgraph(&g_driver, &g_mode); /*визначення графiчного адаптеру та графiчного режиму*/

initgraph(&g_driver, &g_mode, ""); /*iнiцiалiзацiя графiчноi системи*/

if ((g = graphresult()) != grOk)

printf("\nПомилка графiки : %s\n", grapherrormsg(g)); /*видача повiдомлення в разi помилки вiдкриття файлу */

cleardevice(); /* очистка екрану */

q=getmaxx();

w=getmaxy(); /* визначення максимальних значень X та Y*/

setbkcolor(0); /*встановлення кольору фону - чорний*/

setcolor(15); /* встановлення поточного кольору малювання - бiлий*/

setlinestyle(0,0,2); /* встановлення стилю лiнiй: тип -суцiльна, товщина=2*/

line(0,w/2,q,w/2); /*побудова координатних вiсей*/

line(q,w/2,q-10,w/2-10);

line(q,w/2,q-10,w/2+10);

line(q/2,0,q/2,w);

line(q/2,0,q/2-10,10);

line(q/2,0,q/2+10,10);

i=a;

j=0;

settextstyle(2,0,0);

setusercharsize(1, 1, 3, 2);

do

{

y=F(i);

setcolor(15);

setlinestyle(1,0,3);

circle(j*q*h/(b-a),(w/2-y*w/(2*max)),2); /*виведення точок табуляцii*/

sprintf(m, "%.2f", i);

outtextxy(j*q*h/(b-a),w/2,m); /*значення на вiсi Х*/

setcolor(15);

setlinestyle(0,0,2);

line(j*q*h/(b-a), w/2-3,j*q*h/(b-a), w/2+3); /*розмiтка вiсi Х*/

j=j+1;

i=i+h;

}

while (i <= b);

for (i=a,j=0; i<=b;j++, i=i+(b-a)/q) /*виведення усiх точок графiку на промiжку [a,b]*/

putpixel(j,(w/2-F(i)*w/(2*max)),14);

getch(); /*зчитування символу з клавiатури*/

Характеристики

Тип файла
Документ
Размер
3,49 Mb
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6556
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее