- •3.Написати процедуру метода Гауса по блок-схемі.
- •2.Розкладання періодичної функції в ряд Фур'є (теорія)
- •3.Написати программу методу половинного ділення за блок-схемою:
- •4.Програма множення матриці на вектор.
- •3.Програма табулювання функції із записом результатів у масив і виведення на текстовий екран
- •4.Знаходження визначеного інтеграла методом Сімпсона
- •3.Програма табулювання функції із записом результатів у масив і виведення на текстовий екран.
- •1.Оператори циклів з відомою кількістю повторень. Ітераційні цикли. Процедури дострокового завершення циклу.
- •3.Запрограмувати метод крамера
- •4.Написати функцію побудови і табулювання ряду Фур’є(за блок схемою)
- •4. Інтеграли з заданою точністю.
- •Функції
- •3.Програма розв’язання квадратного рів-ня (консольна)
- •4.Програма Методу половинного ділення
- •3.Програма Методу половинного ділення
- •4 Метод Ньютона (Консольний)
- •1.Масив (Array) – це обмежена, впорядкована сукупність однотипних пронумерованих
- •4.Програма переглядач графічних файлів
- •1.Метод Ньютона для розвязання нелінійних рівнянь.
- •4. Програма розв’язання квадратного рівняння.
- •1.Компонента tChart та приклад.
- •2.Вказівники
- •3. Програма множення матриці на вектор.
- •4.Метод Ньютона(вік)
- •3.Програма трикутник
- •3.Програма знаходження мінімального і максимального елемента матриці!!!!
- •4.«Елементи_управління»
- •3.Метод Ньютона
- •4.Метод Монте Карло
- •1.Алгоритми
- •3.Фурьє Фурьє
- •3.Запрограмувати метод Крамера (Delphi).
- •2.Функції вводу/виводу мови с
- •4.Метод прямокутників(вкладений файл)
- •4.Табулювання функції із виведенням результатів на екран
- •3.Множення матриці на вектор Делфі
- •3.Трикутник
- •4.Функція методу гАуса
- •1 Метод Крамера та його недоліки
- •3 Програма знаходження мінімального максимального елемента матриці
- •4 Метод половинного ділення
3.Програма Методу половинного ділення
//---------------------------------------------------------------------------
#include <stdio.h>
#pragma hdrstop
#include <tchar.h>
#include <math.h>
#include <conio.h>
#include <iostream>
#include <clocale>
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
float f( double x);
int main()
{
double a,b,eps,k,w ;
a=1;
b=3;
eps=0.0001;
k=(a+b)/2;
do
{ if (f(a)*f(k)<0)
b=k;
else
a=k;
k=(a+b)/2;
}
while(b-a>eps) ;
w=(a+b)/2;
cout<<"w="<<w<<endl;
cout<<"f(w)="<<f(w)<<endl;
system ("PAUSE");
return 0;
}
float f( double x)
{ double f=sin(log(x))-cos(log(x))+2*log(x);
return (f);}
4 Метод Ньютона (Консольний)
//---------------------------------------------------------------------------
#include <stdio.h>
#pragma hdrstop
#include <tchar.h>
#include <math.h>
#include <conio.h>
#include <iostream>
#include <clocale>
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
float f( double x);
float f1( double x);
int main()
{
double g,x,eps,dx ;
eps=0.0001;
x=3;
do
{
dx=f(x)/f1(x);
x=x-dx;
}
while (fabs(dx)>eps);
cout<<"x="<<x<<endl;
cout<<"f(x)="<<g;
system ("PAUSE");
return 0;
}
float f( double x)
{ double f=exp(x)+log(x)-10*x;
return (f);}
float f1( double x)
{ double fp=exp(x)+1/x-10;
return (fp);}
Білет 9
1.Масив (Array) – це обмежена, впорядкована сукупність однотипних пронумерованих
величин, кожну окрему величину цього масиву наз. компонентою (елементом) масиву.
Номери елементів наз. індексами. Тип компонентів наз. базовим типом(крім файлового).
Кожна компонента має свій індекс. Всі компоненти мають один і той самий тип. Всі
елементи є рівнодоступними. Завдяки індексам забезпеч.прямий доступ до кожного
елемента(ще буває послідовний доступ).
Змінна з індексом-для познач.окремих компонентів А[5,2]
Треба опанувати правила:опис масиву,заповнення його значеннями,використання масивів
в арифметичних виразах,використ масив в час пересилання їх значень у підпрограми
У двовимірному-[2,3]-перетин 2 рядка і 3 стовпця
Існує 2 способи опису масивів:
1. менш універсальний
var <ім’я масиву>:array[<діапазон> <вимірність>]
of < тип елементів масиву>;
2. універсальний
Type Vector=Array[0..640] of Real;
Matrix=array[0..4,1..3] of Integer;
Var Xe, Ye, Xg, Yg : Vector;
L, U: Matrix;
Заповнення елементів масиву значеннями можна зробити шляхом:
1.Ініціалізації або присвоєння початкових значень усім компонентам масиву на етапі виконання програми.
2.Присвоєння кожному елементу значення на етапі виконання програми.
3.Введення даних з клавіатури.
2.Обєднання в мові С++
Об‘єднання(Union)-варіант структури ,у якій компілятор повинен усі поля розташувати за
одною адресою .Синтаксис опису Union такий,як і в структури ,тільки struct змінюється на
union. У кожен момент роботи програми у змінній типу Union міститься значення тільки
якогось одного з її полів. Це значення може періодично змінюватись. Відповідальність за
коректність цього процесу лежить виключно на програмістові.
Об‘єднання часто використовують як поле структури . При цьому в структурі повинно бути
присутнє ще одне поле для визначення яке саме поле з union потрібно використати.
Наприклад :
#include <iostream.h>
int main()
{ enum paytype {CARD.CHECK}
struct
{ paytype ptype;
union {char card [25];
Long check};
};
switch (info.ptype)
{case CARD:cout <<‖Платити карткою:‖<<info.card;break;
case CHECK:cout <<‖Платити чеком:‖<<info.check;break;}
return 0;}
Об‘єднання виконується в разі потреби по-різному проінтерпретувати окремі біти цілопис.
Змінної.Обмеження у виконанні об‘єднання :
1. Ініціалізувати можна тільки змінні його першого елемента;
2.Об‘єднання не може містити віртуальні мет,конструктори,деструктури і присвоєння.
3.Об‘єднання не може містити так звані бітові поля.
3)Метод половинного ділення(віконка) С++
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float f(float x)
{
return 3*sin(sqrt(x))+0.35*x-3.8;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a,b,c,x,e;
a=2;
b=3;
c=(a+b)/2;
e=0.001;
while (fabs(f(c))>e)
{
if(f(a)*f(c)<0)
b=c;
else a=c;
c=(a+b)/2;
Edit1->Text=FloatToStr(c);
}
}
//---------------------------------------------------------------------------
