русс | укр

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

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

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

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


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

Типы алгоритмов.

Все алгоритмы можно разделить на три типа.

1. Линейные

2. Разветвляющиеся

3. Циклические

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

Пример:

Написать алгоритм нахождения суммы (произведения, разности и т.д) двух чисел.

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

Пример:

Написать алгоритм вычисления частного двух целых чисел.

Зам! На ноль делить нельзя!

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

Эту повторяющуюся часть в алгоритме называют циклом, а операторы, которые повторяются, называют телом цикла. Циклы бывают простые и сложные.

Цикл называется сложным, если он содержит в себе еще один или несколько циклов. Цикл находящийся внутри называется вложенным (внутренним), а цикл, содержащий в себе др. циклы называется охватывающим (внешним). Чтобы сложные циклы работали нормально, необходимо чтобы внутренний цикл заканчивался раньше внешнего.

Все циклы можно разделить еще на циклы с заранее известным количеством шагов (повторений) и циклы с неизвестным количеством шагов (итерационные)

К первому типу относится цикл:

ДЛЯ им.пер.:=нач.зн. ДО кон.зн. ПОВТОРЯТЬ

НАЧЦИКЛА

Действия

КОНЦИКЛА

Пример: выводить на экран значение функции y=x2 для х из (0,15), где х целое число.

Дано: целые числа от 0 до 15.

Результат: на экран вывести значение функции от данных аргументов, т.е. должны получить

0 1 4 9 16 25 36 49… 225.

Алгоритм:

Присвоить х 0;

Вычислить y=x2

Вывести у

Присвоить х 1

Вычислить y=x2

Вывести у

Присвоить х 15

Вычислить y=x2

Вывести у

Алгоритм получился очень большим, что не удобно. Кроме того, он содержит практически одни и те же действия. Рациональнее переписать алгоритм следующим образом.

Начало

ДЛЯ Х:=0 ДО 15 ПОВТОРЯТЬ

НАЧЦИКЛА

У:=Х*Х;

ВЫВОД(У);

КОНЦИКЛА;

Конец

Итерационные циклы реализуются при помощи циклов ПОКА, ПОВТОРЯТЬ ДО.

Рассмотрим цикл ПОКА.

ПОКА усл ПОВТОРЯТЬ

НАЧЦИКЛА

Действие

КОНЦИКЛА

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

Пример: дана функция у=1/х, где х натуральное число. Выводить у, пока он больше 0,066.

Алгоритм:

Присвоить х 1

Вычислить у

Вывести у, если он больше0,066

Присвоить х 2

Вычислить у

Вывести у, если он больше0,066

Присвоить х 3

Вычислить у

Вывести у, если он больше0,066

Когда закончится этот алгоритм, не знаем, следовательно, написанный таким образом алгоритм не удовлетворяет свойству результативности, поэтому перепишем его следующим образом:

Начало

Х:=1;

У:=х*х;

ПОКА у>0.066 Повторять

НАЧЦИКЛА

Вывод(у);

х:=х+1;

у:=х*х;

КОНЦИКЛА;

Конец

Дома Записать на псевдокоде и блок- схеме:

1. Вычислить у=3х2+2а=7, где а=-8.

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

3. Протабуллировать функцию у=х3, для целого х из интервала (-4;4).

4. Протабуллировать функцию у=1/х, для х из интервала (0,10) с шагом 0,1.


Просмотров: 1150


Вернуться в оглавление



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


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

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

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


 


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

 
 

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