СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование циклов на языке Паскаль

Категория: Информатика

Нажмите, чтобы узнать подробности

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

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

Просмотр содержимого документа
«Программирование циклов на языке Паскаль»

Практическое занятие №6 Программирование циклов на языке Паскаль

Цель работы: научиться реализовывать несложные циклические программы в среде программирования PascalABC.NET.

Оборудование: персональный компьютер, инструкция к работе, среда программирования PascalABC.NET

Теоретические сведения

Паскаль - язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623-1662) и разработан в 1968-1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании.

Паскаль популярен среди программистов по следующим причинам:

  • Прост для обучения.

  • Отражает фундаментальные идеи алгоритмов в легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.

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

  • Использование простых и гибких структур управления: ветвлений, циклов.

  • Надежность разрабатываемых программ.

Язык и система программирования PascalABC.NET. Команды в окне программы на русском языке.



Программы на языке Паскаль имеют блочную структуру

Общая структура программы на языке Паскаль

Рrogram ИМЯ..; {заголовок программы}
Uses ...; {раздел описания модулей}
Var ..; {раздел объявления переменных}
...
Begin {начало исполнительной части программы}
... {последовательность
... операторов}
End. {конец программы}

Алгоритмы с циклической структурой на языке Паскаль

Командой повторения или циклом называется такая форма организации действий, при которой одна и та же последовательность действий повторяется до тех пор, пока сохраняется значение некоторого логического выражения. При изменении значения логического выражения на противоположное повторения прекращаются (цикл завершается).

Различают циклы с известным числом повторений (цикл с параметром) и итерационные циклы (с пред- и постусловием).

В цикле с известным числом повторений параметр изменяется в заданном диапазоне. Если в цикле изменяется простая переменная, то она является параметром цикла; если в цикле изменяется переменная с индексом, то индекс этой переменной является параметром цикла.

Для организации цикла с известным числом повторений в Паскале используется оператор FOR.

Здесь УП — параметр, изменяющийся в цикле; нз, кз — выражения порядкового типа, обозначающие начальное и конечное значение параметра цикла. Шаг изменения номера параметра цикла равен 1Параметр УП может быть как положительным, так и отрицательным. Соответственно, цикл может работать как по возрастанию, так и по убыванию значений своего параметра.

Структура цикла, организованного с помощью этого оператора, на языке Паскаль имеет вид:

for i := a to b do begin оператор end;

или

for i := a down to b do begin оператор end;

Шаг изменения номера параметра цикла равен 1, если в заголовке цикла стоит to, и -1 при downto. Возможность указания произвольного шага в языке Паскаль отсутствует: в таких случаях приходится использовать циклы с условиями.

Порядок выполнения цикла с шагом 1 следующий: вычисляются значения начального и конечного значений параметра цикла; параметр УП(i) принимает начальное значение (нз), если УП(i) меньше или равно конечному значению (кз), исполняется тело цикла; значение параметра цикла увеличивается, т. е. i=i+1; проверяется условие УП(i)кз (для отрицательного шага условие УП(i)кз)и при его выполнении цикл повторяется. Выход из цикла осуществляется, если УП(i) (УП(i)кз для шага -1), и выполняется оператор, следующий за оператором цикла.

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

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

 

Итерационные циклические алгоритмы

По сравнению с циклом с параметром, рассмотренным нами выше, итерационные циклы являются универсальными. Для организации итерационных циклов используются операторы цикла с предусловием — цикл «ПОКА» и цикла с постусловием цикл «ДО».

Эти операторы не задают закон изменения параметра цикла, поэтому необходимо перед циклом задавать начальное значение параметра с помощью оператора присваивания, а внутри цикла изменять текущее значение этого параметра.

Для оператора цикла с предусловием проверяется значение логического выражения: если оно имеет значение true, то операторы, входящие в цикл, выполняются, в противном случае осуществляется выполнение оператора, следующего за циклом.

 Цикл с постусловием выполняется хотя бы один раз. Затем проверяется значение логического выражения если оно false, то операторы, входящие в цикл, выполняются, в противном случае осуществляется выход из цикла.

