Реферат по предмету "Информатика, программирование"


Алгоритмічні мови програмування: мова С

Міністерствоосвіти і науки УкраїниБердичівський політехнічний коледж
 
 
 
 
 
 
 
 
 
 
 
 Контрольна робота
з предмету “Алгоритмічні мови програмування:мова С”
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
/> 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 //Для ввода математических функций
constdouble 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 (floatx); /*объявление функции вычисления полинома*/
int main(void)
 {
 floatx1,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 (floatx) /*определение функции вычисления полинома*/
{
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
/> 1 0.25
Відповідь№3

Текстпрограми.
 
#include /*об'явлення бiблiотечних функцiй для вводу-виводу*/
#include /*виводу графiки*/
#include /*математичних обчислень*/
#include /*зчитування символiв з клавiатури*/
float F (floatx); /*об'явлення функцii обчислення Y*/
int main() /*початокпрограми*/
 {
 floata,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
 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
 for(i=a,j=0; i
 putpixel(j,(w/2-F(i)*w/(2*max)),14);
 getch(); /*зчитування символу з клавiатури*/
 closegraph();/*закриття графiчноi системи*/
 return 0; /*нормальнезавершення роботи програми*/
}
float F (floatx) /*обчислення значення заданоi функцii в точцi X*/
{
return sin(x)/x;
}
Результативиконання програми
 
Програматабулювання функцii Y на промiжку [a,b] з кроком h
Введiтьзначення початку промiжку табуляцii: а = 0
Введiтьзначення кiнця промiжку табуляцii: b = 1
Введiтьзначення кроку табуляцii: h = 0.25
x = 0.000 y =1.000
x = 0.250 y =0.990
x = 0.500 y =0.959
x = 0.750 y =0.909
.Для виведенняграфіка функції натисніть будь-яку клавішу
 
Графік длязавдання №3.
 
/>

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

/> />/> /> /> /> /> /> /> /> /> />


Завдання №4. Скласти блок-схему та програму розв’язання задачі,згідно свого варіанту. Програма повинна передбачити можливість введення вхіднихданих як з клавіатури, так і з файлу ZAD4.DAT. Результати роботи повинні виводитись як на екран, так і у файл ZAD4.REZ
Вхідні данні, розміщені утекстовому файлі, мають такий формат:
·       спочатку в одному рядкучерез пропуск йдуть два числа M та N –розмірність матриці,якщо матриця прямокутна та одне число N – якщо матриця квадратна;
·       далі у M (N для квадратної матриці) рядках через пропуск йдуть N- чисел – дані відповідних комірок матриці;
·       якщо в умові є вказівки,то у вказаному форматі можуть бути зміни.
Вхідні дані повинні мати формат,передбачений умовою задачі.№ варіанту Умова задачі 2 У квадратній матриці підрахувати кількість невід’ємних елементів під головною діагоналлю.
Відповідь №4
 
Текстпрограми.
 
#include
#include
#include
#include
void main(void)
{
intA[20][20],i,j,a,y,w,x,v;
clrscr();
printf("\nЗавдання№4: Кількість невід'ємних елементів в квадратній матриці\n");
printf ("\nВвести значення Х з клавіатури(1) або з файлу zad4.dat(2):");
scanf("%d",&a);
if (a==1)
{
printf("\nВведіть розмірність матриці:");
scanf("%d",&w);
for(j=0;j
{
for(i=0;i
{
clrscr();
printf("\nВведіть[%d][%d] елемент матриці:",j+1,i+1);
scanf("%d",&A[i][j]);
}
}
clrscr();
}
else
{
FILE *fp;
fp=fopen(«zad4.dat»,«r»);
if(fopen(«zad4.dat»,«r»)==NULL)
{
printf("\nНе можливо відкрити файл, бо його нема");
goto
end;
}
else
{
fscanf(fp,"%d",&w);
for(j=0;j
{
for(i=0;i
{
fscanf(fp,"%d",&A[i][j]);
}
}
fclose(fp);
}
}
printf("\nMатриця має такий вигляд:\n");
for(j=0;j
{
printf("\n");
for(i=0;i
{
printf("%d",A[i][j]);
}
}
v=0;y=0;
for(j=0;j
{
for(i=0;i
{
if (A[i][j]>0)
{ y++;
}
else{;}
}v++;
if (w
}ok:
printf ("\nЕлементів невід'ємних під головною діагоналлю:%d",y);
FILE *fp;
fp=fopen(«zad4.res»,«w»);
fprintf(fp,"\nЕлементів невід'ємних під головною діагоналлю:%d",y);
fclose(fp);
printf("\nРезультат в файлі zad4.res ");
end:printf("\nНатисніть будь-яку клавішу для завершення \n ");
getch();
clrscr();}
 
Результатвиконання
 
Завдання №4:Кількість невід'ємних елементів в квадратній матриці
Ввести значення Хз клавіатури(1) або з файлу zad4.dat(2):2
Mатриця має такийвигляд:
3 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
Елементівневід'ємних під головною діагоналлю:6
Результат в файліzad4.res
Натиснітьбудь-яку клавішу для завершення

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

такні/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />


/>/>Література
1. Герберд Шилдт«Си для профессиональных программистов»
2. Ал. Стивенс«Техника програмирования на Турбо Си»
3. Шолмов Л.И.«Техника програмирования на Си»
4. Б.В. Керниган, Д.М.Ричи. «Язык Си»
5. Мюррэй Хилл, НьюДжерси Бьярн Страустрап «C++»
6. Громов, Титаренко«Программирование на Си»
7. Марченко А.Л C++.Бархатный путь
8. С.С. ГайсарянОбъектно-ориентированные технологии проектирования прикладных программныхсистем


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Особенности бухгалтерского учета расчетов с подотчетными лицами
Реферат Иностранные инвестиции в России 11
Реферат Особенности обувного производства и их влияние на организацию учета затрат
Реферат Факторы, влияющие на производительность и удовлетворенность работой
Реферат «Тайны ремесла» в поэзии А. А. Ахматовой
Реферат Отчет по практике по курсу "Строительные машины"
Реферат Как охраняют природу в Германии
Реферат European payments council (epc) європейська платіжна рада у напрямі єдиної платіжної зони Тимчасові заходи І рішення щодо міжнародних електронних кредитних переказів у євро в межах Європейський союз/Європейська економічна зона (EU/eea)
Реферат Термины по биологии 2
Реферат Звязок особистісних характеристик та стратегії поведінки в конфліктах у старшокласників
Реферат Воздушные линии электропередачи
Реферат Агрономический дискурс: понятийно-терминологические и концептуальные основания
Реферат Расчет технологических, теплотехнических и конструктивных параметров машин непрерывного литья заготовок
Реферат Направления развития и основные перспективы социальной работы в службе планирования семьи
Реферат Электронная почта. Основные принципы написания писем