КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |