Главная / Информатика / Первые шаги в программировании язык PASCAL

Первые шаги в программировании язык PASCAL

Язык программирования PASCAL

Блок 4.

План.



I. Алгоритмы цикла..

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

а) Решение задач

  1. Оператор цикла с предусловием.

б) Решение задач.

  1. Задание на самостоятельную работу.


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

действия . Например, при нахождении суммы, произведения конечных и бесконечных рядов, нахождения значения факториала, расчета полета траектории различного вида летательных аппаратов. В этом случае в программировании предусмотрены алгоритмы, называемые циклическими.

Алгоритмы цикла подразделяются на алгоритмы цикла с предусловием, постусловием. Дадим характеристику данных видов алгоритмов. В общем виде блок-схема с оператором цикла выглядит так.


hello_html_m24bf356e.gif


hello_html_77868688.gifhello_html_m9534073.gifhello_html_m75ec427e.gifhello_html_4641c3ba.gifhello_html_4641c3ba.gifhello_html_m1a57141b.gifhello_html_m561c8db0.gif









hello_html_4641c3ba.gifНет




Да





Оператор цикла с параметром применяют тогда, когда известно число повторений одного и тог же действия. Начальные и конечные значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Рассмотрим, как выполняется оператор цикла с параметром вида for <параметр>:=A to B do <тело цикла>/.

Сначала вычисляются значения выражений A и B. Если A<=B, то <параметр> последовательно принимает значения, равные A, A+1,…, B-1, B и для каждого из этих значений выполняется <тело цикла>. Если A>B, то тело цикла не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.

Оператор цикла с параметром с заданным шагом. For <параметр>:= A to B Step h do <тело цикла>. Если тело цикла нужно организовать, начиная с последнего значения B до начального значения A с шагом -1, то нужно использовать следующую конструкцию.

For <параметр цикла>:=A down to B <параметр> изменяются с шагом, равным -1.

Решение задач.

Пример 1. Составить блок-схему и программу нахождения значения выражения.

Y=1+1/2+1/3 +…+1/15

Для выполнения данного задания организуем цикл с параметром, изменяющимся от 1 до 15 с шагом 1.


hello_html_m29584542.gif



hello_html_m2df47aa7.gif

hello_html_m6c4b4c4d.gif



hello_html_m2df47aa7.gif

hello_html_m4944f143.gifhello_html_6ac59c09.gif

hello_html_2a7c7b7.gif



hello_html_m2df47aa7.gif


hello_html_5444d66d.gif

hello_html_m2df47aa7.gifhello_html_m3237949.gifhello_html_1cbd7991.gif

Нет




Да








Запишем программу.


Program pr1;

Uses CRT;

Var n: integer;

y: real;

Begin

Clrscr;

y:=0;

For n: =1 to 15 do begin

y:=y+1/n;

Writeln ('y=', y: 5:5);

End;

Readln;

End.


Задача 2. Составить алгоритм и программу, которая из чисел о 10 до 99 выводит те, сумма которых равна S( 0<S<12)


Для решения введем следующие обозначения: k- просматриваемое число,

P1-первая цифра числа k, P2- вторая цифра числа k/ S – это сумма цифр данного числа k. Чиcло k будем записывать только в том случае, когда сумма PP2 равна S.


hello_html_mcb168be.gif



hello_html_m2df47aa7.gif



hello_html_m2b782bc8.gif


hello_html_m2df47aa7.gif


hello_html_m53d1372f.gif


hello_html_m2df47aa7.gif

hello_html_m54e136e9.gifhello_html_3c0018f9.gif

hello_html_29b328fe.gif





hello_html_57aed7ff.gifhello_html_3c8a2873.gif

hello_html_m6aa852c0.gif




hello_html_57aed7ff.gif

hello_html_2bfe0b6b.gifhello_html_7488a81e.gifhello_html_m6917547.gif



hello_html_57aed7ff.gif

hello_html_6a30bd61.gif


hello_html_m2bddf96.gifhello_html_m55e1054c.gifhello_html_57aed7ff.gifНет



Да


Да

hello_html_mb60b119.gifhello_html_m2b63dd5b.gifhello_html_m2bddf96.gif





