Примеры программ на цикла с параметром

В прошлом уроке мы познакомились с понятием цикла в программировании и разобрали два вида из них – цикл с предусловием и постусловием. Я постарался максимально доступно описать, как пользоваться ими.

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

Помните аналогию с отжиманиями? Нам там нужно было отжаться 30 раз. Иными словами, мы знаем количество отжиманий наперед, поэтому нам выгоднее использовать цикл с параметром.

Его синтаксис такой:

for (начальное значение цикла (с возможным объявлением;условие;приращение)

Если несколько выражений

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

int i=0; for (; i < 30;i++,Console.WriteLine («Вы сделали отжиманий»,i));

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

Цикл с параметром | Информатика Паскаль #13 | Инфоурок

Итак, давайте рассмотрим, что мы сделали. Обратите внимание на то, что я объявил переменную i вне скобок for. Я это сделал для того, чтобы можно было использовать i уже дальше в программе. Сейчас время сделать маленькое лирическое отступление.

Дело в том, что в сишной программе переменная будет делиться так или иначе на две группы – локальные и глобальные. Хотя в C# глобальных переменных нет (если сравнивать их с аналогиями в C++ и C), тем не менее, есть такие переменные, которые можно использовать в любом месте вашего класса. Это так называемые члены- класса. Более подробно мы это рассмотрим, когда будем изучать ООП.

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

Если вам это пока непонятно, то вам стоит подождать, когда я буду писать о стеке.

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

for (int i=0; i<30;i++); Console.WriteLine (i);

Уроки 2, 3. Цикл с параметром

Пример 1. Сто раз написать свое имя на экране в строчку

Программа: Program Z_1; Var i: integer; Begin For i: = 1 to 100 do Write (‘Имя ’); Readln End. Пример 2.Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту, для значений от 15 до 30, шаг 1 градус. Формула перевода из Цельсия в ФаренгейтыF=(c*1.8)+32. ProgramZ_2; Var c: integer; F: real; Begin For c: = 15 to 30 do begin f:= (c*1.8) +32; writeln (c,’ ‘,f); end; Readln End.

Python. Цикл с параметром

Пример 3. Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел в обратном порядке Program Z_3; Var x,y,i: integer; Begin Writeln(‘таблица квадратов нечетных чисел’); Writeln(‘————————-‘); Writeln(‘число’, ,’квадрат числа’); Writeln (‘————————-‘); For i: = 5 downto 1 do begin y:= sqr (x) writeln (x,y,); end; Writeln(‘————————-‘); Readln End. Самостоятельная работа. Ребята за компьютерами решают следующие задачи:

Проверить, является ли целое число простым. Uses crt; Var n,i:integer; Begin Readln(n); For i:=2 to n-1 do If n mod i =0 then begin writeln(n,’не простое’);readkey; halt;end; writeln (n, ‘простое’); readkey; end.
Написать программу, которая выводит на экран табл. умножения, например на 7. Uses crt; Var m,n,p:integer; Begin For i:=1 to 10 do Writeln(7,’*’,I:2,’=’,7*I:2); Readkey; end.
Написать программу, которая выводит табличные значения функции у=x+2. Диапазон изменения аргумента от – 4 до 4, приращение аргумента — 0.5 uses crt; var x,y:real; begin; clrscr; writeln(‘y’:20,’ : ‘,’x’:5); writeln(‘ —————‘); x:=-4; repeat y:=abs(x)+2; writeln(y:20:1,’ : ‘,x:5:1); x:=x+0.5; until x>4; readkey; end.
Написать программу, которая определяет максимальное число из введенной последовательности положительных чисел. Завершение ввода – 0. Uses crt; Var a, m:integer; Begin M:=0; Repeat Writeln(‘введи число’);Readln(a); If a>m then m:=a; Until a=0; Writeln(‘max=’,m); Readkey; end.
Написать программу, которая позволяет найти наибольший общий делитель двух целых чисел program nod; uses crt; var n1,n2,nod: integer; begin clrscr; writeln (‘Введите два целых числа’); readln (n1,n2); while n1<>n2 do if n1>n2 then n1:=n1-n2 else n2:=n2-n1; nod:=n1; writeln ‘Наибольший общий делитель -‘,nod); readkey;end.
Написать программу, которая позволяет найти наименьшее общее кратное двух целых чисел program nok1; uses crt; var nok,n1,n2:byte;i:word; begin clrscr; writeln(‘введите два числа’); readln(n1,n2); nok:=1; for i:=n1*n2 downto 2 do if (n1 mod i=0) and (n2 mod i=0) then nok:=i; write(‘NOK -‘,nok); readkey;end.

