Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


II .9. Применение оператора цикла с параметром в решении вычислительных задач



Задание:

Составить программу к решению задачи: «Штангист поставил перед собой цель: через месяц (30 дней) тренировок поднять штангу весом в Y кг. В первый день он поднял вес в X кг. Каждый день он увеличил норматив на A% от нормы предыдущего дня. Удастся ли ему достигнуть цели? »

Решение:

Данные Y, X, A – вводятся с клавиатуры. Известно, что начиная со второго дня, значение переменной Х увеличивается на А% от старой величины, т.е. работает формула: Х=Х+Х/100*А. Так как в месяце 30 дней, то эта формула будет повторяться 29 раз. Затем необходимо сравнить полученный результат со значением переменной Y и вывести ответ.

В программе необходимо реализовать следующий алгоритм:

1. Ввести данные;

2. В цикле от 1 до 29 повторить вычисления по формуле Х=Х+Х/100*А;

3. В условном операторе сравнить полученное число Х с числом Y и, исходя из истинности условия, вывести результат.

Программа:

CLS

PRINT “введите вес, который необходимо поднять”

INPUT Y

PRINT “введите норму первого дня и процент, с которым она будет увеличиваться”

INPUT х, а

FOR I=1 TO 29

X=X+X/100*a

NEXT I

IF x< y THEN PRINT “цели не достиг” ELSE PRINT “цель достигнута”

END

Задание:

Дано целое число N. Ввести N произвольных чисел с клавиатуры и найти их среднее арифметическое.

Решение:

Для нахождения среднего арифметического чисел, необходимо их сумму разделить на их количество.

 Количество чисел известно – N.

Для нахождения суммы, будем использовать переменную S. По умолчанию, ее значение равно нулю. Будем последовательно вводить числа с клавиатуры и прибавлять к переменной S.

Пусть переменная Х хранит на данный момент введенное число. Чтобы ввести одно число, необходимо выполнить оператор INPUT Х.

После того, как число введено, добавим его к переменной S (S=S+X). Повторив серию операторов INPUT Х: S=S+X N раз, мы получим сумму. Останется только разделить ее на количество введенных чисел и вывести результат.

В программе необходимо реализовать следующий алгоритм:

1. Ввести количество чисел;

2. В цикле от 1 до N повторить:

а) ввести число;

б) добавить к сумме;

3. Найти среднее арифметическое;

4. Вывести результат.

Программа:

CLS

PRINT “введите количество чисел”

INPUT n

FOR I=1 TO n

INPUT x

S=s+x

NEXT I

P=s/n

PRINT “среднее арифметическое введенных чисел равно ”, р

END

 

Задание:

Даны целые числа а и b. Найти произведение целых четных чисел, расположенных между числами а и b. 

Решение:

Пусть р – произведение. Чтобы вычислить произведение, необходимо перемножить числа.

Например, если а=10, а b=34, то р=11*13*..*33.

Но, если а=25, а b=6, то р=7*9*…*23.

Необходимо знать, что больше а или b. Если a< b, то числа лежат в промежутке от а+1 до b-1, а иначе от b+1 до а-1. Очевидно, что в программе можно использовать цикл с параметром, но начальное и конечное значения параметра будут зависеть от истинности условия.

Переменная р по умолчанию будет равна нулю. Если ее на каждом шаге цикла умножать на очередное число, то ее значение не изменится, т.к. сколько ноль не умножай, все равно результат – ноль. Поэтому, в случае с произведением, его первоначальное значение принимают за 1.

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

В программе необходимо реализовать следующий алгоритм:

1. Ввести числа а и b;

2. Присвоить р значение 1;

3. Сравнить числа:

если а< b, то  

в цикле от а+1 до b-1 найти произведение четных значений параметра,

           иначе

в цикле от b+1 до а-1найти произведение четных значений параметра;

4. Вывести результат.

Программа:

CLS

PRINT “введите числа”

INPUT a, b

P=1

IF a< b THEN

       FOR I=a+1 TO b-1

       IF I mod 2=0 THEN p=p*I

       NEXT I

       ELSE

       FOR I=b+1 TO a-1

       IF I mod 2=0 THEN p=p*I

       NEXT I

PRINT “произведение четных чисел между заданными числами равно ”, р

END

 

Задания для самостоятельного решения:

1. Написать программу к решению задачи: " В 9 часов утра на яблоне сидело 100 пчелок. С этого момента каждый час на яблоню садится по х пчел, а у пчел улетает. Сколько пчел будет на яблоне в 9 часов вечера? Внимание: если в процессе вычислений будет получен отрицательный результат, то на экран должно выводиться сообщение " Пчелы разлетелись! ".

2. Написать программу к решению задачи: " В летний период на озере образовалось пятно ряски радиусом R см. Ежедневно пятно разрастается на Х%. Затянет ли ряска озеро через месяц, если его радиус 10000см? "

3. Протестировать алгоритм:

K=10

B=6

FOR G=10 TO 20 STEP 3

B=B*2

K=K+B

NEXT G

PRINT “B=”, B

PRINT ”K=”, K

4. Написать программу к решению задачи: " Воробей Вжик каждый день вылавливает произвольное количество мух. Ученый орнитолог фиксирует это число в своей записной книжке. Через N дней нужно подвести следующие итоги:

а) Сколько всего мух съел Вжик?

б) Какое минимальное количество мух выловил Вжик за день?

в) Были ли дни когда Вжик выловил более 50 мух (если да, то сколько таких дней)?

5. Написать программу к решению задачи: " Ввести n чисел с клавиатуры. Найти среднее арифметическое тех, которые оканчиваются цифрой 3".

6. Написать программу к решению задачи: " Игрок в тире купил N патронов и сделал N выстрелов. Каждый выстрел принес ему определенное число очков. Какое общее количество очков заработал игрок? "

7. Написать программу к решению задачи: " Мальчик Петя решил копить деньги на новую игрушку, стоимостью 3500р. Для этого он завел копилку. Ежедневно он клал в копилку произвольную сумму денег, которые оставались у него от карманных расходов. Условно назовем это число Х (каждый день оно новое). Через N дней он вскрыл копилку. Хватит ли у него денег на игрушку? "

 

8. Напишите программу, где вводится рост учеников класса (N человек). Найдите максимальный, минимальный и средний рост в классе.

 

9. На промежутке от 1 до N найти числа, которые делятся на 3 или на 5. Сколько их?

10. Посчитать количество трехзначных чисел, которые являются перевертышами (например, 101, 111, 121, 131…, 202, …).

11. На промежутке от 1 до N найти все числа, которые делятся на свою последнюю цифру.

 

12. Найти все трехзначные числа, которые кратны 7 и сумма цифр которых кратна 7.

 

13. Заданы начало и конец катушки автобусных билетов (четырехзначные номера). Напечатать все счастливые билеты на катушке. Сколько их?

 

14. Дано натуральное число N. Вывести на экран все его делители.

 

15. Дано натуральное число N. Простое ли оно?

 

16. Найти трехзначное число, квадрат которого оканчивается тремя одинаковыми цифрами, отличными от нуля.

 

17. Найдите двузначные числа, у которых вторая цифра делится на первую нацело. Сколько их?

18. Посчитать количество пятизначных чисел, средняя цифра которых равна 0.

19. Число М называется совершенным, если оно равно сумме всех своих делителей, включая 1, но не включая само число М. Дано М. Совершенно ли оно?

20. Число N назовем хорошим, если на него делится сумма его делителей. Дано М.  Хорошее ли оно?

 


Поделиться:



Последнее изменение этой страницы: 2019-03-30; Просмотров: 57; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь