Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Выходные данные

Читайте также:
  1. A) проанализируйте модели образования слов, прочтите и переведите слова и словосочетания, созданные на их основе.
  2. Ex.10. А. Дополните предложения, выбрав подходящие фразы, данные в скобках. Example: It is late to go to school.
  3. III. ДАННЫЕ О БУДУЩЕМ КУРСЕ ИНОСТРАННОГО ЯЗЫКА
  4. Telemetry data телеметрические данные 1 страница
  5. Telemetry data телеметрические данные 2 страница
  6. Telemetry data телеметрические данные 3 страница
  7. Telemetry data телеметрические данные 4 страница

Повторение. Цикл WHILE

Преимущества цикла while перед циклом for:

1. Можно использовать даже тогда, когда неизвестно количество повторений цикла.

2. Шаг цикла может быть любым числом, в том числе и дробным.

3. В цикле можно (а иногда даже нужно) менять переменную цикла.

3. Можно запускать, так называемый бесконечный цикл “while true do…”, выход из которого можно осуществить break-ом по условию.

Пример 1. С клавиатуры вводятся целые числа до тех пор, пока не будет введен 0. Найти их сумму.

Program prim;

var s,n:integer;

begin

s:=0;

n:=10; { вообще любое число, кроме 0}

N – числа, которые мы вводим. Так как числа вводим много раз (до первого нуля), то оператор ввода readln – внутри цикла. Обратите внимание на то, что для того, чтобы цикл сработал, необходимо задать любое значение n не равное 0, например, 10 (иначе n до цикла не будет определено).  
while n<>0 do

Begin

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

readln(n);

s:=s+n;

end;

writeln('Сумма S=',s);

end.

 

Пример 2: Найти сумму цифр заданного натурального числа N.

Program primer1;

Var n,p,s:integer;

Begin

write(‘Введите натуральное число’);

readln(n);

s:=0;

while n<>0 do

begin

p:=n mod 10; { находим последнюю цифру числа N }

s:=s+p; { прибавляем найденную цифру к имеющейся сумме }

n:=n div 10; { откидываем использованную цифру от числа }

end;

writeln (‘Сумма цифр=’, s);

End.

Напоминание: Для накопления некоторой величины используют следующие операторы (как правило в цикле):

Начальное значение (определить до цикла) Оператор (в теле цикла) Что делает
s:=0; s:=s+a; накопление суммы
p:=1; p:=p*a; накопление произведения
k:=0; k:=k+1; накопление количества (счетчик)

 

Классика жанра – алгоритм Евклида:

Алгоритм Евклида. Простой вариант Program Evklid_1; Var a,b,nod:integer; Begin write(‘Введите два целых числа’); readln(a,b); while a<>b do if a>b then a:=a – b else b:=b – a; nod:=a; { Или nod:=b; } writeln(‘НОД=’, nod); End.
Алгоритм Евклида. Улучшенный вариант Program Evklid_2; var a,b,nod:integer; Begin write(‘Введите два целых числа’); readln(a,b); while (a<>0) and (b<>0) do if a>b then a:=a mod b else b:=b mod a; if a<>0 then nod:=a else nod:=b; writeln(‘НОД=’, nod); End.

 

 

Задачи для решения

1) Дана непустая последовательность любых чисел, оканчивающаяся нулем. Найти:

a) среднее арифметическое всех чисел последовательности;

b) количество всех чисел последовательности.

 

2) Будем называть число красивым, если сумма его цифр делится на количество цифр в нем.

Дано целое число N (1 <= N <= 100 000). Будет ли это число являться красивым?

Входные данные

Вход Выход
    NO
    YES

целое число N. (1 <= N <= 100 000)

Выходные данные

вывести «YES», если число являться красивым; вывести «NO», если число красивым не является.

3) Двоечник Петя получил задание по математике на лето по теме дроби. Все лето он пробегал на улице. А завтра Марье Ивановне нужно нести задания на проверку. Напишите программы, которые помогут Пете:

а) сократить дробь p/q (p, q – натуральные числа < =2000000000)

б) привести дроби p/q и m/n к наименьшему общему знаменателю
(p, q, m, n – натуральные числа < 32000)

НОК(a,b)=a*b/НОД(a,b)

 

4) В преддверии предстоящего праздника (в воскресенье День учителя) у всех учителей особенно благодушное настроение. Добрейшая учительница математики Мария Ивановна устроила детям подарок: «Я поставлю десятку всем, кто выучит наизусть первые тридцать трехзначных простых чисел». Помогите детям: выведите в файл prosto30.txt первые тридцать простых чисел.

 

5) Дано натуральное число. Установить, является ли последовательность его цифр при просмотре их справа налево упорядоченной по возрастанию. Например, для числа 5321 ответ положительный, для чисел 7820 и 9663 - отрицательный и т. п.

--------------------- для шустриков ---------------------

 

6) Если сложить все цифры некоторого целого неотрицательного числа, затем все цифры только что найденной суммы и так продолжать далее, то получится однозначное число, которое называется цифровым корнем первоначального числа.

Вход Выход
   

Входные данные:

с клавиатуры вводится натуральное число не больше 2 000 000 000.

Выходные данные:

цифровой корень этого числа.

 

7) Волшебник Мерлин продает волшебные мечи принцам, желающим убить дракона. Основная характеристика меча – число драконьих голов, которые он срубает за удар. Основная характеристика дракона – число голов, которые он может отрастить за сеанс регенерации. Бои принцев с драконами всегда протекают одинаково – принц атакует, и прячется за щитом; дракон атакует огненным дыханием и регенерирует; так продолжается до тех пор, пока после очередного удара у дракона не кончатся головы. Ясно, впрочем, что не каждым мечом можно победить каждого дракона. Заказ, поступающий Мерлину, всегда содержит число голов дракона и скорость его регенерации. Подсчитайте по известной атакующей силе меча, сможет ли принц убить такого дракона таким мечом и, если да, то сколько ударов потребуется.


Дата добавления: 2015-11-13; просмотров: 186 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Неполадки в работе кнопок и их устранение| История одной вещи.

mybiblioteka.su - 2015-2024 год. (0.008 сек.)