русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы


Дата добавления: 2013-12-23; просмотров: 743; Нарушение авторских прав


Метод простой итерации.

Заменим уравнение f(x) (*) на равносильное ему уравнение x=j(x)

x-начальное приближение: j(x)

x=j(x) (x-новое приближение)

x=j(x)

. . .

x=j(x)

Выполнять до тех пор, пока: |x- x|<e.

1 способ получения равносильного уравнения: каким либо способом выразить из уравнения – x.

2 способ получения равносильного уравнения: f(x)=0

f(x)+x=x обозначим f(x)+x=j(x)

В методе итераций в переходе от уравнения f(x)=0, к уравнению x=j(x) не безразличен. Для метода итераций следует выбирать представление, таким образом чтобы |j’(x)|<1.

 

Пример: Вычислить корни уравнения f(x)=arcsin(2*x+1)-x=0 с заданной точностью e=10.

arcsin(2*x+1)-x=0

arcsin(2*x+1)= x

2*x+1=sin(x)

x=0.5*(sin(x-1))

 

#include <stdio.h>

#include <math.h>

void main( )

{ int i, k=50; // k-ограничитель итераций.

foat x, y, z, eps;

printf (“\n Начальное приближение:”);

scanf (“%f”,&x);

printf (“\n Точность:”);

scanf (“%f”,&eps);

printf (“\n x=%f и eps=%f”, x, eps);

i=0; // i-счетчик итераций.

do

{ y=0,5*(sin(x*x)-1);

i++;

if (i>k) break;

z=x;

x=y;

}

while (fabs(y-z)>eps);

if (i>=k)

printf (“\n Число итераций %d \t ограничение: %d”, i, k);

else

printf (“\n Корень уравнения: %f”,x);

}

 

 

Массив – это одна из наиболее простых и известных структур данных.

Под массивом в языке “С” понимают набор данных одного и того же типа. Каждый элемент массива определяется именем массива и порядковым номером элемента (индексом). Индекс массива всегда целое число.

Синтаксис массива:

Тип <имя_массива> [размер_1] [размер_2] … [размер_n]

Тип – базовый тип элементов массива (char, float, int и т.д). Размер – количество элементов массива.

Пример: Описание одномерных массивов.



int a[20]; b[50];

float x[100];

char str[80];

Размер массива задается константой или константным выражением. Нельзя задавать массив переменного размера (int c[n]),но можно #define size 50 int d[size], g[size].

В языке “С” индекс начинается с нуля. В языке “С” не проверяется выход индекса за пределы массива. Сообщения об ошибке не будет, но возможны сбои в программе.

Под массив всегда выделяется непрерывное место в оперативной памяти.

Объявление массивов:

Примеры объявлений массивов:

int iarray[12]; /* массив из 12 целых чисел */

charcarray[20]; /* массив из 20 символов */

Объявление массива начинается с указания его типа, затем следуют его имя и пара квадратных скобок, в которые заключено выражение типа константа, определяющее размер массива. В квадратных скобках допускается использование имени переменной. В этом случае нужно обязательно указать размер массива до начала выполнения программы. Выражение должно преобразовываться в значение константы для того, чтобы компилятор точно знал объем памяти, занимаемый массивом.

Для указания размера массива лучше всего использовать константы, определенные посредством #define:

#define iARRAY_MAX 20

#define fARRAY_MAX 15

int iarray[iARRAY_MAX];

float farray[fARRAY_MAX];

В этом случае при последующих обращениях к массиву не будет превышен его указанный размер. Например, для обращения к элементам массива очень часто используется цикл for:

#include <stdio.h>

#define iARRAY_MAX 20

int iarray[iARRAY_MAX];

main()

{

int i;

for (i = 0; i < iARRAY_MAX; i++) {

.

.

.

}

return(0);

}



<== предыдущая лекция | следующая лекция ==>
Метод Ньютона. | Алгоритм обработки массива


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.371 сек.