Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Управляемые переходы




Loop

Basic

Basic

Loop

Basic

Вложенные циклы

Do

Do

<инструкции>

loop { while | until } <условие>

Пример. Тот же.

s=0: i=0

p=1

s += a(i)

p *= a(i)

i += 1

loop while i<100

Суть: инструкция тела цикла есть другая инструкция цикла.

Примеры.

1.Умножение матриц. C=A*B, где:

{aik}, i=1... m, k=1... n; {bkj}, k=1...n, j=1... l; {cij}, i=1...m, j=1...l cij=Saik*bkj

C

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

for (j=0; j<l; j++){

c[ i ][ j ]=0;

for (k=0; k<n; k++){

c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ];

}

}

}

for i=0 to m-1

for j=0 to l-1

c(i, j)=0

for k=0 to n-1

c(i, j) += a(i, k)*b(k, j)

next k

next j

next I

2.Сортировка по неубыванию элементов массива методом "пузырька".

C

pr=1; // pr – признак наличия перестановки: 1- есть перестановка, 0 - нет

while (pr){

pr=0;

for (i=0; i<n-1; i++){

if (a[ i ]>a[ i+1 ]){ // Сравнение "соседей"

b=a[ i ]; a[ i ]=a[ i+1]; a[ i+1]=b; pr=1;//Произошла перестановка

}

}

}


Basic

pr= true ' pr – признак наличия перестановки: 1- есть перестановка, 0 - нет

do while pr

pr= false

for i=1 to n-1

if a(i)>a(i+1)) ' Сравнение "соседей"

b=a(i): a(i)=a(i+1): a(i+1)=b: pr= true 'Произошла перестановка

end if

next i

3.Цикл с вещественным(дробным) параметром. Вычислить значение функции P(x)=anxn+an-1xn-1+...+a1x+a0 при изменении x от 2 до 3 с шагом dx=0.1.

Схема Горнера – вычисление полинома (многочлена): вывод формулы.

a3x3+a2x2+a1x+a0= (a3x+a2)x2+a1x+a0= ((a3x+a2)x+a1)x+a0

C

j=-1;

for (x=2; x<3.05; x+=.1){ // Формирование массива значений

j++;

p[ j ]=0; // Вычисление значения полинома для заданного x

for (i=n; i>=0; i--){

p[ j ]=p[ j ]*x+a[ i ];

}

}

j=-1

for x=2 to 3.05 step 0.1 ' Формирование массива значений

j=j+1

p(j)=0 ‘ Вычисление значения полинома для заданного x

for i=n to 0 step -1

p(j)=p(j)*x+a(i)

next i

next x

4. Дана матрица {aik}, i,k=1...10. Найти {bi}, i=1...10, где

1, если в i-й строке диагональный элемент максимален

bi=

0, если нет

C

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

for (k=0; k<10 && a[ i ][ k ]<=a[ i ][ i ]; k++);

if (k==10){

b[ i ]=1;

} else {

b[ i ]=0;

}

}

for i=0 to 9

k=0

do while k<=10 and a(i,k)<=a(i,i)

k += 1

if k=10 then b(i)=1 else b(i)=0

next i

Предназначены для выхода из сложных инструкций управления, например, циклов.

В языке C есть 2 инструкции управляемых переходов.




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


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


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



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




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