Как написать программу с циклом

Do until условие
Тело цикла
Loop
Разберем более подробно:
Первая строка определяет условие выполнения цикла. В случае с циклом while условие должно быть истинно, чтобы цикл выполнялся, в случае с циклом until — ложно. Например:
Do while x>3
Этот цикл будет выполняться до тех пор, пока переменная х будет больше 3. Если она станет меньше или равна трем, то цикл завершится.
Do until x 3
Формируем условие цикла. Согласно условию задачи, программа должна выполняться, пока введенное число больше 3.
print a
Согласно условию задачи, программа должна выводить все результаты, пока они больше 3.
a=a3
С помощью целочисленного деления (Напоминаю: «/» — обычное деление, «» — целочисленное) и операции переприсваивания поделим число на 3.
Loop
Конец цикла.

Ту же самую программу можно составить и с помощью цикла until:
dim a as long
Объявим переменную, которую будет вводить пользователь. Эта переменная может принимать целочисленные значения, согласно условию задачи.

Паскаль с нуля [ч6]. Циклы. While, repeat-until, for.


input a
Еще один призыв архангела
do until a
В этом случае наша программа будет выглядеть следующим образом:
dim a as long
Объявим переменную, которую будет вводить пользователь. Эта переменная может принимать целочисленные значения, согласно условию задачи.
input a
Призовем архангела справедливости Тираэля (Вы действительно думали, что я буду пояснять значение этой команды в 100001й раз?)
while a>3
Формируем условие цикла. Согласно условию задачи, программа должна выполняться, пока введенное число больше 3.
print a
Согласно условию задачи, программа должна выводить все результаты, пока они больше 3.
a=a3
С помощью целочисленного деления (Напоминаю: «/» — обычное деление, «» — целочисленное) и операции переприсваивания поделим число на 3.
wend
Конец цикла.

Циклы с послеусловием

Цикл с послеусловием отличается от цикла с предусловием тем, что цикл сначала выполняется, а затем проверяет соответствие условию. Таким образом, цикл с послеусловием всегда выполнится хотя бы один раз. Форма записи циклов while и until также похожа:

Цикл While

Do
Тело цикла
Loop while условие

Цикл Until

Do
Тело цикла
Loop until условие
Как мы можем видеть, проверка на соответствие условию происходит после выполнения

Пример 2

Написать программу, которая будет делить введенное пользователем целое положительное число на 3(нацело) и выводить результаты деления до тех пор, пока результат не станет меньше трех. Дополнительное условие: число, введенное пользователем всегда больше 3. Поскольку в условии прямо указано, что пользователь должен вводить число, большее 3, можно с уверенностью утверждать, что как минимум 1 раз делить придется. Следовательно, можно использовать цикл с послеусловием while:

Написание управляющей программы для токарного станка с ЧПУ стойки Fanuc,цикл G71,G70,G83,G76 Урок 1


dim a as long
Объявим переменную, которую будет вводить пользователь. Эта переменная может принимать целочисленные значения, согласно условию задачи.
input a
Призовем архангела справедливости Тираэля (Вы действительно думали, что я буду пояснять значение этой команды в 100001й раз?)
do
Нам не нужно проверять истинность условия сейчас, т.к. пользователь не мог ввести число, меньшее 3.
print a
Согласно условию задачи, программа должна выводить все результаты, пока они больше 3.
a=a3
С помощью целочисленного деления (Напоминаю: «/» — обычное деление, «» — целочисленное) и операции переприсваивания поделим число на 3.
Loop while a>3
Делай снова пока а>3. Если же это условие не выполнится — цикл завершит свою работу.

Ту же самую программу можно составить и с помощью цикла until:
dim a as long
Объявим переменную, которую будет вводить пользователь. Эта переменная может принимать целочисленные значения, согласно условию задачи.
input a
Еще один призыв архангела
do
Нам не нужно проверять истинность условия сейчас, т.к. пользователь не мог ввести число, меньшее 3.
print a
Согласно условию задачи, программа должна выводить все результаты, пока они больше 3.
a=a3
С помощью целочисленного деления (Напоминаю: «/» — обычное деление, «» — целочисленное) и операции переприсваивания поделим число на 3.
Loop until a 50 if x=25000000 then exit Do
Loop

