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

Автор работы: Пользователь скрыл имя, 08 Ноября 2011 в 18:43, курсовая работа

Краткое описание

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

Содержание работы

Введение………………………………………………………………………….5
1 Теоретическая часть
1.1 Современное направление развития внутренней памяти ЭВМ………6
1.2 Определение цикла в Turbo Paskal…………………………………….7
2 Определение двух параметров геометрической фигуры
2.1 Математическая часть………………………………………………….12
2.2 Описание алгоритма решения задачи…………………………………13
2.3 Анализ результатов вычисления………………………………………16
Заключение………………………………………………………………………17
Список используемых источников…………………………………………….18
Приложение. Текст программы и распечатка с ЭВМ

Содержимое работы - 1 файл

Информатика.doc

— 782.50 Кб (Скачать файл)

   В версии Турбо Паскаль 7.0 определены стандартные  процедуры:

   Break

   Continue

   Процедура Break выполняет безусловный выход  из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.

   Заметим, что хотя и существует возможность  выхода из цикла с помощью оператора  безусловного перехода goto, делать этого  не желательно. Во всех случаях можно  воспользоваться специально предназначенными для этого процедурами Break и Continue.  
 
 
 
 
 
 
 
 
 

2 Определение двух  параметров геометрической  фигуры

2.1 Математическая часть 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок 1 – Геометрические фигуры 

Объем цилиндрической трубы вычисляется по формуле (1):

 

(1) 

где h – высота цилиндрической трубы, r1 и r 2 – внутренний и внешний радиусы цилиндрической трубы.

Объем шара находим  по следующей формуле (2):

 
 
 

(2)

где r3 – радиус шара. 

Для решения  поставленной задачи надо найти минимальное  значение высоты цилиндрической трубы. 
 
 
 

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

Функции:

  1. Vtr
 

     

          вход

      Vtr:= pi*h1*(sqr(r2)-sqr(r1)) 

             выход      

  1. Vchar

     

                               вход 

              Vshar:=(4*pi*r3*r3*r3)/3 
 
 

        выход 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Программа:

          начало  

 

                                                      h1, h2, m, r1,

                               r2, r3, r4, r5, k

цикл 1

h1:=h1+m

r3:=r3+k

  vtrub:=Vtr(h1,r1,r2)

  vsh:=Vchar(r3)

                                                            

                                                              цикл 1

vtrub<=vsh

h1<h2

r3>r5

                                                            h1:=h1-m

r3:=r3-k

vtr(h1,r1,r2), Vchar(r3),h1,r3

h1:=h1+m

r3:=r3+k

vtr(h1,r1,r2), Vchar(r3),h1,r3

h1:=h1-2*m

r3:=r3-2*k

vtr(h1,r1,r2), Vchar(r3),h1,r3

  конец

    По  условию задачи цилиндрической трубы  изменяется от h1 до h2 с шагом m и вычисляем объем цилиндрической трубы по формуле (1).

    Задаем  условие, что объем цилиндической  трубы не меньше объема шара радиуса  r3 (радиус r3 изменяется от r4 до r5 с шагом k одновременно с h), который вычисляется по формуле (2).

    Если  условие выполняется, то значение  высоты цилиндрической трубы и значение радиуса шара изменяются на один шаг.

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

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

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

    2. Ввод данных.

    3. Начало цикла.

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

    5. Увеличиваем значение радиуса  шара.

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

    7. Расчет объема шара.

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

    9. Уменьшаем значение высоты цилиндрической  трубы.

   10. Уменьшаем значение радиуса шара.

   11. Вывод рассчитанных данных.

   12. Увеличиваем значение высоты  цилиндрической трубы.

   13. Увеличиваем значение радиуса  шара.

   14. Вывод  рассчитанных данных.

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

   16.Уменьшаем значение радиуса шара на два шага.

   17. вывод  рассчитанных данных.

   18. Конец  программы. 

2.3 Анализ результатов  вычисления

    Расчеты, произведенные в программе, позволили  получить результаты, приведенные в таблице 1:

H1 16,1
h2 0,8
m -0.1
r4 1,8
r5 5,5
k 0,1
r1 6,6
r2 9,3
Объем Цилиндрической трубы  1429,607
Объем шара 696,910
Минимальное значение высоты 10,6
Максимальное  значение радиуса  шара 5,5
 

Таблица 1 – Результаты работы программы 
 
 
 

  
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Заключение 

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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Список  используемых источников 

  1. В.Ф. Шаньгин, П.М. Поддубная – «Прогаммирование на языке «Паскаль».
  2. Александр Левин «Турбо Паскаль 7.0» изд. «Питер».
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  А.

Текст программы и распечатка с ЭВМ

program kursovaya;

uses crt;

var

h1, h2, m, r1, r2, r3, r4, r5, k, vsh, vtrub:real;

function Vtr(h1,h2,r2:real):real;

begin

Vtr:= pi*h1*(sqr(r2)-sqr(r1));

end;

function Vshar(r3: real):real;

begin

Vshar:=(4*pi*r3*r3*r3)/3;

end;

begin

clrscr;

writeln('Vvod dannih:');

write('nachalnoe znacheni visoti h1:');

readln(h1);

write('konechnoe znachenie visotih2:');

readln(h2);

write('prirachenie visoti m:');

readln(m);

write('vnutrennii radius zilindricheskoi trubi r1:');

readln(r1);

write('vnechnii radius zilindricheskoi trubi r2:');

readln(r2);

write('nachlnoe znacenie radiusa chara r4:');

readln(r4);

write('konechnoe znachenie radiusa chara r5:');

readln(r5);

write('prirachenie radiusa k:');

readln(k);

repeat

h1:=h1+m;

r3:=r3+k;

vtrub:=Vtr(h1,r1,r2);

vsh:=Vshar(r3);

until(vtrub<=vsh) or (h1<h2) or (r3>r5);

h1:=h1-m;

r3:=r3-k;

writeln('rezultati  vichesleni:');

writeln('obiem zilindricheskoi trubi:', vtr(h1,r1,r2):8:3);

writeln('obiem chara:', Vshar(r3):8:3);

writeln('minimalnoe znachenie visoti:', h1:8:3);

writeln('maksimalnoe znachenie radiusa chara:',r3:8:3);

h1:=h1+m;

r3:=r3+k;

writeln('rezultat vicheslenii predidychii chag:');

writeln('obiem zilindricheskoi trubi:', vtr(h1,r1,r2):8:3);

writeln('obiem chara:', Vshar(r3):8:3);

writeln('minimalnoe znacenie visoti:',h1:8:3);

writeln('maksimalnoe znachenie radiusa chara:', r3:8:3);

h1:=h1-2*m;

r3:=r3-2*k;

writeln('rezultati vichslenii posledujuchi chag:');

writeln('obiem zilindricheskoi trubi:', vtr(h1,r1,r2):8:3);

writeln('obiem chara:', Vshar(r3):8:3);

writeln('minimalnoe znacheni visoti:', h1:8:3);

writeln('maksimalnoe znachenie radiusa chara:',r3:8:3);

readkey;

end. 

 

      Рисунок 2 – Результат вычислений 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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