к оглавлению

Организация циклов с использованием FOR... NEXT

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

Наиболее проще организовывать циклы, используя операторы FOR (для) и NEXT (следующий). Оператор FOR открывает цикл, оператор NEXT закрывает его. Все команды, расположенные между этими операторами, будем называть телом цикла. FOR и NEXT – “неразлучны”, иначе ошибка. Внимательно отслеживайте, по какой переменной цикл открывается, по какой закрывается. STEP (шаг): по умолчанию 1, если первое значение параметра цикла меньше последнего, то STEP должен быть отрицательным.

1.Вернемся к задаче табулирования функции. Задана функция y = f(x) на отрезке [a;b]. Разбив отрезок на n частей напечатать таблицу ее значений.

…………………Программа 10.1…………………………………….

def fna(x) = x^3 + 2*x^2 – 3*x -12

input”Введите отрезок a,b”;a,b

input”Сколько строк в таблице”;n

h = (b – a)/n

?” x y”

for x = a to b step h

?x, fna(x)

next x

2.Вернемся также к популярной задаче суммирования. Пусть необходимо найти сумму 20 членов числовой последовательности с общим членом an = .

…………………Программа 10.2…………………………………….

s = 0

for i = 1 to 20: s = s + i^2/(exp(i) + i): next

?”Запишите сумму:”;s

3.На отрезке [a;b] задана функция y = f(x). Найти ее наибольшее и наименьшее значения на этом отрезке.

…………………Программа 10.3…………………………………….

DEF fna (x) = x ^ 3 / 3 + x ^ 2 - 5 * x + 3

INPUT "Введите отрезок a,b"; a, b

ma = fna(a): mi = fna(a)

FOR x = a TO b STEP .001

y = fna(x)

IF ma < y THEN ma = y: xma = x

IF mi > y THEN mi = y: xmi = x

NEXT x

PRINT "Наибольшее значение f("; xma; ") = "; ma

PRINT "Наименьшее значение f("; xmi; ") = "; mi

4.В операторе DATA помещены 10 чисел. Вывести на печать наибольшее из них.

…………………Программа 10.4…………………………………….

DATA 1,3,5,7,4,-3,4,11,8,2

READ m

FOR i = 1 TO 9: READ a

IF m < a THEN m = a

NEXT

PRINT "максимальное число "; m

5.Найти все делители натурального числа, меньшие самого числа.

…………………Программа 10.5…………………………………….

INPUT "Введите число", x

FOR i = 1 TO x/2

IF x MOD i = 0 THEN PRINT "Множитель "; i

NEXT i

Усложните задачу: в случае, если кроме 1 множителей нет – выдавать сообщение: число простое.

Задачи более интересные в плане подготовки к олимпиаде по программированию

5.1Найти все простые числа меньшие заданного числа.

5.2Есть ли в пределах первых ста натуральных чисел числа, сумма делителей которых, включая единицу, но исключая само число, равна этому числу?

5.3 В пределах от 1 до 1000 напечатать все пары простых чисел отличающихся на два.

6.Важная и нужная задача численного интегрирования.

На отрезке [a,b] задана функция y = f(x). Разбить данный отрезок на n частей, определить h = , определить x0 = a, x1 = a + h, x2 = a + 2h, и т.д., и вычисляя yi = f(xi), определить суммы S = h(y0 + y1 + …+ yn-1), S = h(y1 + y2 + …+ yn); - это формулы прямоугольников

S = h(); - формула трапеций S = - и самая популярная формула парабол (Симпсона), n – обязательно четное число.

…………………Программа 10.6…………………………………….

DEF fna (x) = x ^ 3 / 3 + x ^ 2 - 5 * x + 3

INPUT "Введите пределы интегрирования a,b"; a, b

n = 4

10 n = n * 2: s = 0

h = (b - a) / n

s = fna(a) + fna(b)

FOR i = 1 TO n - 1 STEP 2: x = a + h * i

s = s + 4 * fna(x): NEXT i

FOR i = 2 TO n - 2 STEP 2: x = a + h * i

s = s + 2 * fna(x): NEXT i

PRINT "При n = "; n; "I = "; s * h / 3

GOTO 10

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

FOR i = 1 TO n - 1: x = a + h * i

IF i / 2 = i \ 2 THEN s = s + 2 * fna(x) ELSE s = s + 4 * fna(x)

NEXT i

Формулы прямоугольников и трапеций запрограммируйте самостоятельно.

Это задачи для самостоятельного решения. Подготовьте программы дома и представьте на проверку, по-возможности в электронном варианте.

1.Составить таблицу перевода: долларов в рубли, рублей в доллары.

2.Составить таблицу стоимости порций сыра массой 50, 100, 150, …, 1000 г., если известна цена одного килограмма.

3.Даны действительное число а, натуральное число n. Вычислить

a(a - n)(a - 2n)…(a - n2).

4. Даны натуральное n, действительное x. Вычислить: sin x +sin2 x + sin3x + … + sinnx.

5.Даны натуральное n, действительное x. Вычислить сумму n членов степенного ряда, если an = .

6.Дано a и n. Вычислить значение произведения a(a - n)(a - 2n)…(a - n2).

7.Вывести на экран все двузначные числа кратные 3. Подсчитать их сумму и количество.

8.Вывести на экран n членов последовательности Фибоначчи, используя рекуррентную формулу : an = an-1 + an-2. Если a1 = 1 и a2 = 1

9.Составить калибровочную таблицу определения объема жидкости в резервуаре, имеющем форму прямоугольного параллелепипеда, внутренние размеры которого a,b,c. Задайте шаг калибровочной таблицы h. Объем выражать в литрах.

Что нового Вы узнали, какие умения и навыки приобрели на занятии №10?

к оглавлению

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution