- •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 Метод половинного ділення
4.Табулювання функції із виведенням результатів на екран
program Project1;
{$APPTYPE CONSOLE}
Uses
SysUtils;
Type Vector = array[0..640] of Real;
VAR Xe, Ye:Vector;
a1, b1, h : Real;
i,Ne : Integer;
function f(x:real):real;
begin
f:=x*x
end;
BEGIN
writeln('Nе=');
readln(Ne);
writeln('a1,b1=');
readln(a1,b1);
h := (b1-a1)/(Ne-1);
Xe[0]:=a1;
FOR i:=1 TO Ne-1 DO begin
Ye[i] := f(Xe[i]);
Xe[i+1] := Xe[i] + h;
Writeln(Ye[i]:6:3, Xe[i]:6:3);
end;
Readln
END.
4.Табуляція з занесенням в масив С++
Білет 23.
1.Коефіцієнти масштабування графіка.Для чого вони і як їх обчислити Щоб побудувати графік нам потрібно мати функціональну залежність задану в табличній або аналітичній формі. Якщо ф-я задана аналітично її потрібно протабулювати , отримаємо в результаті цього таблицю значень. Потім потрібно передбачити масштабування цих значень, для того щоб наше зображення помістилося на Canvas. Очевидно, що заповнювати графіком увесь Canvas не доцільно, оскільки не залишиться місця для підписів. Тому ми відступаємо від полів області виведення на L-пікселів. Маючи таблицю значень ми можемо порахувати коефіцієнти масштабування :
Kx=Mx-2*L/MaxX-MinX
Ky=My-2*L/MinY-MaxY
Zx= Mx*MinY-L*( MinX+MaxX)/ MaxX-MinX
Zy=My*MinY-L*( MinY+MaxY) / MaY-MinY
Ці коефіцієнти дозволяють не тільки масштабування, а й поворот та 180 градусів.
Mx, My – довжина і ширина в пік селях нашого Канваса
L – це відстань від графіка до країв Канваса.
2. 23.2 Одновимірні масиви і С++ Масив - це впорядкований скінченний набір елементів (даних) одного типу. Одновимірний масив – це вектор.
Кожен елемент масиву має однакове ім’я – ім’я масиву, і відрізняється індексом (ціле число), за яким здійснюється доступ до елемента масиву. Індекси масивів у С/С++ починаються з 0. У програмі одновимірний масив оголошується наступним чином: <тип> <ім’я масиву> [розмір] <ініціалізація>; , де розмір – кількість елементів одновимірного масиву. Після визначення ім’я масиву стає вказівником-константою, значення якого є незмінним і становить адресу першого (нульового) елемента масиву.
За способом розміщення масиви поділяються на статичні та динамічні. Розмір статичного масиву можна задавати константою або константним виразом. Оскільки ділянка у оперативній пам’яті під масив задається на етапі компіляції і її розмір визначається типом елементів масиву та їх кількістю, розмірність масиву повинна бути визначена у тексті програми, а не підчас її виконання. Для визначення масиву змінного розміру використовується механізм динамічного виділення пам’яті.
Наприклад: - оголошення одновимірного масиву з п’яти елементів цілого типу: int a[5]; - динамічне виділення пам’яті під 10 цілочисельних елементів: int*m=new int [10]; Враховуючи те, що ім’я масиву є вказівником, зрозумілим стає зміст останньої операції: вказівникові на int m присвоюється початкова адреса ділянки пам’яті, виділеної у динамічній області під 10 цілочисельних елементів.
Перевагою динамічних масивів є те, що їх розмірність може бути змінною, тобто у програмі можна працювати з масивами довільного розміру, не вносячи змін до тексту програми. Проте, динамічні масиви не можна ініціалізувати при визначенні і вони за замовчуванням не заповнюються нулями.
3.Побудова графіка sin(x) 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);}
Білет24
2.
Вказівники – це змінні, які містять не
значення, а адресу деякого значення.
Вказівник можна описати і
проініціалізувати.
Опис:<імя
типу>*<імя вказівника>;
Ініціалізація:<імя
вказівника>=&<імя вже описаної
змінної>; Наприклад: int
i=5;
//описано i
проініціалізовано// цілочисельну змінну
і int*p;
// описано p-вказівник
на int
P=&і; // р проініціалізовано адресою і Тоді і = і+7; є еквівалентно *p=*p+7;
Тут операція & повертає адресу змінної-операнда і. Вказівники не потрібно ініціалізувати в момент їхнього опису, проте перед їхнім використанням ініціалізація є необхідною. У мої С++ є 3 типи вказівників:
_ вказівник на змінну(обєкт); _вказівник на функцію; _вказівник на void. У С++ вказівник не є самостійним типом. Він пов'язаний з іншим конкретним типом даних, у нашому прикладі – 3int,
Вказівник на функцію містить адрес комірки памяті, у якій знаходиться перший виконуваний оператор функції – адресу точки входу у функцію. Наприклад опис: int(*tp)(float,float); задає вказівник з іменем fp на функцію, яка повертає значення типу int і яка має два параметри типу float.
У вказівнику на void можна у різні моменти роботи програми зберігати адреси змінних різних типів. Приклад вказівника на функцію void f(int a)// опис. Функцію
{<тіло функції>;}
Void(*fp)(int) fp=&f; // ініціалізуємо вказівник fp(10);// аналог попереднього виклику При груповому описі змінних, * ставимо перед кожною змінною, наприклад:
Int*a,b,*c; Тут описано два вказівники.
