Современное состояние вычислительной техники

Автор: Пользователь скрыл имя, 05 Декабря 2011 в 12:27, реферат

Описание работы

Оперативная память (RAM, Random Access Memory, память произвольного доступа) - это энергозависимая среда, в которую загружаются и в которой находятся прикладные программы и данные в момент, пока вы с ними работаете. Когда вы заканчиваете работу, информация удаляется из оперативной памяти. Если необходимо обновление соответствующих дисковых данных, они перезаписываются. Это может происходить автоматически, но часто требует команды от пользователя.

Работа содержит 1 файл

Современное состояние вычислительной техники.doc

— 537.00 Кб (Скачать)

      c[3]=5   d[3]=1

      c[4]=4   d[4]=2

      c[5]=3   d[5]=3

      c[6]=5   d[6]=1

      c[7]=3   d[3]=3 

      1.2. Построение графика  функции в алфавитно-цифровом  или графическом  режиме 

      Пусть нужно вывести на алфавитно-цифровой экран монитора график функции  y= f(x) в заданном диапазоне  изменения аргумента х от а до b с числом точек графика n (n£25). Перед выводом графика нужно напечатать вычисленные значения yi в виде таблицы, также напечатать наибольшее и наименьшее значения функции f(x).

      Рассмотрим  решение этой задачи на конкретном примере:

       . Число точек графика равно  20.

      Примем  ширину поля графика w, равной 61 позиции. Отступим от левого края экрана на  m= 10 позиций. Для вывода строки графика выделим символьный массив С, состоящий из  (w+m) элементов, т.е. 71 элемента. Масштаб по оси х примем равным шагу h при перемещении на одну строку. Масштаб по  оси y выберем таким, чтобы максимально использовать поле графика w. Для это необходимо вычислить 

      ymax = max {yi} и  ymin = min{yi}

        i       i

      Определим масштаб my  по формуле:

      

      где ] [ - целая часть выражения; 0.5 добавлено для округления до ближайшего целого.

      Масштаб my означает, что при каждом изменении значения функции на величину my символ, изображающий точку на графике, смещается в очередную позицию по строке.

      По  вычисленным значениям ymin и my определим номер позиции k, в которой изображается ось 0x :

      

      Для определения номера l позиции в строке, в которой надо изобразить значение yi,  воспользуемся формулой

       .

      Для вывода собственно графика в цикле  в очередной  строке, соответствующей  значениям аргумента xi и функции yi, выведем символ ‘I’ в позиции с номером k и символ ‘*’ в позиции с номером l ( при l= k в данной позиции следует выводить символ ‘*’).

Схема алгоритма  решения задачи имеет вид: 

      Начало              11  

          1    a, b, n

      w, m                    12

                                          Ck =’I’

     2     Заполнение

      массива С     13  Заголовок

      пробелами   

                                             14 i = 1, n 

      3  h =      

      ymax=-105              15

      ymin =+105

         x = a

                                              16Cl = `*` 

       4 i = 1, n               17   печать   

                                          массива C

         yi = f(x)  

               6    yi> ymax нет                  18  Cl = `   ` 

      да  8 yi< ymin          нет                  

               7 ymax=yi   да    нет   19   k = l

                   9 ymin= yi    да 

                                              20  Cl = `I`

          10 x = x + h             конец 
 

      Пояснения. В блоке 2 символьный массив С заполняется пробелами. Блоки 3-10 организуют вычисление текущего значения функции yi = f(xi), запоминание вычисленных значений yi в массиве y, состоящем из n элементов, вычисления наибольшего и наименьшего значений функции на заданном интервале изменения – аргумента x. В блоках 11-12 вычисляется масштаб my графика по оси y, номер k позиции в строке графика, соответствующий оси 0х, и осуществляется присваивание k-тому элементу массива c символа I.

      Вычисление  номера  l в строке, соответствующей точке графика, занесение в l-й элемент массива c символа ‘*’ и печать символьного массива c реализуется блоками 15-17; восстановление символьного массива c в исходное состояние – блоками 18-20.

      Программа, реализующая схему алгоритма, имеет вид:

      PROGRAM GRAFIK;

      CONST W = 61; M = 10;

      VAR

      Y: ARRAY [1..25] OF REAL;

      C: ARRAY [1..71] OF CHAR;

      K, L, N, I, J: INTEGER;

      A, B, H, Y MAX, Y MIN, X, MY: REAL;

      BEGIN

      WRITELN (¢ ВВЕДИТЕ A, B, N¢);

      READ (A, B , N);

      Y MAX = -1E4; YMIN:=+1E4;

      H: = (B-A)/N;

       FOR I:=1 TO 71 DO C [ I ]: = ¢      ¢;

      X: = A;

      FOR I: = 1 TO N DO

      BEGIN

      Y[ I ]: = SIN(X)/X ;

      IF Y [I ] > Y MAX THEN Y MAX: = Y [I ];

      IF Y [I ] < Y MIN THEN Y MIN: = Y [I ];

      X: = X+H;

      END;

      MY:=ROUND((YMAX-YMIN)/W+0.5);

      K:=ROUND (ABS(YMIN)/MY+0.5)+M;

      C[K]:= ¢I ¢ ;

      WRITELN (¢ГРАФИК ФУНКЦИИ Y=SIN(X)/X ¢);

      WRITELN (¢ …………………………………¢);

      FOR I:=1 TO N DO

      BEGIN

      L:=ROUND ((Y[ I ]- YMIN)/MY+0.5)+M;

      C[ L]: = ¢ *¢;

      FOR J: = 1 TO 71  DO

      WRITE (C[J]);

       WRITELN (¢       ¢);

       C[ L]: = ¢      ¢;

       IF K =L THEN C [ L ]:= ¢I¢;

      END;

      END.  

      ввод:

      a=0.1

      b=2.5

      n=40

 

      2. Численные методы  решения задач 

      2.1. Решение алгебраических и трансцендентных уравнений 

      К линейным уравнениям относятся алгебраические и трансцендентные уравнения. Уравнение  называется алгебраическим, если функция  f(x) представляет собой многочлен, какой-либо степени.

      f(x)=a0xm+a1xm-1+…+am-1x+am=0

      m 3

      Если  же в функцию f(x) входят одновременно разные элементарные функции, то такое уравнение называется трансцендентным.

      f(x)=sinx+lnx=0

      Такие уравнения решаются приближенными методами. Решение разбивается на 2 этапа:

      1). Отделение корней, т.е. нахождение  достаточно малой области, содержащий  один корень.

      2). Уточнение корня заданной степенью  точности.

      Здесь известны следующие методы итераций, ньютона, хорды касательной половинного деления и т.д.

      Отделение корней.

      Пусть решается уравнение f(x)=sinx+lnx=0. Отделение корней можно сделать 2-мя способами:

      графическим и алгебраическим.

      В графическом методе на координатной плоскости строится график функции  и находится область пересечения функции с осью Х. В нашем случае удобно функцию разделить на 2 функции и на координатной плоскости построить оба графика, и найти область их пересечения.

 

       sinx=-lnx

       f1(x)=sinx

       f2(x)=-lnx

      x*Î [0;1] 

        
 
 
 

      В алгебраическом методе отделения корней с некоторым шагом h просматривают достаточно большую область существования корня уравнений.

       

        
 

       xi+1=xi+h 

       

      Из  математики известно, что непрерывная  функция на небольшом отрезке  содержит корень уравнения, если на концах отрезках функция f(x) имеет разные знаки. 

      Уточнение корня по методу половинного  деления. 

      Пусть решается уравнение f(x)=0 и функция f(x) непрерывна на отрезке [a,b] =[x1,x2].

      Отрезок [a,b] содержит корень, т.е. f(a)*f(b)<0.

      Делим отрезок [a,b] пополам, т.е. выбираем начальное уравнение корня x= , если f(x)=0, то х является корнем уравнения, если f(x) не равно нулю, то выбираем тот из отрезков [a,x] или [x,b], на концах которого функция f(x) имеет противоположные знаки. Выбранный отрезок снова делим пополам и проводим те же рассуждения. Процесс деления отрезков пополам продолжается до тех пор, пока длина отрезка на концах которого функция имеет разные знаки не станет < e  

      [b-a]< e =10-5 .

 
 
 
 
 
 

      Схема реализации алгоритма имеет вид: [a,b]=[x1,x2]    e=10-5 

      Уточнение корня по методу Хорд 

      По  методу Хорд выбирается произвольное начальное значение корня из отрезка [a,b] на котором корень существует xÎ[a,b]=[x1,x2].

Информация о работе Современное состояние вычислительной техники