Главная Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи |
Контрольная работа: Алгоритмічні мови програмуванняКонтрольная работа: Алгоритмічні мови програмуванняКонтрольна робота з теми: “Алгоритмічні мови програмування” Студентка групи Пзс-402 Казюка ОленаЗавдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у самій програмі, точність вводиться з клавіатури.
Текст програми. //Программа вычисления значения функции #include<iostream.h> //Открытие библиотек #include<conio.h> #include<stdio.h> #include <math.h> const double PI=3.1415926; //Ввод константы main() { cout<<"\n"<<"**********Программа вычисления значения функции F(x)*********"; float x,a,y; //Описание переменных int epsilon; x=0.4652; //Описание переменных первого порядка a=PI/6; cout<<"\n"<<" Сколько знаков после запятой вывести на экран "; 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<<"\n"<<" Нажмите любую клавишу"; getch(); //Считать символ с клавиатуры return 0; } Результати виконання програми. **********Программа вычисления значения функции F(x)********* Сколько знаков после запятой вывести на экран 6 1.357433 Нажмите любую клавишу Блок-схема№1 до завдання №1
Завдання №2. Використовуючи схему Горнера обчислити два значення поліному. Скласти блок-схему та програму. У програм передбачити можливість введення вхідних даних як з клавіатури, так і з файлу INPUT.TXT, що міститься в поточній директорії, та використання функцій або процедур користувача.
Текст програми. //Программа вычисления значения полинома #include <stdio.h> //подключение библиотек #include <conio.h> //библиотека считывания значений с клавиатуры 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 з використанням циклу з після умовою. Програма, крім того, повинна побудувати графік функції на вказаному проміжку з побудовою всіх точок, обчислених при табулюванні.
Текст програми. // Программа табуляции функции на // промежутке с заданным шагом и построением графика #include <stdio.h> //Открытие библиотечных функций #include <graphics.h> //Функция подключения графики #include <math.h> //Функция подключения математических вычислений #include <conio.h> //Чтение символов с клавиатуры float F (float x); //Объявление функции Y int main() { float a,b,h,y,max,i; //Описание переменных int gerr; //Ошибка графики int g_driver, g_mode; //Графический драйвнр и режим int XMAX, YMAX,j; //Ширина и высота графика char msg[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 <= b); 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 <= b); for (i=a,j=0; i<=b;j++, i=i+(b-a)/XMAX) //Выведение всех точек на промежутке [a,b] putpixel(j,(YMAX/2-F(i)*YMAX/(2*max)),14); getch(); //Чтение символа с клавиатуры closegraph(); //Закрытие графического режима return 0; //Завершение работы программы } float F (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- чисел – дані відповідних комірок матриці; · якщо в умові є вказівки, то у вказаному форматі можуть бути зміни. Вхідні дан повинні мати формат, передбачений умовою задачі.
Текст програми. #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> void main(){ int ar[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<e;j++) {for(i=0;i<e;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дкрити файл"); goto end;}else{ fscanf(fp,"%d",&e); for (j=0;j<e;j++) {for (i=0;i<e;i++) { fscanf(fp,"%d",&ar[i][j]); }}fclose(fp); }} printf("\n Mатриця виглядить так:\n"); for (j=0;j<e;j++) { printf("\n "); for(i=0;i<e;i++) {printf("%d ",ar[i][j]); }} j=0;i=0;sum=0; for (j=0;j<e;j++){ for(i=0;i<e;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("\n press 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 Результат у файлi zad4.res press any key Блок-схема
Так ні
Список використаної літератури 1. Петров В.Н. Информационные системы. – СПб.: Питер, 2002. 2. Культин Н.Б. Программирование на Object Pascal в Delphi5. – Спб.: БХВ – Санкт – Петербург, 2000. 3. Жоголев Е.А. Введение в технологию программирования. - М.:"ДИАЛОГ МГУ", 1998. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||