hello_html_m3636e878.gif



Согласно блок-схеме записываем программу.


Program pr2;

Uses CRT;

Var k, n, P1, P2, S: integer;

Begin

Clrscr;

Writeln ('Wwedite celoe chislo N=');

Readln (N);

S: =0;

For k: =10 to 99 do begin

P1:=k div 10;

P2:=k mod 10;

S: =P1+P2;

If S=N then writeln ('k=', k);

end;

Readln(k);

end.


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

Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется <тело цикла>, а затем вновь проверяется условие и т. д. Как только на очередном шаге окажется, что условие не соблюдается, то выполнение <тела цикла> прекратится.

Задача 3. Последовательность чисел задана законом


hello_html_4a466b56.gif

Найти номер N члена последовательности, с которого выполняется неравенство An < 1E-3.

Решение.

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

Блок – схема «Граница»


hello_html_m6bcab670.gif

hello_html_m6911f136.gif


hello_html_4641c3ba.gif

hello_html_22a72a6c.gifhello_html_66d9a938.gif



hello_html_m36d2df2a.gifhello_html_79254aeb.gif


hello_html_4641c3ba.gif


hello_html_31e4ef53.gif

hello_html_4641c3ba.gifhello_html_70c9c36b.gifhello_html_m1a96f903.gifhello_html_4641c3ba.gifhello_html_7b20e655.gif









Запишем программу.



Program Pr3;

Uses CRT;

Var n: integer;

Begin

Clrscr;

For n:=1 to 1000 do Begin

if 1/(N+7)<1E-3 then writeln('N=',N);

end;

Readln(N);

end.


Задача 4. Дано натуральное число N. Посчитать количество цифр в числе.

Запишем алгоритм в виде пошагового исполнения.

  1. Имя алгоритма.

  2. Описание вводимых переменных.

  3. Ввод целого числа N.

  4. Запоминаем вводимое число и счетчику цифр присваиваем значение равное нулю. M:=n/ k=0/

  5. Выполнение условия цикла пока m< >0

  6. Уменьшаем число на последнюю цифру, т.е. в 10 раз

  7. Вывод количества цифр.

Составляем программу, используя данный алгоритм.

Program pr4;

Uses crt;

Var n, m: longint;

K: integer;

Begin

Clrscr;

Writeln ('Wwedite chislo N='); readln (N);

M:=N; k:=0;

While M<>0 do Begin

K:=k+1; M:=M div 10;

End;

Writeln ('W chisle ', N,'- ', k,' cifr');

Readln;

End.


Задания для самостоятельной работы.

  1. В задаче 1. изменить цикл с 20 до 1.

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

S:=0; n:=5 for i:=2 to n do S:=S+100 div 10

Какие из приведенных операторов правильные и почему?

For i:=12 to 15 do S:=S+I;

For a:=30 to 20 do

If a mod 3=0 then d:=d+1;

  1. Дан ряд чисел от 5 до 125. Найти сумму чисел, кратных 3. Составит алгоритм и программу.

  2. Вычислить значение суммы. Составить алгоритм в виде пошагового исполнения. Записать программу.



hello_html_m302c5227.gif









  1. Определить номер N члена последовательности,

An=1/ k3

начиная с которого выполняется условие An < 0,01.

Составить блок-схему и записать программу.

Первые шаги в программировании язык PASCAL
  • Информатика
Описание:

I. Алгоритмы цикла..

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

 а) Решение задач

2.     Оператор цикла с предусловием.

 б) Решение задач.

3.     Задание на самостоятельную работу.

 

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

действия . Например, при нахождении суммы, произведения конечных и бесконечных рядов, нахождения значения факториала, расчета полета траектории различного вида летательных аппаратов. В этом случае в программировании предусмотрены алгоритмы, называемые циклическими.

 

Алгоритмы цикла подразделяются на алгоритмы цикла с предусловием, постусловием. Дадим характеристику данных видов алгоритмов. В общем виде блок-схема с оператором цикла выглядит так.

Автор Орлов Юрий Николаевич
Дата добавления 04.01.2015
Раздел Информатика
Подраздел
Просмотров 334
Номер материала 26625
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