Задание 1. Определить, какое количество повторений совершит цикл:

x=1749375
do while x>0
x=x10
loop

Рассмотрим работу цикла пошагово. Изначально переменная х равна 1749375, т.е. больше нуля. Следовательно, цикл будет выполнятся.
После первого шага переменная х будет равна 174937510, т.е. x=174937. Это число больше нуля, значит — цикл запустится во второй раз.
После второго шага переменная х будет равна 17493710, т.е. x=17493. Это число больше нуля, значит — цикл запустится в третий раз.
После третьего шага переменная х будет равна 1749310, т.е. x=1749. Это число больше нуля, значит — цикл запустится в четвертый раз.
После четвертогого шага переменная х будет равна 174910, т.е. x=174. Это число больше нуля, значит — цикл запустится в пятый раз.
После пятого шага переменная х будет равна 17410, т.е. x=17. Это число больше нуля, значит — цикл запустится в шестой раз.
После шестогого шага переменная х будет равна 1710, т.е. x=1. Это число больше нуля, значит — цикл запустится в седьмой раз.
После седьмого шага переменная х будет равна 110, т.е. x=0(да-да, если разделить 1 на 10 нацело, то получим 0 целых и 1 в остатке). Это число не больше нуля, значит — цикл больше не запустится.
Ответ: цикл выполнится 7 раз

Задание 2. Изменить представленную программу таким образом, чтобы в ней использовался цикл until:

x=1749375
do while x>0
x=x10
loop

x=1749375
do until x 0. Следовательно, она завершит работу когда х станет меньше или равно 0.
x=x10
loop

Источник: savantheon.ru

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

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

Читайте также:
Характеристика рабочей программы по обществознанию

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.

Получите невероятные возможности

1. Откройте доступ ко всем видеоурокам комплекта.

2. Раздавайте видеоуроки в личные кабинеты ученикам.

3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ

Конспект урока «Программирование циклов: циклы с заданным условием продолжения и окончания работы»

· Циклы с предусловием.

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

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

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

Блок-схема цикла с предусловием

Посмотрим, как программируется цикл с предусловием на языке Pascal. Для этого есть оператор цикла с предусловием. Его запись начинается со служебного слова while. После него следует условие продолжения работы цикла, оно записывается по тем же правилам что и в условном операторе. После условия цикла через пробел следует служебное слово do.

На русский язык эту строку можно перевести: «Пока выполняется условие – делай». На следующей строке на расстоянии одного пробела от служебного слова while следует тело цикла. Оно может содержать один или несколько операторов. Если тело цикла содержит больше одного оператора, оно записывается между логическими скобками, то есть служебными словами begin и end. После слова end следует точка с запятой.

Описание цикла с предусловием

Задача: Написать программу, которая определяет, есть ли среди цифр натурального числа n цифра k. n и k вводятся с клавиатуры. 1 ≤ n ≤ 2 000 000 000.

Для решения задачи мы будем проверять правую цифру числа n, в случае если она не равна k мы будем убирать эту цифру. Так будет продолжаться до тех пор, пока мы не найдём цифру равную k или пока цифр не останется.

Напишем программу для решения задачи. Назовём её цифра. Для работы программы нам потребуются переменные n и k. Т. к. 1 ≤ n ≤ 2 000 000 000, зададим n принадлежащим к типу integer. Так как переменная k будет хранить всего одну цифру, то есть будет принимать значения в диапазоне от 0 до 9, для её хранения нам будет достаточно типа byte.

Напишем логические скобки. В начале тела программы будет следовать оператор writeln, который будет выводить на экран сообщение о том, что это программа поиска цифры k в натуральном числе n. После него будет следовать оператор write, выводящий на экран запрос на ввод n и оператор readln, считывающий его значение. Затем будут следовать те же операторы для k.

