Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Составные типы данных. Одномерные массивы




End.

Begin

Begin

Var

Const

Прерывание циклов

End.

Begin

Begin

Var

Цикл с предуловием

End.

Begin

Repeat

Begin

Var

End.

Repeat

Begin

Var

Repeat

<оператор 1>;

<оператор 2>;

<оператор n>;

until <логическое выражение>;

Цикл выполняется хотя бы один раз.

Пример. Программа выводит на печать коды символов, пока не будет введен символ ‘*’

Program CalcSymbolCode;

uses crt;

var

sym:char;

begin

clrscr;

repeat

writeln(‘Введите символ (* - выход)’);

readln(sym); {read(sym) будет читать коды 13 и 10,}

{связанные с нажатием Enter}

Writeln(‘Символ ‘, sym,’ имеет код ‘, ord(sym));

until sym=’*’;

readln;

readln;

end.

Пример. Вычисление с точностью, использую рекуррентную формулу.

 

exp(x*ln(n)) – возведение х в степень n

Рекуррентная формула – выражение одного элемента последовательности через значение предыдущих элементов.

 

program nroot;

uses crt;

n:integer;

y,x,d,r:real;

clrscr;

writeln(‘ Введите x, n, e’ );

readln(x, n,e);

d:=(x/exp((n-1)*ln(y)) – y/n;

y:=y+d;

until abs(d) < e;

writeln(‘ Корень равен ‘,);

readln;

Примеры на вложенные циклы.

Вычислить определенный интеграл

 

program integral;

i, n:longint;

a, b, c, h, x, int, int0:real;

writeln(‘Введите a,b,n,e’);

readln(a, b, n, e);

int:=0;

writeln(‘n=’,n); {контрольный вывод}

x:=a;

int0:=int;

h:=(b-a)/n;

int:=0;

for i:=1 to n do

int:=int+sinx;

x:=x+h;

end;

int:=int*h;

n:=n*2;

until abs(int-int0)<=e;

writeln(‘int=’, int);

while <условие> do <оператор>

Выполняется 0 или более раз. Условие должно быть максимально простым.

Пример.

 

Выведем рекуррентную формулу.

 

 

 

 

program mycos;

{вычисление х с заданной точностью е}

s, x, y, t, e,f:real;

writeln(‘Введите x, e’);

readln(x,e);

S:=1;

t:=1;

n:=1;

while abs(f)>e do

f:=-sqr(x)/((2*n-1)*2*n)

t:=t*f;

S:=S+t;

end;

write(‘x=’,x,’cosx=’,s);

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

В ВР break, continue.

break – завершает выполнение цикла, внутри которого записана

continue – выполняет переход к следующей итерации.

 

 

 

Цикл аналогичен предыдущему, но может никогда не завершиться из-за ограниченной сходимости ряда. Поэтому, необходимо предусмотреть аварийный выход.

const MaxIter=200

n > MaxIter – прерывание цикла

program Hypercos;

MaxIter=200;

n:integer;

done:boolean;

s, x, y, t, e, f:real;

writeln(‘Введите x, n’);

readln(x,e);

s:=1;

t:=1;

n:=1;

done:=true;

while abs(t)>e do

f:=sqr(x/((2*n-1)*2*n);

t:=t*f;

S:=S+t;

n:=n+1;

if n>MaxIter then begin

writeln(‘Ряд расходится’);

done:=false;

break;

end;

end;

if done then writeln(‘x=’,x,#13#10,’ch(x)=’,s,’n=’,n-1);

if n<=MaxIter then continue else begin

writeln(‘Ряд расходится’);

done:=false;

break;

end;

 

 


 

ЛЕКЦИЯ №10

Составные или сложные типы состоят из компонент(элементов) других типов. Поэтому при рассмотрении составных типов указывают тип компонент и метод их объединения для получения составного типа.

 

Регулярный тип (массив) – представляется в виде фиксированного числа однотипных элементов, которые располагаются в смежных ячейках памяти.

Местоположение элементов в массиве называется индексом.

Примеры:

Вектор одномерный массив:

Матрица (двумерный массив

Регулярный тип определяется пользователем

<регулярный тип>::={<тип индекса>,{<тип индекса>},] of <тип элемента>;

<тип элемента> -любой, кроме файлового. Также может быть массив.

<тип индекса>::=|перечисляемый |диапазонный|char|boolean




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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