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


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

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

Студентка групи Пзс-402КазюкаОлена

Завдання №1. Скласти блок схему тапрограму обчислення значення функції y=f(x)у точціxз точністю/>. Вхідні дані xтаaмістяться у самій програмі, точністьвводиться з клавіатури.
 № варіанту
F(x)
X
A
/> 13
/> 0.4652
/> 0.000001
 
Текст програми.
//Программавычисления значения функции
#include//Открытие библиотек
#include
#include
#include
const double PI=3.1415926; //Ввод константы
main()
{
cout
floatx,a,y; //Описание переменных
intepsilon;
x=0.4652;//Описание переменных первого порядка
a=PI/6;
cout
scanf("%d",&epsilon);//Считать число знаков epsilon
y=1-(cos(x-a))/(sqrt(a+(cos(x+a)/sin(x+a))))+exp(a*x);//функция, значение которой надо найти
printf("%.*f\n",epsilon,y);
cout
getch();//Считать символ с клавиатуры
return0;
}
Результативиконання програми.
**********Программавычисления значения функции F(x)*********
Сколько знаков послезапятой вывести на экран 6
1.357433
Нажмите любую клавишу
Блок-схема№1 дозавдання №1/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
/>


Завдання№2. Використовуючи схему Горнераобчислити два значення поліному. Скласти блок-схему та програму. У програміпередбачити можливість введення вхідних даних як з клавіатури, так і з файлу INPUT.TXT, що міститься в поточній директорії,та використання функцій або процедур користувача.№ варіанту Поліном
Значення x 13
/>
x1=0,321; x2=-0,889
 
Текстпрограми.
//Программавычисления значения полинома
#include //подключениебиблиотек
#include //библиотекасчитывания значений с клавиатуры
float y (float x); //объявление функции
int main(void)
{
float x1,x2,y1,y2; //описание переменных
int a,b;
FILE *infile; //показатель на структуру типа FILE
printf("\n*****Программа вычисления значенияполинома*****");
printf("\nСколько знаков после запятой вывестина экран? ");
scanf("%d", &a); //Считывается с клавиатуры точность выведения
printf("\nВвести значение Х: \n 1) из файла");
printf("\n 2) с клавиатуры\n");
scanf("%d", &b); //считывание с клавиатуры начальных данных
if (b == 1) //указание на то, что b равно 1
{
if ((infile = fopen(«input.txt», «rt»))== NULL)
{ //открылифайл для чтения
fprintf(stderr, «Нельзя открыть файл.\n»);//Выдаёт сообщение при ошибке
return 1;
} //открытие файла
fscanf (infile, "%f",&x1);
fscanf (infile, "%f",&x2);
} //считываниезначений х1 и х2 из файла input.txt
else
{
printf(«Введитезначение Х1\n»); //считывание значений х1 их2 с клавиатуры
scanf("%f", &x1);
printf(«Введитезначение Х2\n»);
scanf("%f", &x2);
};
y1 = y(x1);
y2 = y(x2);
printf("\nЗначение полинома в точке X1=", x1);
printf("%.*f\n",a, y1);
printf(«Значениеполинома в точке X2=», x2);
printf("%.*f\n",a, y2);
printf("\nНажмите любую клавишу наклавиатуре");
getch(); //читаетсясимвол с клавиатуры
fclose(infile); //Закрывается файл input.txt
return 0; //Завершениеработы программы
}
float y (float x) //обозначение функции вычисления полинома
{
return ((((2.4*x+4.6)*x+6.8)*x+8.0)*x+0.2)*x+2.4;//сама функция (полином)
}
Результати виконання програми.
*****Программа вычислениязначения полинома*****
Сколько знаков послезапятой вывести на экран? 6
Ввести значение Х:
1) из файла
2) с клавиатуры
2
Введите значение Х1
0.321
Введите значение Х2
-0.889
Значение полинома в точкеX1=3.570466Значениеполинома в точке X2=5.307651
Нажмите любую клавишу наклавиатуре

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

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