Теперь запишем оператор цикла с предусловием while. Условием продолжения работы цикла будет: n > 0 and n mod 10 <> k. Запишем служебное слово do. Так как тело цикла будет содержать всего один оператор, логические скобки не требуются. Это будет оператор присваивания переменной n:=n div 10.

После цикла запишем условный оператор, который проверяет условие n > 0. После служебного слова then в этом условном операторе будет следовать оператор write, выводящий на экран сообщение о том, что цифра k присутствует в числе n. После служебного слова else запишем оператор write, выводящий на экран сообщение о том, что цифра k отсутствует в числе n.

program cifra;

writeln (‘Программа, определяющая присутствие цифры k в натуральном числе n.’);

while (n>0) and (n mod 10<>k) do

n:=n div 10;

then write (‘k присутствует в n.’)

else write (‘k отсутствует в n.’);

Программа для решения задачи

Запустим программу на выполнение. Зададим n = 7085 и k = 8. Цифра 8 действительно присутствует в числе 7085.

Снова запустим программу на выполнение и зададим n = 123, а k = 4. В числе 123 действительно нет такой цифры.

Программа работает правильно. Задача решена.

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

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

Блок-схема цикла с постусловием

На языке Паскаль цикл с постусловием записывается с помощью оператора repeat. В его начале записывается служебное слово repeat. После этого служебного слова со следующей строки, на расстоянии одного пробела от него, следует тело цикла, состоящее из одного или нескольких операторов. После тела цикла на одном уровне со служебным словом repeat следует служебное слово until, после которого через пробел следует условие завершения работы цикла, а после него следует точка с запятой. Важно запомнить, что при записи цикла с постусловием служебные слова repeat и until выполняют роль логических скобок, то есть даже если тело цикла состоит из нескольких операторов, слова begin и end записывать не требуется.

Описание цикла с постусловием

Задача: Написать программу, которая выводит количество шагов необходимых для подтверждения гипотезы Коллатца, для заданного натурального числа n. Число n вводится с клавиатуры и находится на промежутке от 2 до 10 000. Для заданного промежутка чисел эта гипотеза уже подтверждена.

Рассмотрим гипотезу Коллатца. Она названа по имени математика, который её выдвинул. Возьмём любое натуральное число. Если оно чётное – разделим его на 2. Если же число нечётное – умножим его на 3 и прибавим 1. Повторим эти же действия над результатом и так далее… Гипотеза Коллатца заключается в том, что какое бы натуральное число мы не взяли изначально, через некоторое количество шагов в результате мы получим 1.

Составим блок-схему алгоритма решения задачи. В начале программы мы считаем число n, введённое пользователем. После этого переменной которая считает количество шагов – назовём её step – присвоим значение 0, так как ни одного шага ещё не было сделано. Запишем условный оператор, который будет проверять является ли число n чётным.

Читайте также:
Ошибка 0xc000007b при запуске игры или программы решение

Для того чтобы это проверить нужно вычислить остаток от его деления на 2. Если он равен нулю, то число является чётным, следовательно, мы должны разделить его на 2, то есть присвоить переменной n её собственное значение, делённое на 2. В противном случае, если остаток от деления n на 2 не равен нулю, то число является нечётным, и мы умножим его на 3 и прибавим к нему 1. После мы должны увеличить значение счётчика шагов – step на 1. Теперь запишем блок ветвления с условием подтверждения гипотезы, то есть n = 1. Если это условие не выполняется, нам необходимо выполнить ещё один шаг вычислений, то есть мы вернёмся к выполнению предыдущего блока ветвления. Если же n равно единице, то гипотеза подтверждена и цикл завершит свою работу. После завершения работы цикла, мы должны вывести на экран количество шагов – значение переменной step. На этом наш алгоритм завершит свою работу.

Блок-схема алгоритма решения задачи

Напишем программу по составленной блок-схеме. Назовём её collatz. Для работы программы нам потребуется 2 переменные: n и step, так как это натуральные числа и n находится на промежутке от 2 до 10 000 – они будут принадлежать к целочисленному типу integer.

Запишем логические скобки. Тело программы будет начинаться с оператора writeln, который будет выводить на экран поясняющее сообщение о том, что это программа расчёта количества шагов для подтверждения гипотезы Коллатца для натурального числа n. Дальше будет следовать оператор write, выводящий на экран запрос на ввод n.

Теперь запишем оператор readln, считывающий значение n. Далее будет следовать оператор присваивания переменной step значение 0. Теперь запишем оператор цикла с постусловием repeat. И сразу запишем служебное слово until с условием завершения работы цикла – n = 1. Между служебными словами repeat и until запишем условный оператор if с условием: n mod 2 = 0 После служебного слова then запишем оператор присваивания n:=n div 2. После слова else запишем оператор присваивания переменной n её значения умноженного на 3 и увеличенного на 1. После условного оператора увеличим значение переменной step на 1. После цикла напишем оператор write, который будет выводит на Экран сообщение о том, что для подтверждения гипотезы Коллатца для заданного n потребовалось количество шагов равное значению переменной step.

program collatz;

writeln (‘Программа расчёта количества шагов для подтверждения гипотезы Коллатца для натурального числа n.’);

if n mod 2=0

then n:=n div 2

write (‘Для подтверждения гипотезы Коллатца для заданного n потребовалось ‘, step, ‘ шагов.’);

Программа для решения задачи

Запустим программу на выполнение и введём n=19. Гипотеза для числа 19 действительно подтверждается через 20 шагов.

Снова запустим программу на выполнение и введём n=3. Для числа 3 гипотеза действительно подтверждается через 7 шагов.

Программа работает правильно задача решена.

Важно запомнить:

· Цикл с предусловием на языке Pascal записывается так:

· Тело цикла с предусловием выполняется, после проверки его условия, и повторяется до тех пор, пока выполняется условие цикла.

· Если условие цикла изначально ложно, то тело цикла с предусловием при работе программы не будет выполнено ни разу.

· Цикл с постусловием на языке Pascal записывается так:

· Тело этого цикла начинает выполняться до проверки его условия и повторяется до тех пор, пока не выполняется условие цикла.

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

Источник: videouroki.net

Циклы

Осваивайте профессию, начните зарабатывать, а платите через год!

Курсы Python Ак­ция! Бес­плат­но!

Станьте хакером на Python за 3 дня

Веб-вёрстка. CSS, HTML и JavaScript

Курс Bootstrap 4

Станьте веб-разработчиком с нуля

Цикл заставляет интерпретатор JavaScript многократно выполнять один и тот же блок кода, называемый телом цикла. Каждое отдельное исполнение инструкций в теле цикла называется итерацией. В JavaScгipt доступны четыре инструкции циклов: while , do/while , for и for/in .

Цикл while

Инструкция while (англ. до тех пор, пока) создает цикл с предусловием. В скобках после слова while указывают некоторое логическое выражение или значение. Цикл начнется если значение этого выражения равно true и будет работать до тех пор, пока это условие не обратится в false . Общий синтаксис этого цикла выглядит так:

while (условие)

Циклы while|for

Следующий цикл while исполняется, пока значение переменной i меньше 3:

Выполнить код » Скрыть результаты

После окончания третьей итерации условие i true :

while (true)

Это общепринятый способ создания бесконечного цикла. В прочих случаях (к примеру, если в рассмотренном нами примере убрать в коде i++) возможен вариант (в теории) создания бесконечного цикла. На практике, браузер выведет сообщение о «зависшем» скрипте и посетитель его остановит.

Цикл do. while

