Тема №5: программирование на языке turbo-pascal. Организация циклов. Операторы циклов. Составление программ с использование операторов цикла



бет1/5
Дата06.06.2016
өлшемі1.09 Mb.
#117344
  1   2   3   4   5


Программирование на языке Turbo Pascal

Материалы к урокам

ТЕМА №5: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ TURBO-PASCAL. ОРГАНИЗАЦИЯ ЦИКЛОВ. ОПЕРАТОРЫ ЦИКЛОВ. СОСТАВЛЕНИЕ ПРОГРАММ С ИСПОЛЬЗОВАНИЕ ОПЕРАТОРОВ ЦИКЛА.

ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. Turbo-Pascal 5.

ЦЕЛИ И ЗАДАЧИ: Знакомство с операторами цикла языка Turbo-Pascal. Выработка навыков работы в Turbo-Pascal. Решение практических задач с использованием операторов цикла.

ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:



Учащиеся должны знать:

  • Что такое цикл;

  • Три разновидности операторов цикла;

  • В чем отличия операторов цикла с предварительным и последующим условием;

  • Какой тип должна имеет переменная цикла с параметром;

  • Когда в операторах цикла и ветвления используются операторные скобки;

  • Принцип организации движения графических фигур.

Учащиеся должны уметь:

  • Использовать циклы при составлении программ;

  • Правильно составлять и использовать условия в циклах WHILE или REPEAT;

  • Составлять программы с использование операторов цикла.




    ПЛАН-СОДЕРЖАНИЕ УРОКА
  1. Цикл


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

Существует три разновидности оператора цикла.



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

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

for <параметр цикла>:=<начало> to/downto <конец> do <оператор>;

для до делать

параметр цикла - числовая переменная типа integer

начало, конец - арифметическое выражение

to - используется когда начало меньше конца

downto - используется когда начало больше конца

оператор - тело цикла, любой оператор, в том числе и составной

Принцип работы:



  • Параметру присваивается значение начало

  • Выполняется оператор - тело цикла.

  • Затем параметр сравнивается с концом.

  • Если параметр больше/меньше конца, то начинает работать следующий оператор за оператором цикла, в противном случае к параметру прибавляется/отнимается единица.

  • Снова выполняется оператор.

  • Так продолжается пока параметр не станет больше/меньше конца.




  1. Цикл с предварительным условием

while <условие> do <оператор>;

пока делать

условие - логическое выражение

оператор - любой оператор, в том числе и составной.

Принцип работы:


  • Проверяется истинность условия

  • Если условие истинно выполняется оператор

  • Цикл работает, пока условие не станет ложным.




  1. Цикл с последующим условием

repeat <операторы> until <условие>

повторять до тех пор пока

условие - логическое выражение

операторы - любое количество любых операторов, в том числе и составной.

Принцип работы:


  • Выполняются все операторы между repeat и until

  • Проверяется ложность условия

  • Цикл работает, пока условие не станет истинным.




  1. Особенности и отличия операторов цикла

  • Вход в цикл возможен только через его начало

  • Переменные оператора должны быть определены до входа в цикл

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

  • Оператор while repeat может ни разу не выполнится

  • оператор repeat обязательно выполниться хотя бы раз




  1. Примеры программ




Проверить, является ли целое число простым.

Uses crt;

Var n{введенное число},i:integer;

Begin

Readln(n);



For i:=2 to n-1 do

If n mod i =0 then begin writeln(n,’не простое’);readkey; halt;end;

writeln (n, ‘простое’);

readkey;


end.

Написать программу, которая выводит на экран табл. умножения, например на 7.

Uses crt;

Var m,n,p:integer;

Begin

For i:=1 to 10 do



Writeln(7,’*’,I:2,’=’,7*I:2);

Readkey; end.



Написать программу, которая выводит табличные значения функции у=x+2. Диапазон изменения аргумента от – 4 до 4, приращение аргумента - 0.5

uses crt;

var x,y:real;

begin;

clrscr;


writeln('y':20,' : ','x':5);

writeln(' --------------');

x:=-4;

repeat


y:=abs(x)+2;

writeln(y:20:1,' : ',x:5:1);

x:=x+0.5;

until x>4;

readkey;

end.


Написать программу, которая определяет максимальное число из введенной последовательности положительных чисел. Завершение ввода – 0.

Uses crt;

Var a{очередное число}, m{макс.число}:integer;

Begin M:=0;

Repeat


Writeln(‘введи число’);Readln(a);

If a>m then m:=a;

Until a=0;

Writeln(‘max=’,m);

Readkey; end.


Имеются или не имеются среди чисел cos(i3)sin(in), i=1,…,n, числа меньше 0,0001. Если имеются, то выводить «есть», если нет – «нет»

uses crt;

label 1;


var i,n:integer;

begin clrscr;

writeln ('Введите n'); readln (n);

for i:=1 to n do

if cos(i*i*i)*sin(i*n)<0.0001 then begin

writeln ('есть');goto 1; end;

writeln ('нет');

1:readkey;end.



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

program nod;

uses crt;

var n1,n2,nod: integer;

begin clrscr;

writeln ('Введите два целых числа');

readln (n1,n2);

while n1<>n2 do

if n1>n2 then n1:=n1-n2 else n2:=n2-n1;

nod:=n1;

writeln 'Наибольший общий делитель -',nod);

readkey;end.


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

program nok1;

uses crt;

var nok,n1,n2:byte;i:word;

begin


clrscr;

writeln('введите два числа'); readln(n1,n2);

nok:=1;

for i:=n1*n2 downto 2 do



if (n1 mod i=0) and (n2 mod i=0) then nok:=i;

write('NOK -',nok);

readkey;end.





  1. По тексту готовой программы составить условие задачи:

  1. program pt1;

uses crt;

var a,i,j:integer;

begin

clrscr;


randomize;

for i:=1 to 15 do

begin

a:=trunc((random(7))*5)-10;



write(a:4);

end;


readln;

end.


  1. program pt1;

uses crt;

var a,i,j:integer;

begin

clrscr;


randomize;

for j:=1 to 10 do

begin

a:=trunc((random(9))*5)-20;



write(a:4);

end;


readln;

end.


  1. program pt1;

uses crt;

var a,i,j:integer;

begin

clrscr;


randomize;

for i:=1 to 15 do

begin

a:=trunc((random(11))*5)-20;



write(a:4);

end;


readln;

end._



  1. program pt1;

uses crt;

var a,i,j:integer;

begin

clrscr;


randomize;

for i:=1 to 4 do

begin

for j:=1 to 5 do



begin

a:=trunc((random(7))*5)-10;

write(a:4);

end;


writeln;

end;


readln;

end._



  1. program pt1;

uses crt;

var a,i,j:integer;

begin

clrscr; randomize;



for i:=1 to 5 do begin

for j:=1 to 5 do begin

a:=trunc((random(9))*5)-20; write(a:4);

end;


writeln;

end;


readln; end.




  1. Ответить на вопросы

  • Сколько раз будут выполнены инструкции между Begin и End?

For i:=j to j+1 do

Begin


end;



  • Чему будет равен x после выполнения инструкций?

X:=0;

For i:= -5 to 0 do

N:=i*i;

X:=X+N;



  • Что будет выведено на экран в результате выполнения инструкций?

N:=5;

X:=0;


For i:=1 to N do X:=i;

Writeln(X);




  • Сколько звездочек будет выведено на экран в результате выполнения инструкций?

For i:=1 to 5 do

For j:=1 to 5 write (‘*’);





Достарыңызбен бөлісу:
  1   2   3   4   5




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет