русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подсчет количества чисел, удовлетворяющих заданному условию.


Дата добавления: 2015-07-09; просмотров: 2637; Нарушение авторских прав


Задача. Подсчитать количество отрицательных чисел, введенных с клавиатуры (количество чисел равно 10).

Необходимые действия:

Ввести переменную (счётчик), задать начальное значение счётчика равным нулю.

Организовать цикл, количество повторений которого равно количеству введённых чисел.

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

Выйдя из цикла проверить значение счётчика. Если счётчик равен нулю, следовательно отрицательные числа в вводимой последовательности отсутствовали, иначе выводим на экран значение счётчика.

На рисунке 4.3 представлен алгоритм решения задачи.

Рис. 4.3. Схема алгоритма вывода отрицательных чисел.

 


Текст программы

 

PROGRAM N;

USES CRT;

VAR

a: integer; {входная переменная}

K: integer; {счетчик отрицательных чисел}

i: integer; {счетчик цикла}

BEGIN

clrscr;

K:=0;

FOR i:=1 TO 10 DO

BEGIN

write('Задайте значение переменной a: ');

readln(a);

IF a<0 THEN

K:=K+1

END;

IF K=0 THEN

writeln('отрицательных чисел нет')

ELSE

writeln('количество отрицательных чисел ', K);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

Пример. С клавиатуры последовательно вводятся целые числа. Вычислить сумму чисел, кратных трём.

Текст программы.

PROGRAM NN;

USES CRT;

VAR

a, K, S, i: integer;

BEGIN

clrscr;

K:=0;

S:=0;

FOR i:=1 TO 10 DO

BEGIN

write('задайте значение переменной a: ');

readln(a);

IF a mod 3 = 0 THEN

BEGIN

K:=K+1;

S:=S+a

END;

END;

IF K=0 THEN

writeln('чисел кратных 3 нет.')

ELSE

writeln('сумма чисел кратных 3 = ', S);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

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



 

Алгоритм вычисления n!.

Напомним, что .

Принято считать: что 0!=1.

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

Текст программы.

PROGRAM FACT;

USES CRT;

VAR

F, i: integer;

BEGIN

clrscr;

F:=1;

FOR i:=1 TO 5 DO

F := F * i;

writeln('Факториал 5 (5!) = ', F);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

 

Алгоритм вычисления an.

Алгоритм вычисления , где n — натуральное число. , т.е. это произведение n одинаковых сомножителей.

Следовательно, используем предыдущий алгоритм, внеся необходимые коррективы.

PROGRAM DEGREE;

USES CRT;

VAR

a: integer; {основание}

n: integer; {показатель степени}

W: integer; {результат }

i: byte; {счетчик цикла}

BEGIN

clrscr;

write('ведите число: ');

readln(a);

write('введите степень: ');

readln(n);

W:=1;

FOR i:=1 TO n DO

W := W * a;

writeln(a,' в степени ', n, ' равно ', W);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

 

Примеры.

  1. Вычислить:

...

S:=0; { переменная для накопления суммы }

F:=1; { переменная для накопления }

FOR I:=1 TO 5 DO

BEGIN

F:=F*I; {используем два базовых алгоритма}

S:=S+F {вычисления n! и вычисления суммы}

END;

  1. Вычислить: a(a-1)(a-2)...(a-(n-1)), где a - действительное число.

...

readln(a);

p:=1;

for i:=1 to n do

p:=p*(a*(i-1));

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

 

4.3. Циклы с предварительной и последующей проверкой условия

Рассмотрим такую задачу.

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

Чем отличается задание от предыдущих?

Алгоритм суммирования тот же самый, но в данном случае неизвестно количество слагаемых. Конструкция цикла со счетчиком для заданий такого типа не годится.

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



<== предыдущая лекция | следующая лекция ==>
Алгоритм вычисления суммы n чисел. | Цикл с предварительной проверкой условия.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.