Домашнее задание: Написать программу, которая выводит табличные значения функции у=х 2 +2. Диапазон изменения аргумента от – 4 до 4, приращение аргумента 1 Урок 4, 5. Цикл с предусловиемЦель урока: изучить оператор цикла WHILE языка программирования Pascal, синтаксис, семантику, а также научить учащихся использованию данного оператора при решении задач. Задачи урока:

  • образовательные:
  • усвоение учащимися оператора цикла с предусловием и области его применения;
  • формирование умений и навыков записи оператора WHILE на языке программирования Pascal;
  • выработка навыков составления программ, реализующих циклические алгоритмы при решении задач;
Читайте также:
Как перенести установленные программы с диска с на диск д
  • развивающие:
    • развитие логического и алгоритмического мышления учащихся;
    • развитие у учащихся познавательной активности;
    • развитие памяти и внимания;
    • развитие коммуникационной компетентности у учащихся;
    • формирование у учащихся компьютерной грамотности и потребности в приобретении знаний;
    • воспитательные:
      • привитие учащимся навыков самостоятельной работы;
      • воспитание бережного отношения к компьютерной технике;
      • воспитание толерантности.
      • Тип урока: урок изучения нового материала. Формы и методы обучения: словесный, наглядный, практический, проблемный – фронтальный опрос, мозговой штурм, индивидуальная работа, работа на компьютере. Оснащение урока: компьютерная презентация «Оператор цикла WHILE», мультимедийный проектор, компьютеры с инсталлированным на них пакетом Turbo Pascal, дидактический раздаточный материал. План урока

        1. Оргмомент. Проверка домашнего задания
        2. Вводное слово
        3. Актуализация знаний и умений учащихся
        4. Презентация нового материала
        5. Закрепление изученного материала
        6. Работа на компьютерах
        7. Заключение Задание на дом

        Ход урока2. Вводное слово.Подавляющее большинство задач с циклами можно решать разными способами, используя при этом один из трех операторов цикла. Часто решения, использующие различные операторы цикла, оказываются равноценными. В некоторых случаях все же предпочтительнее использовать какой-то один из операторов.

        Сегодня на уроке мы познакомимся с одним из таких операторов — оператором цикла WHILE. Цикл, который реализуется данным оператором, называют также циклом с предусловием. Почему это так, в каких случаях применяется данный оператор, и каков формат записи этого оператора вы узнаете не сегодняшнем уроке. 3.Актуализация знаний и умений учащихся.Актуализация знаний и умений учащихся осуществляется во время фронтального опроса, в ходе, которого им предстоит ответить на следующие вопросы:

        1. Дайте определение циклического алгоритма.
        2. Перечислите основные структуры циклического алгоритма.
        3. Приведите примеры циклических алгоритмов.
        4. Запишите формат оператора цикла с параметром, цикла FOR.
        5. Расскажите, как выполняется оператор цикла FOR.
        6. Что следует знать, используя, оператор цикла FOR.
        7. Чему будет равен x после выполнения инструкций?

        X:=0; For i:= -5 to 0 do N:=i*i; X:=X+N;

        1. Что будет выведено на экран в результате выполнения инструкций?

        N:=5; X:=0; For i:=1 to N do X:=i; Writeln(X); 9.Сколько звездочек будет выведено на экран в результате выполнения инструкций? For i:=1 to 5 do For j:=1 to 5 write (‘*’); 4. Презентация нового материала.Решите следующую задачу: Распечатать квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0,2.

        Решая поставленную задачу, в процессе рассуждений учащиеся должны сделать вывод о том, что изученный ими ранее оператор цикла с параметром (оператор FOR) не позволяет решить задачу, поскольку он изменятся с шагом 1 или -1. Учащиеся предполагают, что для решения поставленной задачи им нужно использовать какой-то другой оператор цикла. Для этого учащимся предлагается прослушать интерактивный учебный курс «Основы программирования на Turbo Pascal» – Введение в Turbo PascalОператор цикла While, составить опорный конспект – записать формат и блок-схему оператора в тетрадь и ответить на вопросы:

        1. В каких случаях используется оператор цикла WHILE?
        2. Почему цикл, записанный с помощью оператора WHILE, называют циклом с предусловием?
        3. Можно ли данный оператор цикла назвать универсальным?

        Принцип выполнения оператора WHILE и примеры решения некоторых задач (включая задачу о квадратах чисел, предложенную учащимся для решения в начале рассмотрения темы) учитель демонстрирует в презентации «Оператор цикла WHILE»:

        WHILEУсловие выполнения циклаDOТело цикла

        Оператор цикла WHILE состоит из заголовкаителацикла. Ключевые словаWHILE и DOобозначают «до тех пор, пока» и «выполняй» соответственно. Проверка условия выполнения цикла производится в самом начале оператора – если значение условия истинно, то выполняется тело цикла и снова вычисляется выражение условия выполнения цикла. Так продолжается до тех пор, пока значение условия выполнения цикла не станет ложным. Следует знать:

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

        Вернемся к задаче – распечатать квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0,2. Составим блок-схему и программу решения задачи:

        var k, s : integer; begin s := 0; while s

        Рассмотрим следующую задачу: для проверки физического развития проверяют рост школьников. Составьте программу, запрашивающую рост очередного школьника и вычисляющую после завершения медосмотра средний рост прошедших осмотр. Количество школьников, подлежащих медосмотру заранее не известно. Решение.

        Чтобы получить средний рост С, надо знать количество школьников К и их суммарный рост S. Для вычисления величин K и S воспользуемся циклом WHILE. Однако, здесь возникает проблема, какое условие следует выбрать для завершения цикла.

        Проще всего договориться – в конце рабочего дня в ответ на запрос о росте школьника ввести какое-либо фиктивное значение, например, 0. var k, s, r : integer; c : real; begin s := 0; k := 0; write (‘введите рост школьника’); readln (r); while r <> 0 do begin k := k + 1; s := s + r; write (‘введите рост школьника’); readln (r); end; c := s/k; writeln (‘средний рост школьников’,c) readln; end. 5. Закрепление изученного материала.Для закрепления изученного материала учащимся предлагается выполнить комментированные упражнения. Комментирование действий помогает учителю обнаруживать типичные ошибки и вносить коррективы в действия учеников. Составьте блок-схему и программу решения задач:

        1. Распечатать произведения чисел А и В, изменяющихся от 17 и -25 с шагом -3 и 5 соответственно до тех пор, пока это произведение – отрицательное число.
        2. Сколько слагаемых должно быть в сумме 1 + ½ + 1/3 + …+ 1/N, чтобы сумма оказалась больше 5.
        Читайте также:
        Программа для взлома машины

        6. Работа на компьютерах.Для самостоятельной работы на компьютере учащимся предлагаются три варианта заданий. Вариант 1.

        1. Температура С в градусах Цельсия изменяется от 0 до 100 с шагом 5. Напечатать таблицу перевода температуры из градусов Цельсия в градусы Фаренгейта (F). Формула перевода: F = 1,8 C + 32. Составьте блок-схему и программу решения задачи.
        2. Составьте таблицу значений функции y = 5x – 2 на отрезке [1; 20] с шагом b = 2.
        3. *В первый день пловец проплыл 3 км. В каждый следующий день он проплывал на 10% больше, чем в предыдущий.
        • а) В какой по счету день пловец начнет проплывать более 5 км?
        • б) К какому дню он суммарно проплывет более 30 км?

        Вариант 2.

        1. Напечатать таблицу соответствия между весом в фунтах и весом в кг для значений от 1 до 10 фунтов с шагом 0,5 фунта. Формула перевода: 1 фунт = 400 г. Составьте блок-схему и программу решения задачи.
        2. Составьте таблицу значений функции y = 5×2 – 2x + 1 на отрезке [-5; 5] с шагом b = 2.
        3. *Урожай яблок в 1990 году составил 20 тонн. Далее каждые два года урожай уменьшался на 20%.
        • а) Начиная с какого года, будет собрано менее 5 тонн?
        • б) В каком году суммарный урожай яблок превысит 90 тонн?

        Вариант 3.

        1. Напечатать таблицу перевода расстояний из дюймов в сантиметры для значений от 1 до 10 дюймов с шагом 0,5 дюйма. Формула перевода: 1дюйм = 2,54 см.
        2. Составьте таблицу значений функции y = 4×2 – 5x – 10 на отрезке [-9; 9] с шагом b = 3.
        3. *Концентрация хлорной извести в бассейне V м3 составляет 10 г/л. Через одну трубу в бассейн вливают чистую воду со скоростью Q м3/час, через другую трубу с такой же скоростью вода выливается. При условии идеального перемешивания концентрация хлорной извести изменятся по закону C = C0e-Qt/V , где t – время, C0 – начальная концентрация.
        • а) Определить, через какое время концентрация хлорной извести в бассейне достигнет безопасной для человека величины. Задачу решить при Q = 150 м3/час, V = 10000 л, C0 = 10 г/л, t изменяется с шагом 0,5.
        • б) Напечатать таблицу изменения концентрации хлорной извести для интервала времени от 0 до 5 часов с шагом 0,5 часа.

        7. Заключение.Подводятся итоги уроки, анализируется и оценивается работа каждого ученика.

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

        Программирование. Циклы с параметром

        Особенное место в Turbo Pascal занимают циклы. Их начинают изучать сразу же после отработки навыков ввода-вывода информации на экран. Ведь большинство задач сводится к тому, что циклы с параметром и другие конструкции помогают облегчить написание и функционирование определенного блока программы.

        циклы с параметром

        Разновидности циклов

        Всего различают три разновидности:

        • с параметром,
        • с предусловием,
        • с постусловием.

        Циклы с параметром, иначе их называют For … to … do или For … downto …. do, многократно повторяют определенную последовательность действий. В принципе, и другие разновидности используются с этой же целью, только в for-цикле заранее известно количество шагов.

        В двух других конструкциях (While и Repeat) количество итераций изначально неизвестно. Поэтому при изучении задания уже необходимо понимать, какой цикл будет использован.

        Основные определения по теме

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

        Понятие «циклы с параметрами» означает, что в данной конструкции проверяется условие, после чего выполняется набор итераций. Счетчик увеличивается (или уменьшается), и все повторяется. Тело цикла будет задействовано до тех пор, пока условие истинно.

        For … to … do: алгоритм работы, синтаксис

        Как уже было сказано, циклы с параметром используются в задачах, в которых указан «промежуток», в котором предстоит работать. Так, это может быть массив чисел, дней недели, строк стихотворения и т. д.

        Выделяют 2 вида конструкции: на увеличение счетчика и на его уменьшение. Первая конструкция будет прописана следующим образом:

        for исх.переменная := граница 1 to граница 2 do

        Здесь: исх. переменная объявляется пользователем в начале программы или блока; граница 1 и граница 2 – начальное и конечное значение промежутка; в теле цикла прописывается ряд действий, которые должны выполняться программой. Необходимо помнить, что если тело цикла содержит всего 1 команду, тогда операторные скобки begin…end можно опустить. В таком варианте конструкции счетчик, а именно , будет увеличиваться с шагом, равным 1.

        for исх.переменная := граница 1 downto граница 2 do

        Здесь же исх. переменная будет уменьшаться с шагом, равным 1.

        Схема работы цикла с параметром For … to … do будет выглядеть следующим образом:

        • Задается значение верхней границы промежутка, т. е. граница 2.
        • Исх.переменной присваивается значение параметра граница 1.
        • Проходит проверка условия: исх.переменная ≤ граница 2.
        • При получении результата True (Истина) выполняется тело цикла.
        • Счетчик увеличивается на шаг, равный 1.
        • Выполнение пунктов 3-5 происходит ровно до того момента, пока условие истинно: исх.переменная > граница 2. Как только это произошло, происходит выход из цикла и управление передается команде, следующей за данной конструкцией.

        В For … downto … do алгоритм работы схож с вышеуказанным, за исключением некоторых пунктов:

        • В 3-м пункте проверяется условие: исх.переменная ≥ граница 2.
        • В 5-й строчке алгоритма счетчик уменьшается на 1.
        • В 6-м пункте команды 3-5 будут выполняться до тех пор, пока не будет удовлетворено условие: исх.переменная < граница 2.
        Читайте также:
        Требования к списку литературы в программе

        циклы с параметрами

        Все остальное аналогично в обоих алгоритмах работы.

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

        Циклы с параметром имеют следующий вид блок-схемы (хотя выше она уже была представлена). Здесь же показана упрощенная организация конструкции.

        циклы с параметрами означает

        Основные требования к циклу с параметром

        Циклы с параметрами требуют определенного рода условий.

        • Счетчик и границы промежутка (т. е. исх.переменная, граница 1 и граница 2) должны принадлежать одному типу данных. Если имеется лишь совместимость между начальным и конечным значениями отрезка и исходной переменной, то программа может повести себя неправильно, поскольку границы будут преобразованы по типу данных исходного параметра.
        • Тип данных, которому должны принадлежать значения параметров, должен быть целочисленным. Крайне не рекомендуется использовать вещественный тип.
        • Изменять значение параметра исх.переменная в теле цикла принудительно нежелательно. Иначе пользователь с трудом сможет отследить возможные появившиеся ошибки.
        • В отличие от других видов циклов, в For … to … do или For … downto … do шаг не может меняться на параметр, отличный от 1.

        Turbo Pascal: как выйти из цикла

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

        Циклы с параметром в паскале (программирование которых предполагает «извечную» истинность условия) можно остановить с помощью Continue. Здесь работа налажена следующим образом: текущая итерация досрочно заканчивает свое выполнение, управление передается следующей команде, но без выхода из цикла.

        Процедура Exit необходима для того, чтобы завершить работу того или иного блока в программном коде. Ее вызывают внутри процедуры (функции) и в тот же момент, исполнение этого «куска» немедленно прекращается. Если же Exit находится в основном блоке программы, тогда она завершает свою работу.

        Процедура Halt сводит принцип функционирования к следующему: полностью оканчивается работа программы.

        Примеры заданий с решением

        Пользователю будет полезно после изучения темы «Циклы с параметром в паскале» примеры сначала изучить, а затем тренироваться писать код самостоятельно. Простые задачи помогают будущему программисту узнавать теорию в практике, а затем успешно ее применять. По теме «Циклы с параметром» примеры задач с решением можно найти легкие и сложные. Здесь представлены 3 задачи, в которых разбираются алгоритмы работы и даются пояснения и комментарии к каждому решению.

        Дан двумерный массив натуральных чисел в диапазоне [0..199], выбранных случайно. Найти количество всех двузначных чисел, сумма цифр которых кратна 2.

        1. Создать двумерный массив.
        2. Проверить каждое число на соответствие условиям:

        b) выделить вторую цифру числа посредством деления через mod;

        c) сложить выделенные цифры;

        d) поделить посредством mod заданную сумму на 2;

        e) если результат будет равен 0, то счетчик увеличивается на 1.

        циклы с параметром примеры задач

        Дан одномерный массив целочисленных элементов. Найти количество положительных чисел.

        1. Создать массив целочисленных элементов, созданных посредством randomize.
        2. В цикл с параметром вложить условный оператор IF, который будет проверять заданный элемент на соответствие условию: Х>0.
        3. Если условие выполняется, то счетчик увеличивается на 1.
        4. После цикла следует вывести на экран получившееся значение счетчика.

        Данные, указанные в скобках <>, являются комментариями. В строке 11 можно вывести массив на экран двумя способами: оставить пробел между числами либо отвести под каждый элемент определенное количество ячеек (в данном случае их 5).

        В строке 12 переменную counter можно увеличить также двумя способами: либо к предыдущему значению прибавить 1, либо воспользоваться стандартной функцией Inc.

        циклы с параметром в паскале примеры

        Дана квадратная матрица. Найти количество положительных элементов, находящихся на главной диагонали.

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

        1. Создать квадратную матрицу.
        2. Присвоить переменной, ответственной за подсчет положительных элементов, значение «0».
        3. Составить цикл по созданию квадратной матрицы.
        4. Организовать цикл по проверке условия: если число на главной диагонали >0, тогда счетчик увеличивается на 1.
        5. После окончания действия цикла на экран вывести значение переменной, хранящей количество положительных элементов.

        циклы с параметром в паскале программирование

        Противостояние двух языков программирования: С и Turbo Pascal

        Как правило, уважающий себя программист знает несколько языков. К примеру, это могут быть С++, Turbo Pascal, Delphi, Java и т. д. Противостояние двух из них было ярко выражено еще в 80-е гг. (С и турбо паскаль). В конце ХХ века такая же борьба наблюдалась между Си++ и Java.

        циклы с параметром в c

        В виртуальном пространстве среди трех десятков языков программирования можно выделить три самые яркие пары, противостояние которых поражало величайшие умы киберпространства: алгол-60 и фортран, Pascal и C, Java и С++. Конечно, эти ощущения субъективные, но в тот или иной период один из пары был лидером.

        Это объяснялось требованиями промышленности и необходимости в том или ином программном продукте. В 70-х гг. «управлял миром» фортран, в 80-х – Turbo Pascal, в 90-х – С++. Конечно, ни один из них не «умер». Скорее, они преобразовались в усовершенствованные программные продукты.

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

        Интересно, что разработчики Turbo Pascal (Старый Свет) пользовались результатами наработок американских ученых, в то время как в Новом Свете активно применяли итоги исследований европейских специалистов. В Европе разработчики ратуют в большей степени за чистоту и компактность языков программирования, а американские умы склоняются больше к использованию новомодных веяний в написании кода.

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

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