Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Сравнительная характеристика циклических операторов

REPEAT

Repeat (цикл с условие) — цикл, который выполнятся до тех пор пока верно некоторое условие (условие окончания – закончить когда).

Repeat – цикл с постусловием, в котором условие проверяется после выполнения тела цикла. Repeatпо англ. – повторять, а until – пока, до того как.

Структура оператора REPEAT Repeat Тело цикла Until (условие окончания);

FОтличительные особенности оператора Repeat:

· проверка подлинности выполнения условия не в начале, как у других циклов, а в конце;

· тело цикла с постусловием всегда выполняется хотя бы один раз;

· после слова Repeat не ставится точка с запятой;

· операторы внутри конструкции Repeat – Until не выделяются дополнительными begin-end (даже когда операторов и несколько)

µ Задача 1. Составьте программу, которая печатает таблицу значений функции на отрезке от

–10 до 10 с шагом 0,2. Результаты табулирования функции выведите в компонент TMemo.

Код программы

Var X,Y: real;

Begin

Memo1.Clear;

X:=-10; //начальное значение параметра

Repeat

Y:=Sqr(X)+3*X+1;

Memo1.Lines.Add('Y('+FloatToStr(X)+')='+FloatToStr(Y));

X:=X+0.2; //изменение значения параметра на величину шага

Until X>10; //условие завершения цикла (конечное значение параметра)

end;

F Для более точных вычислений используйте тип Extended (замените тип real)

 

@ Задача 2. Усовершенствуйте решение предыдущей задачи: · Отрезок от a до b с шагом h. Значения a,b,h задаются пользователем. · Установлена защита от пустого и некорректного ввода значений a,b,h · Компонент TMemo, не доступен для ручного ввода.   Образец интерфейса

@Задача 3. Вычислить квадратный корень целого числа по рекуррентной формуле Герона при заданной точности вычисления ε.

Формула Герона

Алгоритм

1. Зададим Х1 - начальное значение корня из числа А: X1= a/2.

2. Вычислим следующее приближение через предыдущее:
Х2=(X1 + а/X1)/2
Х3=(X2 + а/X2)/2

Xi+1=(X i + а/X i)/2

Вычисление продолжаем до тех пор, пока разница между Xi+1 и Xi станет меньше заданной погрешности вычисления eps.

 

µВычисление коpня числа по фоpмуле Герона µ

Фрагмент кода программы

Var a:Integer; x,x1,Eps:Real;
Begin
E:=……………. //Точность вычислений - получить вещественное число

x:=a/2; //начальное значение корня
Repeat
x1:=x; //запоминаем i-е приближение корня
x:=(x+ a/x)/2; //вычисляем (i+1)-е приближение корня
until abs(x-x1)<EPS;

……………. // вывести в окно редактирования результат вычисления корня (последнее значение)

End;

 

@Задача 4. Определить значение переменной s после выполнения следующих операторов:

s:= 0; i:= 1;
Repeat s:= s + 5 Div i;

i:= 1 - 1;

Until i<=1;

 

µЗадача 5. Даны натуральные числа N и K, составьте программу вычисления выражения 1k+2k+…nk.

µЗадача 6. Опрделеить количество членов Ak последовательности А1, А2..Аn, имеющих четные порядковые номера и являющиеся нечетными числами.

@Задача 7. Произведение N первых нечетных чисел равно p. Сколько сомножителей взято? Значение переменнной P, вводиться пользователем.

µЗадача 8. Дана непустая последовательность натуральных чисел, за которой следует 0. Вычислить сумму положительных элементов последовательности, порядковые номера которых нечетны.

@Задача 9. Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме своих положительных делителей, кроме самого этого числа.

Алгоритм Евклидаµ

@Задача 10. Разработаете приложение позволяющее найти наибольший общий делитель (НОД) для двух натуральных чисел.

Алгоритм Евклида – это алгоритм нахождения наибольшего общего делителя двух целых неотрицательных чисел.

Алгоритм Евклида нахождения НОД основан на следующих свойствах этой величины. Пусть x и y одновременно не равные нулю целые неотрицательные числа и пусть x >= y, тогд усли а y=0, то НОД(x,y)=х, ф если y<>0, то для чисел x,y и r, где r – остаток от деления хна у выполниться неравенство НОД(х,у)=НОД(y,r)/

´Пример: Найдите НОД для чисел 48 и 18

Х Y Условие Результаты
     
48 mod 8 = 12   x>y НОД(48,18)=НОД(12,18)
  18 mod 12 = 6 x<y НОД(12,18)=НОД(12,6)
12 mod 6 =0   x>y НОД(12,6)=НОД(0,6)
    x=0 НОД(0,6)=6

Фрагмент кода программы

var x,y:integer;

Begin

… // ввод чисел Х и Y

Repeat

if X>Y then X:=X mod Y else Y:=Y mod X;

until (X=0) or (Y=0);

Edit3.Text:=IntToStr(X+Y)

end;


Решение:

@Задача 7. Произведение N первых нечетных чисел равно p. Сколько сомножителей взято? Значение переменнной P, вводиться пользователем.

 

var n,p,p1,i:integer;

begin

Memo1.Clear;

P:=strToInt(Edit1.text);

i:=1;

p1:=1;

N:=0;

repeat

N:=N+1;

P1:=P1*i;

Memo1.Lines.add(IntToStr(i)+' = '+IntToStr(P1));

i:=i+2;

until P<=P1*i;

Edit2.Text:=InTtoStr(N);

end;

FOR – WHILE -REPEAT

Сравнительная характеристика циклических операторов

C Операторы цикла используются для многократного повторения аналогичных вычислений

 

Для организации цикла в Delphi имеются три различных оператора:

  1. Оператор цикла For со счетчиком:

For <параметр цикла>:=<начальное значение> to <конечное значение> do <Р>;

<P>- простой или составной оператор (выделяется begin и end).

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

Другой вариант записи оператора For:

For <параметр цикла >:=< начальное значение> downto <конечное значение> do Р;

В этом случае при каждом прохождении цикла < параметр цикла > уменьшается на единицу от <начального значения> до <конечного значения>.

  1. Оператор цикла While с проверкой предусловия:

While <условие> do <P>; {Пока выполняется условие, делать}

Цикл выполняется, пока условие истинно (true).

  1. Оператор цикла Repeat … until с проверкой постусловия:

Repeat <P> until <условие>; { Выполнять до тех пор, пока не будет выполнено условие}

Цикл выполняется, пока условие ложно (false).

 

@ Задача. Найти сумму 5 целых чисел от 1 до 5. Написать программы для определения суммы с помощью трех операторов цикла.

Математическое описание

 


<== предыдущая | следующая ==>
Методические указания для студентов | Задание № 3. Выполните опросник

Date: 2016-05-13; view: 1251; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию