Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Программирование циклических алгоритмов




В Паскале существуют 3 оператора цикла:

 

7.1.Цикл с постусловием («До»)

Repeat

M1;

M2;

:

Mk;

Until N;

Блок - схема

 


:

 
 

 


 

 
 


:

 
 

 

 


-

 
 


+

 

Repeat – повторять;

Until – до;

M1, M2,…, Mk – группа операторов, они называются операторами тела цикла.

N – выражение, имеющее логическое значение (условие выхода из цикла)

Выполняется:

1. Выполняются операторы M1, M2,…, Mk;

2. Вычисляется значение N;

3. Если N – True, то оператор цикла заканчивает свою работу, иначе перейти к пункту 1

Среди операторов тела цикла обязательно должен присутствовать оператор, изменяющий значение выражения N;

Задача 1.

Найти произведение чисел от 1 до 10.

Решение:

Program Ci1;

Var K:Integer;

P:Real;

Begin

K:=0;P:=1;

Repeat

K:=K+1;

P:=P*K;

Until K=10;

Writeln(’P= ’,P:10:5);

End.

Задачи:

1. Даны числа от 1 до N. Найти:а) сумму всех чисел; б) произведение всех чисел; в) среднее арифметическое.

2. Вычислить сумму всех двузначных чисел.

3. Вычислить сумму чисел: S=1+3+5+…+R где R-нечетное.

4. Вычислить произведение чисел: P=2+4+6+…+R где R-четное.

5. Найти значения функции y=x2 при х=1,3,5,…,15.

6. Найти значения функции р=(р2+15) при р=2,4,6,…,20.

7.2.Оператор цикла с предусловием «Пока»

While N do M;

 
 

 


-

 
 


+

       
 
 
   

 

 


While – пока;

Do – выполнять;

N – выражение, имеющее логическое значение (условие входа в цикл);

M – любой оператор в единственном числе. Если по смыслу задачи надо повторять группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки). Этот оператор или группа операторов называется телом цикла;

Выполняется:

1. Вычисляется значение N;

2. Если N – True, то выполняется оператор M (группа операторов), иначе оператор цикла заканчивает свою работу;

3. Перейти к пункту 1.

Среди операторов тела цикла обязательно должен присутствовать оператор, изменяющий значение выражения N;

Задача 2.

Даны числа от 1 до N (N – четное). Найти: S=

Решение:

Program Ci2;

Var K,N:Integer;

S:Real;

Begin

Writeln(’Введите четное число’);

Readln(N);

K:=0;S:=0;

While K<N do

Begin

K:=K+2;

S:=S+1/K;

End;

Writeln(’S= ’,S);

End.

Задачи:

1. Даны числа от 1 до N. Найти: Р=

2. Даны числа от 1 до N (N – нечетное). Найти: S=

3. Найти значение Х: Х=(1*3*5*…*N)/(1+3+5+…+N) (N – нечетное).

4. Даны числа от 1 до N. Вычислять: S= вплоть до слагаемого, меньшего заданного Е (Е<1).

5. Вычислить среднее арифметическое чисел K,K+1,K+2,…,K+N; (K<N).

6. Вычислить сумму чисел: S=N+(N+1)+(N+2)+(N+3)+…+(N+R); (N<R).

7. Вычислить произведение чисел: P=N*(N+1)*(N+2)*(N+3)*…*(N+R); (N<R).

8. Вычислить: P=1+(1*2)+(1*2*3)+(1*2*3*…*R).

9. Вычислить: P=1*(1+2)*(1+2+3)*(1+2+3+…+R).

10. Найти значения функции M=N2-N при N={2,4,6,…,T} (T-четное).

11. Найти значения функции X=Y2 *(Y 2 -Y)/Y при Y={N,N*1,N*2,…,N*M} (N<M).

 

Цикл с параметром

Оператор цикла с параметром имеет 2 модификации:

For K:=N1 to N2 do M; (с возрастанием параметра)

For K:=N1 downto N2 do M; (с убыванием параметра)

 
 


-

       
 
   
 


+

       
 
 
   

 


For – для;

To – до;

Downto – уменьшая до;

K – переменная порядкового типа (Integer, Char, Boolean), называется параметром цикла;

N1, N2 – выражение, имеющее значение того же типа, что и параметр K;

M – любой оператор в единственном числе;

Если по смыслу задачи надо повторять группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки):

Выполняется:

1. Вычисляется значение N1, N2;

2. K:=N1;

3. Проверяется условие:

- K<=N2 (to)

- K>=N2 (downto)

4. Если условие не выполнено, то выполнение оператора цикла заканчивается. Иначе выполняется оператор M;

5. K – получает приращение:

- K:=succ(K) (to);

- K:=pred(K) (downto);

6. Переход к пункту 3;

В турбо Паскале в отличие от Бейсика цикл с параметром реализован как цикл «пока» и значит оператор M может ни разу не выполнится.

 

Задача 3.

Вывести коды всех строчных символов латинского алфавита.

Решение:

Program Ci3;

Var S:Char;

Begin

For S:=’a’ to ’z’ do

Writeln(’У символа - ’,S,’ код ’,Ord(S));

End.

Задача 4.

Вывести на экран цифры в обратной последовательности

Решение:

Program Ci4;

Var R:Integer;

Begin

For R:=9 downto 1 do Write(R,’ ’:4);

End.

Задача 5

Вывести на экран 10 случайных чисел в диапазоне от 0 до 100.

Решение:

Program Ci4;

Const X=100;

Var Y,R:Integer;

Begin

Randomize; {инициализирует генератор случайных чисел}

For R:=1 to 10 do

Begin

Y:=Random(X);

Writeln(R,’=’,Y);

End;

End.





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


Дата добавления: 2017-02-28; Мы поможем в написании ваших работ!; просмотров: 522 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2206 - | 2159 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.