Международные межправительственные организации (достоинства и недостатки)

  • Вид работы:
    Тип работы
  • Предмет:
    Финансы, деньги, кредит
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    7,65 kb
  • Опубликовано:
    2008-12-09
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Международные межправительственные организации (достоинства и недостатки)

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

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

 

 

 

 

 

 

 

 

 

 

 

 

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

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











2010 рік.

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

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

№ варіанту

F (x)

X0

A

2

1.28760.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

010.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.28760.00001





Відповідь №1.

 

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

 /*Задача №1 програма вычисления значения функции*/

#include<conio.h> /*Для ввода символов с клавиатуры*/

#include<stdio.h>

#include <math.h> //Для ввода математических функций

const double PI=3.1415926; /*Ввод константы*/

 main() /*Начало программы*/

{

 printf("\n**********Программа вычисления значения функции F(x)*********");

 float x,a,y; /*Описание переменных*/

 int epsilon;

 x=1.2876; /*Описание переменных первого порядка*/

 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 <stdio.h> /*объявление библиотечных функций для ввода-вывода */

#include <conio.h> /*считывание символов с клавиатуры*/

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; /*завершение роботы программы*/

}

{

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

010.25





Відповідь №3

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

 

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

#include <graphics.h> /*виводу графiки*/

#include <math.h> /*математичних обчислень*/

#include <conio.h> /*зчитування символ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-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атури*/

 closegraph(); /*закриття графiчноi системи*/

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

}

float F (float x) /*обчислення значення задано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 <stdio.h>

#include <conio.h>

#include <math.h>

#include <stdlib.h>

void main(void)

{

int A[20][20],i,j,a,y,w,x,v;

clrscr();

printf ("\n Ввести значення Х з клавіатури(1) або з файлу zad4.dat(2):");

scanf ("%d",&a);

if (a==1)

{

printf("\n Введіть розмірність матриці:");

scanf("%d",&w);

for (j=0;j<w;j++)

{

for(i=0;i<w;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<w;j++)

{

for(i=0;i<w;i++)

{

fscanf(fp,"%d",&A[i][j]);

}

}

fclose(fp);

}

}

printf("\n Mатриця має такий вигляд:\n");

for (j=0;j<w;j++)

{

printf("\n ");

for(i=0;i<w;i++)

{

printf("%d ",A[i][j]);

}

}

v=0;y=0;

for (j=0;j<w;j++)

{

for(i=0;i<v;i++)

{

if (A[i][j]>0)

{ y++;

}

else{;}

}v++;

if (w<v) goto ok;

}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 С.С. Гайсарян Объектно-ориентированные технологии проектирования прикладных программных систем

Похожие работы на - Международные межправительственные организации (достоинства и недостатки)

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!