русс | укр

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

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

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

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


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

Вычисление максимального элемента последовательности


Дата добавления: 2013-12-23; просмотров: 1409; Нарушение авторских прав


Вычисление суммы по формуле с заданной точностью

Пользователь вводит вещественное число x (модуль меньше 1) и точность вычислений eps (от 0 до 1). Вычислить сумму с заданной точностью.

В этой задаче уже не удастся использовать цикл for, т.к. мы не знаем, на каком именно шаге будет достигнута заданная точность. Поэтому здесь воспользуемся циклом repeat. Будем считать, что точность достигнута, если очередной элемент будет меньше по модулю, чем заданная точность eps.

Пример:

var

x: real; {число, которое вводит пользователь}

xx: real; {в этой переменной будем хранить x в нужной степени}

eps: real; {точность, которую вводит пользователь}

Sum: integer; {сюда будем считать сумму}

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

begin

writeln(‘Введите число x (<1):’);

readln(x);

writeln(‘Введите точность вычислений (<1):’);

readln(eps);

Sum:=0; {задаем стартовое значение – инициализируем}

xx:=1; {задаем стартовое значение – инициализируем}

repeat

xx:=xx*x; {т.к. степень у x отличается от предыдущего шага

всего на 1, то можно сделать и так}

Sum:=Sum+xx/(i+1); {добавляем новый элемент к сумме}

until abs(xx/(i+1))<eps; {повторяем цикл, пока не получим точность}

writeln(‘Sum=’, Sum); {печатаем на экране результат}

end.

Обратите внимание на переменную xx: чтобы на каждом шаге заново не возводить x в степень, мы просто запоминаем это значение с предыдущего шага и домножаем его еще раз на x (т.е., x5 = x4 * x).

Пользователь вводит 100 чисел. Найти максимальный элемент последовательности.

Первое, что может прийти в голову, – описать 100 переменных. Это неправильно.

Нам не нужно запоминать все 100 чисел. Достаточно помнить только наибольшее среди них. Последовательность действий будет примерно такой: считываем новое число, проверяем его на максимум и далее переходим к следующему числу. Следовательно, достаточно завести две переменные: в одной из них будем хранить текущее значение, в другой – максимальное. Для реализации воспользуемся циклом for.



Пример:

var

x: integer; {текущее число, которое вводит пользователь}

Max: integer; {максимальное число в последовательности}

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

begin

for i:=1 to 100 do

begin

writeln(‘Введите очередное число:’);

readln(x); {считываем очередное число последовательности}

if (i=1) or (x>Max) then Max:=x;

{если это первое число, или если оно больше, чем текущий

максимум, то это – максимальное число}

end;

writeln(‘Максимальное число – ’, Max); {печатаем результат}

end.

Как видно из кода, все 100 чисел хранятся поочередно в одной переменной x. Текущее число будет максимальным, если оно больше, чем текущий максимум или если оно вообще первое (единственное) в последовательности.

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



<== предыдущая лекция | следующая лекция ==>
Вычисление суммы по заданной формуле | Массивы


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


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

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

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


 


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

 
 

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

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