Инструкция do. while (англ. делай до тех пор, пока) отличается от цикла while тем, что в do. while сначала выполняется тело цикла, а затем проверяется условие продолжения цикла. Из-за такой особенности do. while называют циклом с постусловием. Таким образом, если условие do. while заведомо ложное, то хотя бы один раз блок операторов в теле цикла do. while всё равно выполнится.

Инструкция do. while представляет собой конструкцию из двух операторов, используемых совместно. Синтаксис этой конструкции следующий:

do < // тело цикла >while (условие);

Пример do. while:

Выполнить код » Скрыть результаты

Этот цикл продолжается, пока переменная i меньше 4. Она равна 0 в начале цикла и увеличивается на 1 на каждой итерации.

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

Цикл for

Инструкция for – это вариант цикла с предусловием, который состоит из трех необязательных выражений, заключенных в круглые скобки и разделенных точками с запятой, за которым следует оператор (обычно оператор блока), который должен выполняться в цикле. Она имеет следующий синтаксис:

for (инициализация; выражение; обновление) < // . тело цикла . >

  1. Инициализация. Присваивается первоначальное значение переменной, обычно – счетчика. Выполняется только один раз в начале выполнения оператора. Областью действия этой переменной будет тело цикла.
  2. Выражение – булево выражение, которое вычисляется на каждой итерации цикла. Представляет собой условие продолжения работы оператора цикла. После того, как значение счетчика достигнет указанного предела, цикл завершится.
  3. Обновление – это значение, на которое будет увеличиваться или уменьшаться счетчик цикла. Вычисляется по завершении каждой итерации цикла. Чтобы оно было полезным, как и выражение инициализации, оно должно иметь побочные эффекты. В общем случае таким побочным эффектом служит операция присваивания, инкремента или декремента.
Читайте также:
Какая программа открывает fla

Пример цикла for:

Выполнить код » Скрыть результаты

  1. Инициализация: Переменная-счетчик, в данном случае х, инициализируется значением 1. Выполняется один-единственный раз, при заходе в цикл.
  2. Выражение:x true → тело цикла → обновление (x++)) → (если условие выражения true → тело цикла → обновление (x++)) → … и так далее, пока верно условие – x Скрыть результаты

Использование for без блоков

Все три выражения в заголовке цикла for являются необязательными.

Например, в блоке инициализации не требуется инициализировать переменные. Цикл в примере ниже полностью идентичен приведённому выше:

Выполнить код » Скрыть результаты

Как и блок инициализации, блок выражения также не является обязательным. Если вы опускаете выражение, то вы должны обязательно разбить цикл в теле, чтобы не создавать бесконечный цикл:

Выполнить код » Скрыть результаты

Можно опустить все три блока. Для избежания зацикливания используйте break для завершения цикла, а также изменяйте (увеличивайте или уменьшайте) переменную-счётчик, так чтобы условие для оператора break в какой-то момент сработало:

Выполнить код » Скрыть результаты

Примечание: Любое из выражений в цикле for может отсутствовать, однако сами точки с запятой обязательно должны присутствовать, иначе будет синтаксическая ошибка.

Цикл for. in

Цикл for. in используется для перебора всех свойств из объекта в случайном порядке и имеет следующий синтаксис:

for (variable in object) < инструкция /* . делать что-то с object[variable] . */ >

В качестве nеременной (variable) можно подставить имя переменной или инструкцию var, объявляющую одну переменную. Переменной перед началом каждой итерации цикла присваивается в виде строки имя одного из свойств объекта.

Как и в цикле for, оператор var здесь не обязателен, но его рекомендуется использовать, чтобы переменная была локальной. Справа от ключевого слова in указывается объект, свойства которого будут перебираться циклом. Если переменная, представляющая объект, будет иметь значение null или undefined цикл не выполнится ни разу. И как обычно, инструкция – это инструкция или блок инструкций, образующих тело цикла.

Пример итерации по свойствам объекта:

Выполнить код » Скрыть результаты

Как отмечалось ранее, если имя свойства хранится в переменной, то обратиться к нему можно только через квадратные скобки (myCar[prop]), а не через оператор «точка».

