Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по теории.docx
Скачиваний:
4
Добавлен:
28.09.2019
Размер:
530.05 Кб
Скачать

Билет №6

  1. Цикл с постусловием

program Cicle_Repeat;

{$APPTYPE CONSOLE}

uses

SysUtils;

Var

n:Integer;

Begin

//Эта циклическая структура образована словами

// REPEAT UNTIL

// (повторять) (до тех пор, пока)

//

2)

//Схема записи:

// -----------------------------------

// | Repeat |

// | цепочка операторов | <- тело цикла

// | Until условие завершения цикла; |

// -----------------------------------

3) Для того чтобы досрочно завершить виток цикла используется оператор Continue, для завершения цикла полностью – оператор Break.

4)

//==================================

//Задача.

//------

// Найти первое целое число большее 1,

// которое при делении на 4, 5, 6

// даёт остаток 1

//==================================

n:=1; //Начальное значение счётчика

Repeat //Заголовок цикла

n:=n+1; //Тело цикла

Until ((n Mod 4)=1) And //Конец цикла с условием

((n Mod 5)=1) And //завершения

((n Mod 6)=1);

WriteLn('Result: ',n); //Вывод результата

ReadLn; //Задержка

End.

//====================================

//РАЗЛОЖИТЬ ЧИСЛО НА ПРОСТЫЕ МНОЖИТЕЛИ

//====================================

Write('n = '); //Приглашение к вводу

ReadLn(n); //Ввод значения n

m:=2; //Первое простое число

Repeat //Главный цикл

If n Mod m=0 Then //Если n делится на m, то

Begin

n:=n Div m; //удаляем множитель из n

Write(m,' '); //выводим его на экран

End

Else m:=m+1; //Иначе следующее m

Until n=1; //Множители закончились - конец

Writeln;

//=====================================

//НАЙТИ СУММУ ЦИФР ПОЛОЖИТЕЛЬНОГО ЧИСЛА

//=====================================

Repeat //Цикл проверки ввода

Write('n = '); ReadLn(n); //Ввод значения n

Until n>0; //Значение правильное - конец

m:=0; //Готовим сумму цифр

Repeat //Цикл суммирование цифр

m:=m+n Mod 10; //Прибавляем цифру числа

n:=n Div 10; //Удаляем цифру числа

Until n=0; //Цифры закончились - конец

WriteLn('Result: ',m);

//===============================

//ПЕРЕВЕРНУТЬ ПОЛОЖИТЕЛЬНОЕ ЧИСЛО

//===============================

Repeat //Цикл проверки ввода

Write('n = '); ReadLn(n); //Ввод значения n

Until n>0; //Значение правильное - конец

m:=0; //Готовим перевёртыш

Repeat //Цикл выделения цифр

m:=10*m+n Mod 10; //Прибавляем цифру числа

n:=n Div 10; //Удаляем цифру числа

Until n=0; //Цифры закончились - конец

WriteLn('Result: ',m);