КАТЕГОРИИ: Архитектура-(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 End. Repeat Begin Repeat End. End Begin Begin Begin Примеры алгоритмов циклической структуры REPEAT Begin Writeln('Цикл'); k1:=k1+1 end; 7. В этом фрагменте цикл выполнится ровно 4 раза и компьютер перейдет к следующим командам. 8. При использовании операторов цикла с предусловием и постусловием необходимо быть осторожным в тех случаях, когда в логическом выражении (условии окончания цикла) фигурируют вещественные переменные. Следует помнить, что в компьютере значения выражений вещественного типа вычисляются приближенно, т.е. с небольшой погрешностью. Например, вещественное число 1.0 в компьютере может быть представлено как 0.99999999 или как 1.00000001. Поэтому фрагмент ............. ........... UNTIL X=B; ............. где X, B: Real, будет неправильным, хотя с математической точки зрения он верен. Условие X=B скорее всего никогда не выполнится, в результате произойдет "зацикливание" программы. Не следует управлять циклом с помощью логического выражения, в котором вещественные переменные проверяются на строгое равенство. Пример 1. Для вычисления В в 9-й степени при В < 0, когда Exp(9*Ln(B)) недопустим, можно использовать следующий цикл: ……… K:=1; P:=1; While K <= 9 Do P:=P*B; K:=K+1 End;
Пример 2. Составить программу вычисления и вывода на печать таблицы значений функции , при Х1 <= Xi <= Хn с шагом dX. Здесь а=-105; b=-3,62e-2; c=1,1; Х1 =2,65; Хn =5,55; dX=0,15. Program Cikl_1; Var A,B,C: Real; X,Xn,Xk,dX: Real; Z: Real; Read(A,B,C,Xn,Xk,dX); X:=Xn; While X <= Xk Do Z:=A*Exp(B*X - C*X*X); Writeln(' X=',X:5:2,' ':5,'Z=',Z:10); X:=X+dX
Пример 3. Вычислить В в 9-й степени при В <0 с использованием оператора цикла Repeat. K:=1; P:=1; P:=P*B; K:=K+1 Until K > 9; Пример 4. Составить программу для вычисления и вывода на печать таблицы значений функции при х=5,6,...,25; а=15.27е-2. Program Cikl_2; Var A,Y: Real; X: Byte; A:=15.27e-2; X:=5; Y:=Sin(A*X) * Sqrt(X); WriteLn(' X=',x,' Y=',y:10); X:=X+1 Until X > 25 Операторы тела цикла будут выполняться до тех пор, пока Х не станет больше 25. Пример 5. Н айти произведение натуральных чисел меньших 200 и кратных 7.
uses crt; var m,n:word; l:longint; clrscr; l:=1; m:=1; while m<200 do if m mod 7 = 0 then l:=l*m; inc(m); end; writeln(l); readkey; Пример 6. Для введенной последовательности целых чисел, признаком конца которой является ноль, определить максимальное число, сумму всех чисел и количество чисел удовлетворяющих условию: число цифр 7 в числе равно 3 uses crt; var n,m,max,s,k,p:longint; st:string; begin clrscr; max:=-2147483647; s:=0; k:=0; repeat read (n); if n>max then max:=n; {поиск максимального значения числа} s:=s+n; {здесь находится счетчик чисел} str(n,st); {преобразование целого числа в символьное значение} repeat p:=0; p:=pos('7',st); {поиск значения '7' в строке st и сохранение номера позиции в Р, откуда начинается найденный символ} if p<>0 then begin inc(m); delete(st,1,p);{удалить количество символов Р из строки ST, } {начиная с позиции 1} end; until p=0; if m=3 then begin inc(k); m:=0; end; until n=0; writeln ('max: ',max,' summa: ',s,' k: ',k); readkey; end. Пример 7. Вычислить и вывести на экран значения функции y=x3 на интервале изменения х, равном [a, b] в n равноотстоящих точках интервала. Найти: - сумму тех значений функции, которые удовлетворяют условию –10 < y < 10; - произведение тех значений функции, целая часть которых делится на 3 без остатка; - количество положительных значений функции в точках с нечетными номерами; - наибольшее из вычисленных значений функции в расчетных точках. - наибольшее из вычисленных значений функции в расчетных точках. Следующий рисунок иллюстрирует задачу. Требуется вычислить значения функции в n точках, изменяя переменную x от а до b с постоянным шагом
Исходные данные задачи: a, b – левая и правая границы интервала изменения x; n – количество расчетных точек. Введем следующие обозначения: x – изменяющийся аргумент функции; y – вычисляемое значение функции; dx – шаг изменения значения x; i – номер расчетной точки, изменяющийся от 1 до n с шагом 1; sum – сумма вычисленных значений функции, удовлетворяющих условию –10 < y < 10; pr -произведение вычисленных значений функции, целая часть которых делится на 3 без остатка; kol -положительных значений функции в точках с нечетными номерами; max – наибольшее из вычисленных значений функции.
Используем для организации цикла оператора For.
Пример. Разложение целого числа Х на простые множители. Будем делить Х на p, начиная с p = 2. Если делится нацело, то p — множитель, если не делится, то увеличиваем p на 1, пока Х <> 1. Контрольные вопросы и задания
K:=0; WHILE K<=10 DO begin K:=K+2; Write('K= ',K:3) end;
K:=0; WHILE K<=10 DO begin K:=K+3; Write('K= ',K:3) end;
m:=1; while m<20 do
Дата добавления: 2014-01-03; Просмотров: 1470; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |