База знаний студента. Реферат, курсовая, контрольная, диплом на заказ

курсовые,контрольные,дипломы,рефераты

Алгоритмічні мови програмування — Информатика, программирование

Контрольна робота з теми:

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


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

Казюка Олена


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

 

№ варіанту

F (x)

X0

A

13

0.4652

0.000001

 

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

//Программа вычисления значения функции

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

№ варіанту

Поліном

Значення x

13

x1=0,321; x2=-0,889

 

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

//Программа вычисления значения полинома

#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 з використанням циклу з після умовою. Програма, крім того, повинна побудувати графік функції на вказаному проміжку з побудовою всіх точок, обчислених при табулюванні.

№ варіанту Функція

a

b

h

13

1 6 0.2

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

// Программа табуляции функции на

// промежутке с заданным шагом и построением графика

#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- чисел – дані відповідних комірок матриці;

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

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

№ варіанту Умова задачі
13 У квадратній матриці знайти кількість нульових елементів, для яких сума індексів парна.

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

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

Контрольна робота з теми: “Алгоритмічні мови програмування”Студентка групи Пзс-402 Казюка Олена Завдання №1. Скласти блок схему та програму обчислення значення функції y=f(x) у точці x0 з точністю . Вхідні дані x0та a містяться у са

 

 

 

Внимание! Представленная Контрольная работа находится в открытом доступе в сети Интернет, и уже неоднократно сдавалась, возможно, даже в твоем учебном заведении.
Советуем не рисковать. Узнай, сколько стоит абсолютно уникальная Контрольная работа по твоей теме:

Новости образования и науки

Заказать уникальную работу

Похожие работы:

Алгоритмічні мови програмування: мова С
Алгоритмы на графах. Независимые и доминирующие множества
Алгоритмы численного решения задач
Анализ автоматизированной системы обработки экономической информации предприятия &quot;Дорремстрой&quot;
Анализ входного файла программы и вывод результатов в выходной файл
Анализ и моделирование цифровых и аналоговых схем
Анализ Интернет-ресурсов органов по делам молодёжи
Анализ информационной системы ателье по пошиву одежды
Анализ информационной системы организации. Политика информационной безопасности организации
Анализ линейных стационарных объектов

Свои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru