Пиши Дома Нужные Работы

Обратная связь

Классификация и примеры алгоритмических структур

 

В зависимости от применяемых базовых управляющих структур различают следующие типы алгоритмов:

- алгоритмы линейной структуры;

- алгоритмы разветвляющейся структуры;

- алгоритмы циклической структуры.

Рассмотрим на примерах различные типы алгоритмов.

 

Алгоритм линейной структуры.

 

Заданы радиусы оснований R1 и R2, длина образующей L и высота h прямого усеченного конуса. Найти площадь поверхности и объем усеченного конуса.

 

Постановка задачи.

Входные данные:

R1 – радиус нижнего основания конуса;

R2 – радиус верхнего основания конуса;

h – высота усеченного конуса.

Выходные данные:

S – площадь поверхности усеченного конуса;

V – объем усеченного конуса.

Метод решения: вычисление значений V и S по формулам:

– объем прямого усеченного конуса:

 

площадь поверхности усеченного конуса:

 

где

 

– образующая конуса.

Алгоритм. Вычисление значений V и S.

Входные данные.

СКАЛЯР R1 – вещественное число.

СКАЛЯР R2 – вещественное число.

СКАЛЯР h – вещественное число.

Выходные данные.

СКАЛЯР V – вещественное число.

СКАЛЯР S – вещественное число.

Промежуточные данные.

СКАЛЯР L – вещественное число.

Начало

ввод(R1,R2,h)

вывод(V,S)

Конец

 

Блок-схема алгоритма.

 

Ввод значений R1, R2, h

 

 

 
 

 


 

 

 
 


Вывод V,S

 
 


       
   
Рис 3.10  
 
 

 

 

Алгоритм разветвляющейся структуры.

 

Вычислить значение функции в зависимости от условия по формуле:

 

Постановка задачи.

Входные данные:

X – аргумент вычисляемой функции.



Выходные данные:

Y – значение функции[k1] .

Метод решения: проверка условия и вычисление функции по соответствующей формуле.

 

Алгоритм. Вычисление значения функции Y.

Входные данные.

СКАЛЯР X – вещественное число.

Выходные данные.

СКАЛЯР Y – вещественное число.

Начало

ввод(X)

ЕСЛИ (X>=1) ТО

Y=ln(X)

ИНАЧЕ

ЕСЛИ (X<1) и (X>-1) ТО

Y =1

ИНАЧЕ

Y=eX

КОНЕЦ_ЕСЛИ

КОНЕЦ_ЕСЛИ

вывод(Y)

конец


Блок-схема алгоритма.

 

 
 

 


Ввод (X)



3.2.3. Алгоритмы циклической структуры.

 


Пример 1. Определить сумму заданного числа членов последовательности:
1, 1/4, 1/9, …… 1/n2.

Постановка задачи.

Входные данные:

К – число членов последовательности.

Выходные данные:

S – сумма заданного числа членов последовательности [k2] .

Метод решения:

- инициализация S=0;

- вычисление значений K членов последовательности и суммирование.

Алгоритм. Вычисление суммы заданного числа членов последовательности.

Входные данные.

СКАЛЯР K – целое число.

Выходные данные.

СКАЛЯР S – вещественное число.

Промежуточные переменные

СКАЛЯР I – целое число.

Начало

ввод(K)

S=0

ЦИКЛОТ I=1 ДО K

S=S+1/(I*I)

КОНЕЦ_ЦИКЛА

вывод(S)

конец

 


Блок-схема алгоритма.

 
 

 

 


 

Ввод(K)

 
 

 

 


Вывод(S)


Пример 2. Определить, какое минимальное количество членов последовательности

1, 1/4, 1/9, …… 1/n2

надо суммировать, чтобы сумма была больше заданного числа R.

Постановка задачи.

Входные данные:

R – заданное значение суммы членов последовательности.

Выходные данные:

N – число членов последовательности [k3] .

Метод решения:

- инициализация S=0; N=0;

- пока сумма S<=R, вычисление очередного номера N и суммы S.

Алгоритм. Вычисление числа членов последовательности.

Входные данные.

СКАЛЯР R – вещественное число.

Выходные данные.

СКАЛЯР N – целое число.

Промежуточные данные.

СКАЛЯР S – вещественное число.

Начало

ввод(R)

S=0

N=0

ЦИКЛПОКА S<=R

N=N+1

S=S+1/(N*N)

КОНЕЦ_ЦИКЛА

вывод(N)

конец


Блок-схема алгоритма.

 
 

 

 


 

Ввод(R)

       
   
 
 

 

 


Вывод(N)


Пример 3. Определить, какое минимальное количество членов последовательности

1, 1/4, 1/9, …… 1/n2

надо суммировать, чтобы сумма была больше заданного числа.

Постановка задачи.

Входные данные:

R – заданное значение суммы членов последовательности.

Выходные данные:

N – число членов последовательности [k4] .