Свойства объектов в JavaScript не упорядочены, поэтому порядок возврата их имен в цикле for. in предсказать сложно. Все перечислимые свойства будут возвращены, но порядок их вывода может зависеть от браузера.

Согласно стандарта ECMAScript, если имя свойства – нечисловая строка, то такие свойства всегда перебираются в том же порядке, в каком присваивались. Так получилось в примере выше при выводе свойств объекта myCar. С другой стороны, если в качестве имени свойства выступает число или строка, которая может быть преобразована в числовой фомат, то браузеры осуществлят сортировку таких свойств в целях внутренней оптимизации. Вывод таких имен свойств объекта не будет соответствовать их оригинальному расположению.

Вложенные циклы

Цикл внутри другого цикла называется вложенным. Вложенность циклов формально не ограничивается, однако нужно быть предельно осторожным, чтобы не допустить зацикливания. При каждой итерации внешнего цикла вложенный цикл выполняется полностью. Вложенные циклы можно создавать с помощью инструкции for и инструкции while .

Пример вложенного цикла:

Выполнить код » Скрыть результаты

Теперь попытаемся разобраться, как это работает. Первый (внешний) цикл после каждой итерации увеличивает значение переменной i, а второй (внутренний) – переменной j. За одну итерацию внешнего цикла внутренний выполняется девять раз. По условию (i switch и передает управление операторам, следующим за ними.

В следующем примере создаётся счётчик, значения которого должны изменяться от 1 до 99 , однако оператор break прерывает цикл после 4 итераций:

Выполнить код » Скрыть результаты

Для вложенных циклов оператор break используется с меткой, с помощью которой завершается работа «меченой» инструкции. Метка позволяет выйти из любого блока кода. Метка имеет вид «имя_метки:» , имя должно быть уникальным. Она ставится перед циклом или блоком инструкций, которые нужно завершить с помощью break :

Выполнить код » Скрыть результаты

В теле цикла инструкция if с помощью оператора (%) проверяет, является ли число четным. Если да, итерация цикла завершается до увеличения переменной num , но цикл продолжается со следующей итерации со значением i , увеличенным на единицу. Затем цикл выполняется до естественного завершения при значении i , равном 10. Переменная num подсчитывает количество итераций цикла. Окончательное значение num равно 5, а не 9, потому что четные операции инкремента пропускаются из-за оператора continue .

Оператор continue , как и break , можно использовать вместе с «помеченными» инструкциями для возврата к конкретному месту в коде. Чаще всего это делается во вложенных циклах, например:

Выполнить код » Скрыть результаты

В этом примере для внешнего цикла for добавлена метка outer_mask. Каждый цикл включает 5 итераций, то есть инструкция num++ предположительно должна быть выполнена 25 раз, после чего переменная num должна быть равна 25. Оператор continue завершает выполнение внутреннего цикла, начиная новую итерацию внешнего. Она выполняется, когда j равно 3, то есть пропускаются две итерации внутреннего цикла, из-за чего num в итоге имеет значение 23.

Задачи

Число «задом наперед»

Пользователь вводит целое число. Напишите код, который выведет число, обратное по порядку составляющих его цифр введенному. Например, введено 9876, надо вывести 6789. Решите задачу через цикл while.

  1. Найдем остаток от деления на 10 исходного числа num1 . Получим его последнюю цифру digit .
  2. Добавим эту цифру к новому числу num2 .
  3. Разделим нацело на 10 исходное число num1 и округлим до целых. Тем самым избавимся от последней цифры в нем. Полученное число сохраним в num1 .
  4. Снова найдем остаток от деления на 10 того, что осталось от первого числа num1 . Запомним эту цифру.
  5. Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в разряд десятков.
  6. Добавим к полученному второму числу запомненную ранее цифру digit из первого числа.
  7. Будем повторять перечисленные действия пока исходное число не уменьшится до нуля, т.е. пока не избавимся от всех его разрядов.

Источник: www.wm-school.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru