Алгоритмизация и программирование


Алгоритмизация и программирование

Пояснительная записка к курсовой работе по дисциплине “Вычислительная техника и программирование”

Автор работы Архипова Е. В. 0611 (“Менеджмент”)

Пензенский государственный университет, Кафедра “Математическое обеспечение и применение ЭВМ”

Пенза 1998

Составить схему алгоритма и программу на алгоритмическом языке C++ для решения следующей задачи.

Найти максимальное значение внутреннего радиуса цилиндрической трубы R1 ( R1изменяется от L до N с шагом М ) , для которого объем цилиндрической трубы не меньше объема прямоугольного параллелепипеда со сторонами А, В и С. Внешний радиус R2 и высота Н цилиндрической трубы остаются неизменными.

Исходные данные

L

N

M

A

B

C

R2

H

2.3

12.5

0.1

2.4

3.7

10.4

12.6

2.3

Объем работы по проекту

1. Расчетная часть

Выбор математических формул для решения поставленной задачи

Реферат

Пояснительная записка содержит 16 листов, 4 рисунка, 2 формулы

3 использованных источника, 2 приложения.

С++ , ПРОГРАММА, РЕЗУЛЬТАТЫ, СХЕМА АЛГОРИТМА.

В настоящей курсовой работе приведено задание, требующее для решения использования современных средств вычислительной техники. Дана структура и описано функциональное назначение основных блоков ЭВМ. Изложены математические подходы к решению задачи, поставленной в работе. Разработана схема алгоритма реализации ее решения. Предложен текст программы на алгоритмическом языке С++ , представлены результаты расчетов и проведен их анализ.

Введение

История появления и развития персональных компьютеров является одним из наиболее впечатляющих явлений нашего века. С момента появления первых образцов персональных компьютеров прошло меньше 25 лет, но сейчас без них уже немыслимо огромное количество областей человеческой деятельности – экономика, управление, наука, инженерное дело, издательское дело, образование, культура и т. д. Интерес к персональным компьютерам постоянно растет, а круг их пользователей непрерывно расширяется. В число пользователей ПЭВМ вовлекаются как новички в компьютерном деле, так и специалисты по другим классам ЭВМ.

Язык С++ – универсальный язык общего назначения, область приложений которого – программирование систем в самом широком смысле. Кроме этого, С++ успешно используется как во многих приложениях, так и в мощных операционных системах. Реализация С++ осуществлена для машин в диапазоне от самых простых персональных компьютеров до самых мощных суперкомпьютеров и для всех операционных систем.

1. Структура современных ЭВМ

Основными компонентами компьютера являются процессор, память, устройства ввода и вывода. С помощью устройства ввода программа и исходные данные попадают в память. Программа содержит последовательность инструкций, которую выполняет процессор. Результаты выполнения программы поступают в устройства вывода. В качестве устройства ввода, как правило, используется клавиатура, в качестве устройства вывода – дисплей, на котором высвечиваются результаты выполнения программ, или принтер.

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

Рис.2. Структурная схема ПЭВМ

На рис.2 изображена структурная схема ПЭВМ, которая содержит следующие основные компоненты:

1) ЦП – центральный процессор, который управляет работой ПЭВМ а и выполняет все вычисления;

2) ОЗУ – оперативное запоминающее устройство, в котором располагаются программы, выполняемые ПЭВМ, используемые программами данные.

3) ПЗУ – постоянное запоминающее устройство, в котором располагаются программы, выполняемые ПЭВМ при своем включении.

Схема содержит следующие компаненты, которые предназначены для связи ПЭВМ с внешними устроуствами :

1) Контроллер дисплея – позволяет подключить процессор к видео контрольному устройству, обеспечивает передачу видеоинформации и переключение видеорежимов дисплея;

2) Контроллер клавиатуры – позволяет подключить процессор к устройству ручного ввода информации, обеспечивает опрос каждой клавиши и передает процессору код нажатой клавиши;

3) Порты ввода – вывода, через которые процессор обменивается данными с внешними устройствами, предназначены для подключения к ним внешних устройств, таких как принтер, динамик, внешние устройства памяти;

4) Контроллер накопителя на диске – связывает накопители внешней оперативной памяти с ОЗУ, обеспечивает прием, передачу информации от носителя;

На схеме показаны следующие внешние устройства ПЭВМ:

1) Дисплей – основное средство оперативного вывода информации, предназначен для вывода текстовой или графической информации на экран.

2) Клавиатура – стандартное устройство ввода информации, основное средство взаимодействия пользователя с ПЭВМ.

3) Принтер – устройство печати текстовой и графической информации.

Принтеры бывают 3х типов – матричные, струйные и лазерные.

4) Накопитель на гибких магнитных дисках – устройство внешней памяти – служит для долговременного хранения информации – программ, архивных данных и т. д. Емкость носителя и скорость передачи данных незначительная.

5) Накопитель на жестких магнитных дисках – устройство внешней памяти – служит для долговременного хранения информации – программ, архивных данных и т. д. Емкость носителя и скорость передачи данных высокая.

2. Математическая часть

На Рис.3 изображены геометрические фигуры: цилиндрическая труба и прямоугольный параллелепипед.

Рис.3. Геометрические фигуры

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

Формула (1) – объем прямоугольного параллелепипеда:

(1)

где A, B,C – стороны прямоугольного параллелепипеда.

Формула (2) – объем цилиндрической трубы:

(2)

где h – высота цилиндрической трубы;

R1 – внутренний диаметр цилиндрической трубы;

R2 – внешний диаметр цилиндрической трубы.

3. Описание алгоритма решения задачи

По условиям, заданным в задаче, значение внутреннего радиуса цилиндрической трубы R1 изменяется сo значения L до N с шагом M.

Причем объем цилиндрической трубы не может быть меньше объема прямоугольного параллелепипеда.

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

В соответствии с приведенным словесным описанием алгоритма решения поставленной задачи разработана схема решаемой задачи, которая изображена на рис.4.

В изображенном алгоритме блоки имеют описанное ниже назначение:

Блок 1. Начало программы;

Блок 2. Ввод L, N,M, R2,H, A,B, C с клавиатуры;

Блок 3. Вычисление объема прямоугольного параллелепипеда;

Блок 4. Установка начального максимального значения внутреннего радиуса цилиндрической трубы;

Блок 5. Организация цикла переменной R1;

Блок 6. Вычисление объема цилиндрической трубы;

Блок 7. Проверка условия Vc <= Vt, если оно выполняется, то переход на блок 8 , если нет, то на блок 10;

Блок 8. Проверка условия MAX < R1 , если оно выполняется, то переход на блок 9 , если нет, то на блок 10;

Блок 9. Вычисление максимального значения внутреннего радиуса, объема цилиндрической трубы;

Блок 10. Вывод значений объема цилиндрической трубы, объема прямоугольного параллелепипеда, максимального значения внутреннего радиуса;

Блок 11. Конец программы.

4. Анализ результатов вычислений

Расчеты, проведенные по программе, реализующей описанный в 3 алгоритм (текст программы см. в приложении) , позволили получить следующие результаты:

Введите L, N,M:

2.3 12.5 0.1

Введите R2,H:

12.6 2.3

Введите A, B,C:

2.4 3.7 10.4

Объем цилиндрической трубы=106.595131

Объем прямоугольного параллелепипеда=92.352005

Максимальное значение внутреннего радиуса=12.00001

Анализ этих результатов дает возможность сделать вывод, что составленная программа позволяет правильно решить поставленную задачу т. к. результаты ее работы совпадают с результатами, полученными при вычислении вручную. Выведенные на экран величины объема прямоугольного параллелепипеда, объема цилиндрической трубы и ее максимальное значение внутреннего радиуса отвечают условиям поставленной задачи.

Заключение

В курсовой работе решена задача определения максимального значения внутреннего радиуса цилиндрической трубы, для которого объем цилиндрической трубы не меньше объема прямоугольного параллелепипеда со сторонами А, В и С.

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

Список литературы

1. Бронштейн И. Н. , Семендяев К. А. Справочник по высшей математике для инженеров и учащихся втузов. – М.: Наука, 1981 . – 718 с.

2. Бьярн Страуструп. Язык программирования С++.в двух частях. Пер. с англ. Киев: “ДиаСофт” , 1993.-296 с.,ил.

3 . Корриган Джон : С++ основы программирования: Пер с англ. – М.:Энтроп, 1995. – 352 с., ил.

ПРИЛОЖЕНИЕ 1

ТЕКСТ ПРОГРАММЫ

#include <conio. h>

#include <iostream. h>

#include <math. h>

Void main() {

float L, N,M, R2,R1,H, A,B, C,MAX, VC, VT, V;

clrscr();

cout<<“\n”<<” Введите L, N,M: “<<“\n”;

cin>>L>>N>>M;

cout<<“\n”<<” Введите R2,H: “<<“\n”;

cin>>R2>>H;

cout<<“\n”<<” Введите A, B,C: “<<“\n”;

cin>>A>>B>>C;

VC=A*B*C;

MAX=-1E38;

for (R1=L;R1<=N;R1=R1+M)

{ VT=H*3.14*(R2*R2-R1*R1);

if (VC<=VT) if(MAX<R1) {MAX=R1; V=VT;}}

cout<<“\n”<<“Объем цилиндрической трубы=”<<V;

cout<<“\n”<<“Объем прямоугольного параллелепипеда=”<<VC;

cout<<“\n”<<“Максимальное значение внутреннего радиуса=”<<MAX;

getch();

}

ПРИЛОЖЕНИЕ 2

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

Введите L, N,M:

2.3 12.5 0.1

Введите R2,H:

12.6 2.3

Введите A, B,C:

2.4 3.7 10.4

Объем цилиндрической трубы=106.595131

Объем прямоугольного параллелепипеда=92.352005

Максимальное значение внутреннего радиуса=12.00001



Зараз ви читаєте: Алгоритмизация и программирование