Метод решения:

- инициализация S=0; N=0;

- вычисление очередного номера N и суммы S до тех пор, пока сумма S<=R.

Алгоритм. Вычисление числа членов последовательности.

Входные данные.

СКАЛЯР R – вещественное число.

Выходные данные.

СКАЛЯР N – целое число.

Промежуточные данные.

СКАЛЯР S – вещественное число.

Начало

ввод(R)

S=0

N=0

ЦИКЛ

N=N+1

S=S+1/(N*N)

ДО S>R

вывод(N)

конец


Блок-схема алгоритма.

 
 

 

 


 

Ввод(R)

       
   
 
 

 

 


Вывод(N)

 

 

Основы языка программирования Паскаль

Алфавит и лексемы

 

Язык Паскаль, как и любой язык программирования имеет свой алфавит, синтаксис и семантику. Алфавит ¾ это набор допустимых в языке символов. Синтаксис ¾ это совокупность правил образования предложений языка. Синтаксические правила определяют требования к записи операторов языка программирования. Семантика ¾ это множество правил, определяющих смысл предложений языка. Семантические правила определяют, какие действия и в какой последовательности должна выполнить ЭВМ, выполняя программу на языке Паскаль.

Алфавит языка Паскаль является подмножеством набора символов кода ASCII и включает следующие символы:

§ прописные и строчные буквы латинского алфавита и символ подчеркивания;

§ арабские цифры;

§ специальные знаки: # $ ’ ( ) * + - , ; : . / < = > @ [ ] ^ { }

§ символ пробела;

§ управляющие символы.

Из символов алфавита формируются лексемы. Лексема ¾ это минимальная, смысловая единица текста программы. Классификация лексем языка Паскаль приведена на рис. 1.

Специальные символы ¾ это знаки операций, скобки и разделители.

Идентификатором называется последовательность латинских букв, цифр и знака подчеркивания, начинающаяся с буквы или знака подчеркивания. Прописные и строчные буквы в идентификаторах не различаются.

Зарезервированные ключевые слова ¾ это идентификаторы, зарезервированные в языке для специального использования; они служат для обозначения операторов и описателей данных. К ключевым словам относятся следующие идентификаторы:

and goto program

asm if record
array implementation repeat
begin in set
case inherited shl
const inline shr

 

 


 

           
   
   
 
лексема
 
 

 


       
 
 
   
Рис. 4.1

 


 


constructor interface string
destructor label then
div library to
do mod type
downto nil until
else not unit
end object uses
exports of var
file or while
for packed xor
function procedure

 

Пользовательские идентификаторы ¾ это имена типов, переменных, процедур и функций, определенных пользователем. Не допускается использование ключевых слов в качестве пользовательских идентификаторов.

Метки в Паскале могут относиться к оператору или его части ( в операторе case) и бывают числовыми или символьными. Метка отделяется от оператора двоеточием (:).

Числа в программах на Паскале используются целые и вещественные. Целые числа могут быть представлены в десятичной и шестнадцатеричной системах счисления. Целые десятичные числа записываются, как в математике, и должны находится в диапазоне от –2147483648 до +2147483647. Примеры: 35, -64, 0.

Для обозначения целых шестнадцатеричных чисел используется знак доллара ($), который записывается перед числом. Например, $A01, $0. Допустимый диапазон целых шестнадцатеричных чисел от $00000000 до $FFFFFFFF.

Вещественные числа записываются в виде десятичной дроби (вещественное число с фиксированной запятой) и в экспоненциальной форме (вещественное число с плавающей запятой). Примеры вещественных чисел с фиксированной запятой : 35.26; –90.5; 0.097. Во втором способе записи указываются мантисса и порядок числа, разделенные буквой ‘Е’:
<мантисса>E<порядок>. Например, 0.272Е+02, это означает

0.272 х 102= 27.1 .

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

‘Н. Вирт – автор языка Паскаль’

‘Borland Pascal 7.0’

‘’ –пустая строка.

Строка, состоящая из одного символа, называется символьной константой. Например, ‘Z’ – символьная константа.

Управляющие символы используются в строках и записываются в виде десятичного числа, перед которым ставится знак ‘#’. Например,

#7 – символ «звонок»,

#10– символ «перевод строки»,

#13 – символ «возврат каретки».

Комментарии представляют собой фрагмент текста , ограниченный фигурными скобками {} или ограничителями вида (* *). Комментарии выполняют в программе чисто информационную функцию и служат для описания назначения отдельных частей программы, переменных, констант и т. д. Комментарии игнорируются компилятором и не влияют на работу программы.

Особым случаем является комментарий, после открывающейся скобки которого стоит знак доллара $. Такой комментарий называется псевдокомментарием или директивой компилятора. Например, {$N+ } – в программе необходимо использовать математический сопроцессор, {$I-} - отключить автоматическую обработку ошибок ввода-вывода.






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.