Текст програми.
//Программа табуляции функции на
//промежутке с заданным шагом и построением графика
#include //Открытие библиотечных функций
#include //Функция подключения графики
#include //Функция подключения математических вычислений
#include //Чтение символов с клавиатуры
floatF (float x); //Объявление функции Y
intmain()
{
floata,b,h,y,max,i; //Описание переменных
intgerr;  //Ошибка графики
intg_driver, g_mode; //Графический драйвнр и режим
intXMAX, YMAX,j; //Ширина и высота графика
charmsg[5];
printf("*****Программатабуляции функции Y на промежутке [a,b] с шагом h*****\n");
printf("\nВведитезначение начала табуляции: а = ");
scanf("%f", &a);
printf("\nВведитезначение конца табуляции: b = ");
scanf("%f", &b);
printf("\nВведитезначение шага табуляции: h = ");
scanf("%f", &h);
i=a; max=0;
do
{
y=F(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Длявыведения графика нажмите любую клавишу");
getch();
detectgraph(&g_driver,&g_mode); //Определение графического адаптера и графического режима
initgraph(&g_driver,&g_mode, ""); //Инициализация графической системы
if ((gerr = graphresult()) != grOk)
printf("\nОшибка графики: %s\n", grapherrormsg(gerr)); //Выдача сообщения об ошибке
cleardevice();//Очистка экрану
XMAX=getmaxx();YMAX=getmaxy(); //Определение максимальных значений X и Y
setbkcolor(0);//Установка цвета фона
setcolor(14);// Установка текущего цвета рисования
setlinestyle(0,0,2);// Установка стиля линий: тип — сплошная, толщина=2
line(0,YMAX/2,XMAX,YMAX/2);//Построениеосей координат
line(XMAX,YMAX/2,XMAX-10,YMAX/2-10);
line(XMAX,YMAX/2,XMAX-10,YMAX/2+10);
line(XMAX/2,0,XMAX/2,YMAX);
line(XMAX/2,0,XMAX/2-10,10);
line(XMAX/2,0,XMAX/2+10,10);
i=a;
j=0;
settextstyle(1,0,0);
setusercharsize(1, 1, 3, 2);
do
{
y=F(i);
setcolor(14);
setlinestyle(1,0,3);
circle(j*XMAX*h/(b-a),(YMAX/2-y*YMAX/(2*max)),2); //Выведение точек табуляции
sprintf(msg, "%.2f", i);
outtextxy(j*XMAX*h/(b-a),YMAX/2,msg); //Значения на оси Х
setcolor(15);
setlinestyle(0,0,2);
line(j*XMAX*h/(b-a), YMAX/2-3,j*XMAX*h/(b-a), YMAX/2+3); //Розметка на оси Х
j=j+1;
i=i+h;
}
while (i
for (i=a,j=0; i
putpixel(j,(YMAX/2-F(i)*YMAX/(2*max)),14);
getch();//Чтение символа с клавиатуры
closegraph();//Закрытие графического режима
return0; //Завершение работы программы
}
floatF (float x) //Вычисление функции в заданной точке X
{
return exp(1/sin(x)); //Сама функция
} //Конецпрограммы
Результати виконання програми.
*****Программатабуляции функции Y на промежутке [a,b] с шагом h*****
Введитезначение начала табуляции: а = 1
Введитезначение конца табуляции: b = 6
Введитезначение шага табуляции: h = 0.2
x = 1.600 y = 2.719
x = 1.800 y = 2.792
x = 2.000 y = 3.003
x = 2.200 y = 3.445
x = 2.400 y = 4.395
x = 2.600 y = 6.958
x = 2.800 y = 19.790
x = 3.000 y = 1195.346
x = 3.200 y = 0.000
x = 3.400 y = 0.020
x = 3.600 y = 0.104
x = 3.800 y = 0.195
x = 4.000 y = 0.267
x = 4.200 y = 0.317
x = 4.400 y = 0.350
x = 4.600 y = 0.366
x = 4.800 y = 0.366
x = 5.000 y = 0.352
x = 5.200 y = 0.322
x = 5.400 y = 0.274
x = 5.600 y = 0.205
x = 5.800 y = 0.116
x = 6.000 y = 0.028
Для выведения графика нажмите любую клавишу.

Графік для завдання №3
 
/>

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


Завдання№4. Скласти блок-схему та програмурозв’язання задачі, згідно свого варіанту. Програма повинна передбачитиможливість введення вхідних даних як з клавіатури, так і з файлу ZAD4.DAT. Результати роботи повиннівиводитись як на екран, так і у файл ZAD4.REZ.
Вхідні данні,розміщені у текстовому файлі, мають такий формат:
·       спочаткув одному рядку через пропуск йдуть два числа M та N –розмірність матриці, якщо матрицяпрямокутна та одне число N – якщо матриця квадратна;
·       далі у M (N для квадратної матриці) рядках черезпропуск йдуть N- чисел – дані відповіднихкомірок матриці;
·       якщо вумові є вказівки, то у вказаному форматі можуть бути зміни.
Вхідні даніповинні мати формат, передбачений умовою задачі.№ варіанту Умова задачі 13 У квадратній матриці знайти кількість нульових елементів, для яких сума індексів парна.
Текстпрограми.
#include
#include
#include
#include
void main(){
intar[20][20],i,j,a,e,l,m,sum;
div_t x;
clrscr();printf("\nПрограма визначення нульових елементўв матрицў\n");
printf("\n ввести матрицю з клавiатури(1) чи з файлу zad4.dat(2):");
scanf("%d",&a);
if (a==1)
{printf(«введтiьрозмiрнiсть квадратноi матрицi:»);
scanf("%d",&e);clrscr();
for(j=0;j
{for(i=0;i
{printf("\n Введiть[%d][%d] елемент матрицi:",j+1,i+1);
scanf("%d",&ar[i][j]);clrscr();
}}}else {
FILE *fp;
fp=fopen(«zad4.dat»,«r»);
if(fopen(«zad4.dat»,«r»)==NULL)
{printf("\n не можу вiдкрити файл");
gotoend;}else{
fscanf(fp,"%d",&e);
for(j=0;j
{for(i=0;i
{ fscanf(fp,"%d",&ar[i][j]);
}}fclose(fp);
}}
printf("\nMатриця виглядить так:\n");
for(j=0;j
{printf("\n ");
for(i=0;i
{printf("%d",ar[i][j]);
}} j=0;i=0;sum=0;
for(j=0;j
for(i=0;i
{m=i+j;
x = div(m,2);
if(x.rem==0)
{if (ar[i][j]==0){sum++;}}}}
printf("\nнульових елементўв матрицў=%d",sum);
FILE *fp;
fp=fopen(«zad4.res»,«w»);
fprintf(fp,"\nнульових елементўв матрицў=%d",sum);fclose(fp);
printf("\n Результат у файлi zad4.res ");
end:
printf("\npress anykey ");
getch(); clrscr();}
Результатвиконання.
Програмавизначення нульових елементів матриці ввести матрицю з клавiатури(1) чи з файлуzad4.dat(2):2
Матриця виглядитьтак:
3 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
нульовихелементів матриці=0
Результат у файлizad4.res
press any key

Блок-схема/> /> /> /> /> /> /> /> />  

                     Так                                                                  ні/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />


Списоквикористаної літератури
1. Петров В.Н. Информационныесистемы. – СПб.: Питер, 2002.
2. Культин Н.Б. Программирование на Object Pascal в Delphi5. – Спб.: БХВ – Санкт – Петербург,2000.
3. Жоголев Е.А. Введение в технологиюпрограммирования. — М.:«ДИАЛОГ МГУ», 1998.


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

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

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

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