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

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

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

Автор работы Архипова Е.В. 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