Алгоритмизация и программирование
Министерство образования Российской Федерации
Пензенский
Государственный Университет
Кафедра
________________МОиПЭВМ_______
Зав. Кафедрой _________________
________________________
________________________
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Пояснительная записка
к курсовой
работе
ПГУ 151001-02КР101.09ПЗ
(обозначение
документа)
Автор работы
(подпись, инициалы, фамилия)
Группа____10ММ1_______________
Руководитель Работы ____________А.Н. Ракова__________________
Работа защищена
«_____»_______2011г. Оценка________________________
Члены комиссии:
________________________
________________________
2011
Реферат
Пояснительная записка содержит 20 листов, 6 рисунков, структуру ЭВМ, схему алгоритма, программу, результаты расчетов.
В
данной курсовой работе приведено задание,
требующее для решения
Содержание
Введение…………………………………………………………
1 Теоретическая часть
1.1 Понятие алгоритма. Свойства алгоритма
. Представление алгоритмов.
Базовые управляющие конструкции алгоритмов(структура
«следование», «ветвление», «цикл»)……………………………………………………………
1.2 Описание процедур и функций в языке программирования Borland
Pascal 7.0………………………………………………………………………
2 Определение
двух параметров
2.1 Математическая часть…………………………
2.2 Описание алгоритма решения задачи…………………………………18
2.3 Анализ результатов вычисления…
Заключение……………………………………………………
Список используемых источников…………………………………………….22
Приложение A. Текст
программы и распечатка с ЭВМ…………………
.….23
Введение
Составление программ для ЭВМ и их эксплуатация – весьма сложное и трудоемкое занятие. Оно требует больших затрат умственного труда и времени. Поэтому разработчики новых алгоритмических языков стремятся к тому, чтобы программирование было как можно более простым и доступным широкому кругу людей, работающих в различных отраслях промышленности.
Язык Паскаль, утвержденный в качестве стандартного в 1979 г., является наиболее совершенным по сравнению с такими универсальными языками программирования, как Алгол, Фортрант, Бейсик и др.
Благодаря
своей эффективности, простоте и
логичности, он быстро получил широкое
распространение во всем мире. В настоящее
время почти все вычислительные машины
и особенно микроЭВМ, могут работать на
этом языке. Тексты программ легко проверяются
на правильность, так как смысл их прост
и очевиден.
1
Теоретическая часть
1.1 Понятие алгоритма.
Свойства алгоритма .
Представление алгоритмов.
Базовые управляющие
конструкции алгоритмов(структура
«следование», «ветвление»,
«цикл»)
Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Основными свойствами алгоритма являются:
1)Детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;
2)Результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;
3)Массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
4)Дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений;
5) Универсальность. Алгоритм должен быть составлен так, чтобы им мог воспользоваться любой исполнитель для решения аналогичной задачи;
6) Дискретность. Алгоритм должен состоять из конкретных действий, следующих в определенном порядке.
Алгоритмы можно записывать разными способами, называемыми формой представления алгоритма. На практике наиболее распространены следующие формы представления алгоритмов:
1)словесная (записи на естественном языке);
2)графическая (изображения из графических символов);
3)псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
4)программная (тексты на языках программирования).
Словесная форма представления алгоритмов
Словесная форма записи не так широко распространена в литературе из-за ее многословности и отсутствия наглядности.
Рассмотрим запись алгоритма в словесной форме на примере алгоритма нахождения максимального из двух значений:
Определим форматы переменных X, Y, M, где X и Y – значения для сравнения, M – переменная для хранения максимального значения.
- Получим два значения чисел X и Y для сравнения;
- сравним X и Y;
- если X меньше Y, значит большее число Y;
- поместим в переменную M значение Y;
- если X не меньше (больше) Y, значит большее число X;
- поместим в переменную M значение X.
Как видно из данного примера словесный способ описания обладает следующими недостатками:
- описание строго не формализуемо;
- запись получилась многословной;
- отдельные предписания (действия) допускают неоднозначность толкования.
Именно эти три причины не позволили получить широкое распространение словесной форме записи.
Графический способ представления алгоритмов
Графический
способ оказался очень удобным средством
изображения алгоритмов и получил
широкое распространение в
Структурная (блок-) схема алгоритма – графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри каждого блока дается описание соответствующего действия.
Графическое
изображение алгоритма широко используется
перед программированием задачи
вследствие его наглядности, т.к. зрительное
восприятие обычно облегчает процесс
написания программы, ее корректировки
при возможных ошибках, осмысливание
процесса обработки информации.
В
таблице 1 приведены наиболее часто употребляемые
символы
| Название символа | Обозначение и пример заполнения | Пояснение |
| Процесс | Вычислительное действие или последовательность действий | |
| Решение | Проверка условий | |
| Модификация | Начало цикла | |
| Предопределенный процесс | Вычисления по подпрограмме, стандартной подпрограмме | |
| Ввод-вывод | Ввод-вывод в общем виде | |
| Пуск-останов | Начало, конец алгоритма, вход и выход в подпрограмму | |
| Документ | Вывод результатов на печать |
Псевдокод представляет собой систему
обозначений и правил, предназначенную
для единообразной записи алгоритмов.
Он занимает промежуточное место между
естественным и формальным языками. С
одной стороны, псевдокод близок к обычному
естественному языку, поэтому алгоритмы
могут на нем записываться и читаться
как обычный текст. С другой стороны, в
псевдокоде используются некоторые формальные
конструкции и математическая символика,
что приближает запись алгоритма к общепринятой
математической записи. В псевдокоде не
приняты строгие синтаксические правила
для записи команд, присущие формальным
языкам, что облегчает запись алгоритма
на стадии его проектирования и дает возможность
использовать более широкий набор команд,
рассчитанный на абстрактного исполнителя.
Однако в псевдокоде обычно имеются некоторые
конструкции, присущие формальным языкам,
что облегчает переход от записи на псевдокоде
к записи алгоритма на формальном языке.
В частности, в псевдокоде, так же, как
и в формальных языках, есть служебные
слова, смысл которых определен раз и навсегда.
Они выделяются в печатном тексте жирным
шрифтом, а в рукописном тексте подчеркиваются.
Единого или формального определения
псевдокода не существует, поэтому возможны
различные псевдокоды, отличающиеся набором
служебных слов и основных (базовых) конструкций.
К таким конструкциям обычно относят ветвления
(если …то … иначе
…) и циклы (цикл
от … до …, цикл
пока, цикл до...).
Линейный алгоритм(следование) – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.
Пример линейного алгоритма изображен на рисунке 1:
Циклический
алгоритм – описание действий, которые
должны повторяться указанное число раз
или пока не выполнено заданное условие.
Перечень повторяющихся действий называют телом цикла.
Циклические алгоритмы бывают двух типов:
1)циклы со счетчиком, в которых какие-то действия выполняются определенное число раз;
2)циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия. Различают циклы с предусловием и постусловием.
Циклы со счетчиком используют когда заранее известно какое число повторений тела цикла необходимо выполнить.
Пример
циклического алгоритма со счетчиком
изображен на рисунке 2.
Рисунок 2
Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.
Пример
циклического алгоритма с условием изображен
на рисунке 3
Рисунок 3
Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Компьютер тоже в зависимости от какого-либо условия может выполнять или не выполнять те или иные действия. Алгоритм, в котором используется условие, получил название разветвляющегося, так как в зависимости от значения условия выбираются те или иные действия.
В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие, то действие 1, иначе действие 2»
Пример разветвляющегося алгоритма
изображен на рисунке 3
Рисунок
4
1.2 Описание процедур и функций в языке программирования Borland
Pascal 7.0
Процедура и функция – это именованная последовательность описаний и операторов. При использовании процедур или функций Паскаль-программа должна содержать текст процедуры или функции и обращение к процедуре или функции. Тексты процедур и функций помещаются в раздел описаний процедур и функций.
Структура описания процедур и функций до некоторой степени похожа на структуру Паскаль-программы: у них также имеются заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, процедур, функций, переменных. Исполняемая часть содержит собственно операторы процедур.
Как известно, синтаксически Turbo Pascal программа состоит из необязательного заголовка и блока. Блоки могут быть: глобальные и локальные.
Глобальный блок - это основная программа, он должен быть в любом случае. Локальные блоки - это процедуры и функции, их присутствии необязательно. Соответственно объекты программы (типы, константы, переменные и т.д.) глобального блока называются глобальными, а локального блока локальными.
Часто при разработке программ возникает необходимость в реализации одного и того же алгоритма в разных точках программы и с разными исходными данными. Чтобы избежать повторения, алгоритм составляется пользователем один раз и оформляется в виде процедур или функций. Затем этот алгоритм вызывается в соответствующих (нужных) местах программы. Использование процедур и функций позволяет:
- сократить объем
и улучшить структуру
- уменьшить вероятность ошибок и облегчить процесс отладки программы;
- дает возможность
выполнить разработку
На языке Turbo Pascal процедуры и функции записываются зарезервированными словами Procedure и Function соответственно. Описание процедур и функций осуществляется в разделе описаний данных.
Описание процедуры:
Procedure идентификатор процедуры>
( <список формальных параметров с объявлением типа> );
var <раздел описаний>; {локальные данные}
begin {начало локального блока}
<раздел операторов>
end; {конец локального блока}
Допускается описание процедур без параметров.
Описание функции:
Function идентификатор функции> ( <список формальных параметров с объявлением типа> ): <тип функции-результата>;
var <раздел описаний>; {локальные данные}
begin {начало локального блока}
<раздел операторов>
end; {конец локального блока}
В разделе операторов должен находиться оператор присваивания:
идентификатор функции> : = <значение-ответ>;
Описание процедуры или функции само по себе никакого действия не вызывает. Чтобы использовать процедуру или функцию, необходимо в нужной точке программы поместить обращение к ней. Записать специальный оператор вызова процедуры в следующем виде:
идентификатор процедуры> ( <список фактических пара-метров> );
Вызов функции осуществляется по имени функции аналогично обращению, например к математической функции sin X:
х:= 0.5;
a:=sin (х);
или
a:=sin (0.5);
Вызов sin X осуществляется оператором присваивания.
Между фактическими
и формальными параметрами
Формальные параметры могут быть заданы как:
- параметры-значения (передача параметров по значению);
- параметры-переменные
(передача параметров по
Передача параметров по значению обеспечивает сохранность величины передаваемого параметра. Изменение их в процедуре никак не отразится на фактических параметрах.
Передача параметров
по ссылке при изменении формального
параметра обеспечивает изменение фактического
параметра. Параметры переменные записываются
в списке формальных параметров после
зарезервированного слова Var.
2
Определение двух параметров
геометрической фигуры\
2.1 Математическая часть
Усечённый цилиндр
Усечённый цилиндр-геометрическое
тело, отсекаемое от Цилиндра плоскостью, непараллельной
основанию. Площадь полной поверхности
усеченного цилиндра равна: S=2ПRh1+ПR^2+Пa1R+ПR(h2-h1)
рисунок 5
Прямоугольный параллелепипед - это объемная фигура, у которой шесть граней, и каждая из них является прямоугольником. Площадь полной поверхности прямоугольного параллелепипеда равна:
Sп=2(ab+bc+ac), где
a,b,c - измерения прямоугольного параллелепипеда.
c
рисунок
6
- Описание алгоритма решения задачи
В изображенном алгоритме блоки имеют описанное ниже значение:
1. Начало программы.
2. Ввод данных.
3. Цикл while выполняется пока b1<=b2 b gjrf S1>=S2 .
4. Присваивание переменной а1 значения выражения :
a1=(sqrt(4(r1)^2+(h2-h1)^2))/2
5. Вычисление площади усеченного цилиндра.
6. Вычисление площади параллелограмма.
7. Прибавление к радиусу и стороне соответствующих значений шагов.
8. Вычитание из радиуса шага.
9. Вывод радиуса.
10.
Конец программы.
2.3 Анализ результатов вычисления
Расчеты,
произведенные в программе, позволили
получить результаты, приведенные в таблице
2:
Таблица
2 – Результаты работы программы
| r1 | 13,1 |
| r2 | 0,3 |
| k | -0.1 |
| a | 4,5 |
| b1 | 0,3 |
| b2 | 7,7 |
| m | 0,1 |
| c | 2,8 |
| h1 | 9,0 |
| h2 | 10,0 |
| Минимальное значение радиуса основания усеченного круглого цилиндра r | 5,700 |

- Алгоритмизация и программирование процессов обработки данных в среде Visual Basic 6
- Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
- Алгоритмизация. Понятие алгоритма и алгоритмической системы. Свойства алгоритма. Проектирование алгоритмов. Блок-схема алгоритма. Основн
- Алгоритмизация процедуры исследования и подготовки исходных данных для постановки и решения задачи оценки земельного участка
- Алгоритм интерфейстері
- Алгоритм и программа решения задачи поиска экстремума функции градиентным методом
- Алгоритм использования данной методологии
- Алгоритм зведення рівняння поверхні другого порядку до канонічного вигляду
- Алгоритм и алгоритмы сортировки
- Алгоритм и его свойства. Способы записи алгоритма
- Алгоритмизация вычислительных процессов
- Алгоритмизация геоинформационных технологий в задачах, связанных с картопостроением
- Алгоритмизация и основы программирования
- Алгоритмизация и программирование