delta88
?>

Через точку М стороны АВ треугольника ABC проведена прямая, перпендикулярная высоте BD и пересекающая сторону ВС в точке Р; ВМ

Другие предметы

Ответы

BrezhnevaKoidula

решение задания по геометрии
 Через точку М стороны АВ треугольника ABC проведен

КристинаАлександр

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

Здравствуйте. Оператор цикла с параметром используется в тех случаях, когда некоторое однообразное действие надо повторить определенное количество раз. Особенно, если это количество достаточно велико. Бывают же такие задачи, когда необходимо, например, вычислить сумму каких-либо величин, каждая из которых вычисляется по формуле. Ведь если непосредственно вычислять сумму 1 + 2 + 3 + ... + 1000, то программа разрастется до невообразимых масштабов.

Оператор цикла с параметром в народе ещё называют "оператор For", и в Pascal он бывает двух типов (второй тип смотрите ниже). Первый записывается так:

for i := N1 to N2 do

<ОПЕРАТОР>

Всё, что находится между for и do, называется заголовком цикла, после do – телом цикла. Переменная i зазывается параметром цикла и имеет порядковый тип (целые числа, логический тип, символы, перечислимый и диапазонный тип). Слова for, to и do – это служебные слова Pascal, которые использовать в своих программах для обозначения переменных нельзя. Индекс i, которым обозначаются номера действий в операторе цикла, изменяется от меньшего N1 к большему N2 (N1 ≤ N2). Первый номер N1 по значению не должен превышать второй N2, иначе цикл не запустится и ОПЕРАТОР ни разу не выполнится.

Важно помнить: ИЗМЕНЯТЬ ПАРАМЕТР ЦИКЛА i В ТЕЛЕ ЦИКЛА НЕЛЬЗЯ! — это вызовет ошибку.

Оператор цикла этого типа действует как:

— сначала индекс i приравнивается N1 – минимальному возможному значению;

— потом проверяется, не превышает ли i второго номера N2 (i ≤ N2). Если это условие выполняется, то идем на следующий пункт, иначе (то есть при i > N1) – выходим из цикла;

— выполняется ОПЕРАТОР в теле цикла;

— далее увеличивается i на 1, и повторяем со второго пункта (т.е. проверяем истинность условия i ≤ N2, выполняем оператор, увеличиваем i на 1, и т.д).

В роли начального значения N1 наиболее часто используют 1 или 0 (это зависит от задачи).

Приведем пример с вычислением упомянутой ранее суммой 1 + 2 + 3 + ... + 1000 первых 1000 натуральных чисел. Поскольку нужно сложить числа от 1 до 1000 включительно, то было бы естественно изменять индекс i от 1 до 1000. Тогда на каждой итерации цикла (при каждом выполнении) искомую сумму, которую мы обозначим sum, будем увеличивать на i. Вот, что у нас получится.

Посчитать сумму первых 1000 натуральных чисел

Код Pascal

1

2

3

4

5

6

7

8

9

10

var

i, sum: integer;

begin

sum := 0; //Начальное значение суммы

for i := 1 to 1000 do

sum := sum + i; //К сумме прибавляем i

writeln('Результат: ', sum);

readln

end.

После запуска программы вы должны увидеть результат: 500500. Что делает наша программа?

2 строка. Описываем переменные i (параметр цикла) и sum (конечная сумма) как целые;

5 строка. Начальному значению суммы sum присваиваем 0. Это называется инициализация начальной переменной;

6 строка. Числа будем складывать от 1 до 1000;

7 строка. На каждой последующей итерации цикла к сумме прибавляем i;

8 строка. После выхода из цикла (когда будет i = 1000) выводим конечный результат суммы.

Решим ещё одну задачку:

Напечатать ряд чисел 20 в виде: 20 20 20 20 20 20 20 20 20 20.

Код Pascal

1

2

3

4

5

6

7

var

i: byte;

begin

for i := 1 to 10 do write(' ', 20);

readln

end.

Мы видим, что количество выводимых чисел равно 10, поэтому запускаем цикл от 1 до 10, и выводим число 20 оператором вывода write(). Обратите внимание, что величина индекса изменяется лишь в пределах [1, 10], поэтому не имеет смысла использовать целый тип integer – достаточно обойтись типом byte (8 бит, или 1 байт). Особенность этого примера в том, что код программы не содержит переменной i в теле цикла (напоминаю, тело цикла – часть программы после do) – мы выводили несколько раз число 20. Бывает, когда параметр цикла используется в теле цикла, но во многих программах его использование лишнее.

А вот пример задачи, когда параметр цикла используется:

Напечатать "столбиком" все целые числа от 12 до 25.

Если промежуточное выводимое число обозначить n, то изменяя его с 12 по 25 включительно, выведем все числа. Только здесь нужно задействовать оператор вывода writeln – с переводом курсора на следующую строку.

Код Pascal

1

2

3

4

5

6

7

var

n: byte;

begin

for n := 12 to 25 do writeln(n);

readln

e

begin

sum := 0; //Начальное значение суммы

for i := 1000000 downto 1 do

sum := sum + 1/i; //К сумме прибавляем 1/i

writeln('Результат: ', sum);

readln

end.

А вот как эта задача решается с циклом первого типа, посмотрите на странице for 10-14. Только нужно иметь ввиду, что, хотя гармонический ряд и является расходимым – его частичные суммы стремятся к бесконечности при неограниченном возрастании членов) – но растет гармонический ряд очень медленно.

Вообще, в каждом отдельном случае нужно решать, какой цикл с параметром использовать лучше – с возрастающим или убывающим параметром. В разделе Задачника в группе "for" есть много примеров на тему цикла с параметром, например, Функции с использованием факториала. А пока на этом все, если есть во или пожелания, пишите в комментариях.

Иванов

Исәнмесез!- Здравствуйте!

Исәнме!-Здравствуй!

Сәлам!- Привет!

Сау булыгыз!- До свидания! (мн. число)

Сау бул!- До свидания! (ед.число)

Рәхмәт Зур рәхмәт!- Большое Бик зур рәхмәт!- Огромное Хәерле иртә!- Доброе утро!

Хәерле көн!- Добрый день!

Хәерле кич!- Добрый вечер!

Тәмле!- Вкусно!

Бик тәмле!- Очень вкусно!

Матур.- Красиво!

Бик матур- Очень красиво.

Син матур- Ты красив.

Хәлләрегез ничек?- Как ваши дела?

Әйбәт,яхшы.- Хорошо.

Бик яхшы.- Очень хорошо.

Тыныч йокы!- Спокойной ночи!

Ашларыгыз тәмле булсын!- Приятного аппетита!

Рәхим итегез!- Добро Зинһар өчен Гафу ит!- Извини!

Гафу итегез!- Извините!

Исәнлеккә- саулыкка!- Будьте здоровы!

Расскажите о себе.

-Сезнең исемегез ничек? –Как вас зовут?

-Минем исемем ...... – Меня зовут.....

-Синең исемең ничек? – Как тебя зовут?

-Минем исемем..... –Меня зовут.....

-Сезнең фамилиягез ничек? – Как ваша фамилия?

-Минем фамилиям......- Моя фамилия......

-Синең фамилияң ничек? – Как твоя фамилия?

-Минем фамилиям......- Моя фамилия......

-Сезгә ничә яшь?- Сколько вам лет?

-Миңа ..... яшь.- Мне ..... лет.

-Сиңа ничә яшь?- Тебе сколько лет?

-Миңа ..... яшь.- Мне….. лет.

-Сез кайда яшисез?- Где вы живёте?

-Мин Казанда яшим.- Я живу вКазани.

- Син кайда яшисең?- Где ты живёшь?

-Сезнең гаиләдә кемнәр бар?- Кто есть в вашей в семье?

-Минем гаиләдә мин (я), әни (мама), әти (папа),әби (бабушка), бабай (дедушка), апа (сестра), абый (брат), сеңлем (сестрёнка), энем (братишка), кызым (дочь), улым (сын), ирем (муж) бар (есть).

-Синең гаиләдә кемнәр бар?- Кто есть в твоей семье?-Минем гаиләдә мин (я), әни (мама), әти (папа),әби бабушка), бабай (дедушка), апа (сестра), абый (брат), сеңлем (сестрёнка), энем (братишка), кызым (дочь), улым (сын), ирем (муж) бар (есть).

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Через точку М стороны АВ треугольника ABC проведена прямая, перпендикулярная высоте BD и пересекающая сторону ВС в точке Р; ВМ
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

levickaalubov5
marinanx
Elshel8694
houseoftorture138
Sergei
vedaikin
belegaj98
tanu0618
teta63
andruhovich
sargisyan77
ren7869
grazia2017
petrakovao
tvtanya80