Входить в цикл можно только через его начало, т. е. нельзя входить внутрь цикла с помощью управляющего оператора, так как в этом случае параметр цикла не определен.


Практическая часть

Задание 1

Выполнить готовые циклические программы из таблицы


  1. Вывод последовательности 1 3 5 7 9 с помощью разных циклов.


var i,x: integer;

begin

// с помощью for и промежуточной переменной

x := 1;

for i := 1 to 5 do

begin

write(x,' ');

x := x + 2;

end;

writeln;

// С помощью for без промежуточной переменной

for i := 1 to 5 do

write(2*i-1,' ');

writeln;

// С помощью while

x := 1;

while x

begin

write(x,' ');

x := x + 2;

end;

writeln;

// С помощью repeat

x := 1;

repeat

write(x,' ');

x := x + 2;

until x=10;

end.


  1. Сумма и произведение введенных чисел.

var

s,p: real;

begin

writeln('Введите 10 чисел: ');

s := 0;

p := 1;

for var i := 1 to 10 do

begin

var x: integer;

read(x);

s += x;

p *= x;

end;

writeln('Сумма введенных чисел = ',s);

writeln('Произведение введенных чисел = ',p);

end.


  1. Вычисление n!


var n: integer;

begin

write('Введите n (n

readln(n);

var fact := 1;

for var i := 2 to n do

fact *= i;

writeln(n,'! = ',fact);

end.


  1. Вычисление an


var

n: integer;

a: real;

begin

write('Введите a,n: ');

readln(a,n);

var p := 1.0;

for var i := 1 to n do

p *= a;

writelnFormat('{0} в степени {1} = {2}',a,n,p);

end.



  1. Вывод английских букв

var c: char;

begin

for c := 'a' to 'z' do

write(c,' ');

writeln;

c := 'A';

while c

begin

write(c,' ');

c := succ(c);

end;

end.


  1. Числа Фибоначчи.


const n = 25;

begin

var a := 1;

var b := 1;

write(a,' ',b,' ');

for var i := 3 to n do

begin

var c := a + b;

write(c,' ');

a := b;

b := c;

end;

end.


  1. Минимум из введенных.

const n = 10;

var min: integer;

begin

writelnFormat('Введите {0} значений: ',n);

min := integer.MaxValue;

for var i := 1 to n do

begin

var x: integer;

read(x);

if x

min := x;

end;

writeln('Минимальное значение = ',min);

end.


  1. Алгоритм Евклида поиска НОД


var a,b,c: integer;

begin

writeln('Введите a,b: ');

read(a,b);

while b0 do

begin

c := a mod b;

a := b;

b := c;

end;

writeln ('Наибольший Общий Делитель = ',a);

end.


  1. Вывод таблицы умножения.


const n = 9;

begin

for var i:=1 to n do

begin

for var j:=1 to n do

write(i*j:4);

writeln;

end;

end.


  1. Вывод цифр числа

var x: integer;

begin

write('Введите x: ');

readln(x);

write('Цифры числа x в обратном порядке: ');

while x0 do

begin

write(x mod 10,' ');

x := x div 10;

end;

end.



Задание 2

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

Содержание отчета

  1. Название работы.

  2. Цель работы.

  3. Задание и его решение.

  4. Вывод по работе.

Контрольные вопросы

  1. Что такое среда программирования?

  2. Опишите среду программирования Pascal ABC.NET

  3. Как сохранить текст программы?

  4. Какова структура программы на языке Pascal?

  5. Алгоритмическая структура «цикл»

  6. Этапы решения задач на компьютере.

Литература

    1. И.Г.Семакин, Т.Ю.Шеина, Л.В.Шестакова. Информатика, углубленный уровень,10 класс ч. 1, 2014 год

10



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!