Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Программирование в интегрированной среде Turbo Pascal. Учебное пособие.doc
Скачиваний:
116
Добавлен:
08.06.2015
Размер:
1.51 Mб
Скачать

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

  1. Поясните действие оператора выбора на примере.

  2. Объясните взаимосвязь селектора и списка выбора в операторе Case.

  3. Приведите пример применения оператора перехода.

  4. Какие основные условные графические обозначения используются при составлении блок-схем алгоритмов?

  5. Поясните методику пошаговой отладки программы.

  6. Что такое семантические ошибки и как их выяснить?

  7. Как обнаружить логическую ошибку?

  8. Поясните логические операции or и and для двух переменных.

  9. Приведите примеры записи условных операторов в полной и сокращенной формах.

  10. Какой тип данных получается в результате выполнения операций отношения?

6. Составление и отладка программ

С ЦИКЛАМИ

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

6.1. Организация программ с циклами

Для программирования алгоритмов циклической структуры в TurboPascal(TP) применяются три вида операторов цикла (повторения).

  1. Оператор цикла For, имеющий два варианта записи:

а) инкрементный (с возрастанием переменной цикла)

For i := n1 to n2 do s ;

б) декрементный (с убыванием переменной цикла)

For i := n1 downto n2 do s ;

где i - параметр цикла - переменная порядкового типа (integer и т.п.);

s - тело цикла (любой оператор, включая оператор цикла);

n1,n2- начальное и конечное значения переменной цикла; при этом для инкрементной формыn1<n2и шаг изменения счетчика цикла равен+1, а для декрементного варианта оператораn1>n2и шаг цикла равен-1.

Пример: Составить программу для вычисления произведения

при n= 10,x1= 2,1 (начальное значение х),xn= 3 (конечное значение х).

Program Example_1;

Uses Printer;

Var P,x,h,x1,xn:real; n,i:integer;

BEGIN

writeln('Введите переменные:');

write('n='); readln(n);

write('x1='); readln(x1);

write('xn='); readln(xn);

h:=(xn-x1)/(n-1); {вычисление. шага изменения x}

P:=1; x:=x1; {задание нач. значений переменным}

for i:=1 to n do

begin

P:=P*(2*x+i)/(sqr(2*i)+1);

x:=x+h;

end;

writeln(Lst,'P=',P:12,' при x1=',x1:4:1,',

xn=',xn:4:1);

END.

  1. Оператор цикла While:

While b do s;

где b- выражение логического типа (условие);s- тело цикла.

В этом операторе сначала проверяется условие b. Если оно имеет значениеtrue, то выполняетсяs, иначе управление передается оператору, следующему за операторомwhile.

  1. Оператор цикла Repeat:

Repeat s Until b ;

где b- логическое условие;s- тело цикла (не требует заключения в операторные скобкиbegin .. end).

В отличие от whileздесь сначала выполняетсяs, а затем проверяется условиеb. Если оно примет значениеtrue, то цикл завершается.

Блок-схемы выше рассмотренных операторов повторения представлены в табл. 6.1.

Для более гибкого управления циклическим вычислительным процессом в состав ТР 7.0 включены две процедуры, которые практически исключают необходимость использования оператора goto:

Break- реализует немедленный выход из цикла; при этом управление передается оператору, следующему за циклом.

Continue- обеспечивает досрочное завершение очередного прохода цикла.

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

В операторах WhileиRepeatвозможно зацикливание, если условие завершения цикла в оператореWhileпостоянно сохраняет значениеtrue, а в оператореRepeat- значениеfalse. Для исключения этой ситуации необходимо предусмотреть дополнительную проверку на достижение заданного предельного числа повторений цикла с выходом из цикла, в частности с помощью оператора break.

Таблица 6.1

Соседние файлы в папке метод указания