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

Предпросмотр материала:

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

Блок 4.

                                                            План.

 

 

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

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

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

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

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

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

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 


                     Нет

 

 

 

                                                             Да

 

 

 

 

  Оператор цикла с параметром применяют тогда, когда известно число повторений одного и тог же действия. Начальные и конечные значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Рассмотрим, как выполняется оператор цикла с параметром вида 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.

 

 

 

 

 


                                                                                                 

Y=0

N=1

 
 

 

 

 

 


Y=y+1/n

N=N+1

 
                               

 

 

 

 

 


Прямоугольник: скругленные углы: Стоп                                            

                    Нет

 

 

 

                                                     Да

 

 

 

 

 

 

 

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

 

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.

 

 

 

 

 

 

 

 

 

 

 

 


                                                

 

                                                 

 


Выделение последней

цифры числа

P1:=k div 10

 

 
                                         

 

 

 

 

                                           

 

 

 

 

 

 

 

 

 


                                                 

Блок-схема: решение: Если k=99
 

 


Блок-схема: решение: Если S=N                       Нет                        

 

 

Да

 

                         Да

 

 

 

 

 

 


                           

 

 

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

 

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. Последовательность чисел задана законом

 

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

Решение.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 


Прямоугольник: скругленные углы:        СтопБлок-схема: данные: Вывод числа N                                    

 

 

 

 

 

 

 

 

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

 

 

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;

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

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

 

 

 

 

 

 

 

 

 

 

 

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

An=1/ k3

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

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

Краткое описание материала

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

    DOCX

Файл будет скачан в формате:

    DOCX

Краткое описание материала

Автор материала

Орлов Юрий Николаевич

Учитель физики, информатики

  • На сайте: 10 лет и 9 месяцев
  • Всего просмотров: 138716
  • Подписчики: 0
  • Всего материалов: 85
  • 138716
    просмотров
  • 85
    материалов
  • 0
    подписчиков

Настоящий материал опубликован пользователем Орлов Юрий Николаевич.
Инфоурок является информационным посредником. Всю ответственность за опубликованные материалы несут пользователи, загрузившие материал на сайт. Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете на материал.

Другие материалы

Вам будут интересны эти курсы: