Курсовая

Курсовая на тему Информатика Алгоритмизация и программирование

Работа добавлена на сайт bukvasha.net: 2013-11-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.9.2024


  Министерство образования и науки Российской федерации
Федеральное агентство по образованию
Саратовский Государственный Технический Университет
Кафедра «Информатика»
Курсовая работа
Тема: «Информатика. Алгоритмизация и программирование»
 
                                                                 Выполнил
                                                                                      студент АМФ ПСМ-21
                                                                                    Зеленин-Адамов С.Г.
                                                                                               Номер зачетки 040106
                                                                                   Проверил ассистент
                                                                                                кафедры «Информатика»
                                                                                                                Можаева Н.А.
 
Саратов 2006

СОДЕРЖАНИЕ
  Задача 1. 3
Задача 2. 7
Задача 3. 10
Задача 4. 13
Задача 5. 17
Список использованной литературы.. 21


Задача 1.

Выполнить расчет максимальной мощности двигателя автомобиля и расчет внешней характеристики двигателя при следующих начальных условиях:
mo,
кг
Vmax, км/ч
Kв
 кг/м3
F,
м2
Ψv
nN
мин-1
Kv
ηтр
6000
100
0,62
3,9
0,021
3000
1,2
0,88
РЕШЕНИЕ.
Максимальная мощность двигателя тягача по условию обеспечения заданной максимальной скорости рассчитывается по формуле:               
                                ,                                      (1)
где Nemax- искомая максимальная мощность, кВт;
      Nv – мощность на режиме максимальной скорости, кВт;
      Kv – отношение частоты вращения коленчатого вала двигателя при максимальной скорости движения тягача к номинальной частоте вращения:
                                 ,                                                               (2)
      nN- частота вращения коленчатого вала двигателя на режиме максимальной мощности (номинальная), мин-1
      nv- частота вращения коленчатого вала двигателя при максимальной скорости автомобиля, мин-1.
Мощность на режиме максимальной скорости определяется по формуле (3):  
        
,                        (3)
где m0  - масса тягача, кг;
Ψ - суммарный коэффициент сопротивления дороги;
V max – заданная максимальная скорость тягача;
ηтр –  КПД трансмиссии;
Kв  - коэффициент сопротивления воздуха, кг/м3;
F – лобовая площадь тягача, м2.
Внешняя характеристика двигателя представляет собой зависимость мощности, крутящего момента от частоты вращения коленчатого вала двигателя при полном открытии заслонки карбюратора.
При известном значении максимальной мощности Nemax мощность в любой другой точке характеристики может быть найдена по формуле Лейдермана:
                                     (4)
где Ne  - мощность двигателя при произвольном значении частоты вращения коленчатого вала, кВт;
      Nemax   -  максимальная мощность двигателя, кВт;
      n          - заданная частота вращения коленчатого вала, мин-1;    
       nN  - частота вращения коленчатого вала на режиме максимальной мощности, мин-1;
      a,b,c - коэффициенты, принимаемые для бензиновых двигателей, равны 1.
Крутящий момент в любой точке характеристики определяется по формуле:
                       
                              Me=9549 (Ne/ n),                                                 (5)
Составим схему алгоритма. В алгоритме будет три блока: ввод исходных данных, расчет по формулам(1)-(5) и вывод результата.
 SHAPE  \* MERGEFORMAT
Начало
mo, Vmax, Kв, F, Ψv, nN, Kv, ηтр


a=1, b=1, c=1


Nv, Nemax, Ne, Me, nv
Конец


По приведенной блок-схеме была составлена программа, листинг которой приведен ниже.
program lab1;
var m0,vmax,Ke,F,Fv,nN,Ky,n_tr:real;  {peremennye - ishodnye dannye}
    Nv,Ne_max,n_v,Ne,Me:real;         {peremennye - rezultaty}
BEGIN
{-----------VVOD ISHODNYH DANNYH-----}
  writeln ('Vvedite ishodnye dannye:');
  write ('m0=');readln(m0);
  write ('Vmax=');readln(Vmax);
  write ('Ke=');readln(Ke);
  write ('F=');readln(F);
  write ('Fv=');readln(Fv);
  write ('nN=');readln(nN);
  write ('Ky=');readln(Ky);
  write ('n_tr=');readln(n_tr);
{----------RASCHET-------------------}
  Nv:=2.725E-03*m0*Fv*Vmax/n_tr+2.14e-05*Ke*F*sqr(Vmax)*Vmax/n_tr;
  Ne_max:=Nv/(Ky*(1+Ky*(1+Ky)));
  n_v:=Ky*nN;
  Ne:=Ne_max*(n_v/nN+sqr(n_v/nN)-sqr(n_v/nN)*n_v/nN);
  Me:=9549*(Ne/n_v);
{----------VIVOD REZULTATA-----------}
  writeln('Nv=',Nv);
  writeln('Ne_max=',Ne_max);
  writeln('n_v=',n_v);
  writeln('Ne=',Ne);
  writeln('Me=',Me);
End.
Решение этой же задачи было проведено в ЭТ Excel. Ниже представлен лист с решением и результатами.


        
Программу написанную на языке Паскаль копирую и вставляю в проект, затем исправляю существенные различия.

Задача 2.

Вычислить функцию  , для  с шагом  .

a
b
h
f(x)
Начало отрезка
Конец отрезка
Шаг по отрезку
9
-12
0
1

начало
X=-12
X<-7
X<=-3
f=
f,x
конец
f=
f=
X=X+1
x£0

РЕШЕНИЕ
Выполним схему алгоритма.

                                                                                                             



Эта схема была реализована на языке Паскаль в трех вариантах: были задействованы циклы с предусловием, с постусловием и с параметром. Листинги программ приведены ниже.
а) Цикл с постусловием
program lab21;
 var x,f:real;
 begin
   x:=-12;
   repeat
   if x<-7 then f:=sin((3.14/12)*x)
   else
   if x<=-3 then f:=2*cos((3.14/6)*x+(3.14/12))
   else
   f:=5* sin((3.14/12)*x);
   writeln('f(',x:3:1,')=',f:6:2);
   x:=x+1;
   until x>0;
readln;
end.
б) Цикл с предусловием
program lab22;
  var x,y:real;
begin
 x:=-12;
 while x<=0 do
 begin
 if x<-7 then y:= sin((3.14/12)*x)
 else
 if x<=-3 then y:= 2*cos((3.14/6)*x+(3.14/12))
 else
 y:= 5* sin((3.14/12)*x);
 writeln('f(',x:3:1,')=',y:6:2);
 x:=x+1;
 end;
readln;
end.
в) Цикл с параметром
program lab23;
 var
 x,y,a,b,h,n1:  real;
 n ,i             :  integer;
begin
x:=-12;
a:=-12;b:=0;h:= 1;
  n1:=(b-a)/h; n:=round(n1);
    for i:=0 to n do
    begin
    if x<-7 then y:= sin((3.14/12)*x)
    else
    if x<=-3 then y:= 2*cos((3.14/6)*x+(3.14/12))
    else
    y:= 5* sin((3.14/12)*x);
    writeln('f(',x:3:1,')=',y:6:2);
    x:=x+1;
    end;
readln;
end.
Решение этой же задачи было проведено в Excel. При вычислении функции использовалась логическая функция ЕСЛИ. Лист с решением задачи размещен ниже.

Программу написанную на языке Паскаль копирую и вставляю в проект, затем исправляю существенные различия.

 


Задача 3

Применить метод деления отрезка пополам на интервале  и найти с точностью  корни уравнения .




9
-3
0

РЕШЕНИЕ
Алгоритм метода половинного деления заключается в следующем:
1.     Выбрать нулевое приближение x0=(a+b)/2.
2.     Если f(x0)=0, то x0 очевидно является корнем уравнения.
3.     Если f(x0)≠0, то проверить условия f(x0f(a)<0 и f(x0f(b)<0 и выбрать тот из отрезков [a, х0], [х0, b], на границах которого выполнено одно из этих условий (т.е. функция f(х) имеет на концах отрезка противоположные знаки).
4.     Выбранный отрезок вновь разделить пополам и вычислить значение x1.
5.     Для х1 проверить условие  f(х1)=0  и, если оно не выполняется, вернуться к п. 4.
6.     Процесс деления отрезков пополам продолжить до тех пор, пока длина отрезка, на концах которого функция имеет противоположные знаки, не будет меньше e .
7.     Принять, что условие  f(xk)= 0  выполнено, если
Ниже приведены блок-схема алгоритма и листинг программы на языке Паскаль.
 SHAPE  \* MERGEFORMAT
истина
начало
Ввод a, b, eps
x= (a + b)/2,i=0
F (x) =
F(x) =0
Abs (F(x))<eps
F(x)*F (a)>0
x: = b
x = (a + b)/2,i=i+1
конец
Печать x,i
x: = a
истина
истина
ложь
ложь
ложь


Program lab3;
 function f1 (x: real): real;
   begin
        f1:=cos(0.2*x*x-2);
  end;
 var
       x,a,b,e: real;
        iteraz: integer;
begin
  write ('Input a = ');  readln (a);
  write ('Input b = ');  readln (b);
  write ('Input e = ');   readln (e);
  iteraz:=0;
  x:=(a+b)/2;
  while (f1(x)<>0) and (abs(a-b)>e) do
  begin
  x:=(a+b)/2;
  iteraz:=iteraz+1; 
  if (f1(a)*f1(x))<0 then b:=x
  else a:=x;
  writeln ('n=', iteraz,'  x=', x:3:6,'  f(x)=', f1(x):3:6);
  end;
  readln;
end.
Решение этой задаче было проведено и в MS Excel. Лист с решением задачи и ответом приведен ниже.

Задача 4.

Вычислить определенный интеграл  методом прямоугольников: или трапеций, на выбор.
  , , ,  с точностью  .
Формула метода прямоугольников:
Формула метода трапеций: .




9
-3π
0

РЕШЕНИЕ
Алгоритм метода трапеций заключается в следующем:
1.     Отрезок [a,b] разбивается на n равных частей.
2.     Интеграл представляет собой площадь криволинейной трапеции, ограниченной осью OX, прямыми x=a и x=b и графиком функции. Очевидно, что интеграл от функции на отрезке равен сумме интегралов от этой же функции на каждом из маленьких отрезков, полученных в результате разбиения. Но на каждом из маленьких отрезков мы приближенно заменяем площадь криволинейной трапеции на площадь прямолинейной трапеции с основанием (высотой), равным длине маленького отрезка, и высотами (основаниями) f(xn) и f(xn+1), где xn – левая граница отрезка, xn+1 – правая граница отрезка. Основание (высота трапеции) равно
(b-a)/n, и таким образом площадь трапеции равна
(f(xn)+f(xn+1))(b-a)/2n. У нас всего n трапеций, причем каждые две соседние трапеции имеют одинаковые высоты (основания). Таким образом, в сумму каждое из f(xn) кроме f(a) и f(b) войдет дважды, и таким образом весь интеграл вычисляется как , где .
3.     В методе трапеций не определен шаг (количество отрезков разбиения). Очевидно, что чем больше количество отрезков, тем более точным будет результат. Поэтому, задаем начальное значение n (например n=10) и вычисляем интеграл.
4.     После этого удваиваем n и снова вычисляем интеграл (п. 2). Сравнивая полученные результаты, делаем вывод, достигнута ли требуемая точность.
5.     Если результаты отличаются друг от друга меньше чем на ε, то требуемая точность достигнута. Если нет, то снова удваиваем n и вычисляем интеграл еще раз (возвращаемся к п. 4).
Ниже представлена блок-схема алгоритма и листинг программы.
 SHAPE  \* MERGEFORMAT
НАЧАЛО
a=-3∙ pi,b=0,n=10,e=0.001
f(x)=
S:=0,h:=(b-a)/n,x:=a
i=1,n,1
S:=S+h* (f(x)+f(x+h))/2,x:=x+h
S1=S,n=2*n,x:=a,h:=(b-a)/n
i=1,n,1
S:=S+h* (f(x)+f(x+h))/2,x:=x+h
|S1-S|<e
ложь
истина
Печать S,n
КОНЕЦ

program pr4;
uses crt;
var
h,a,b,S,dS,P,x,eps:real;
n,i:integer;
function f(x:real) : real;
begin
f:=0,1*sin(0.1*x+0.0025*x*x)/cos(0.1*x+0.0025*x*x);
end;
begin
clrscr;
writeln('input a,b,n,eps, please');
write('a');
readln(a);
write('b');
readln(b);
write('n');
readln(n);
write('eps');
readln(eps);
s:=0;
repeat P:=S;
h:=(b-a)/2;
S:=0;
x:=a;
for i:= 1 to n do
begin
x:=x+h;
S:=S+f(x);
end;
S := S*h;
write('n=',n:3,'   h=',h:12:9);
n:=n*2;
until abs(P-S)/(s*100)<eps;
writeln;
writeln('Result S=',S:10:6,'   dS=',dS:12:9);
writeln;
writeln('Process ended');
writeln('Press any key to exit');
repeat until keydivssed;
end.
Данная задача была решена также в MS Excel. Лист с решением задачи приведен ниже. Требуемая точность была достигнута при n=10.

 

 

Программа выполненная на языке Microsoft Visual Basic 6.0

        
Private Sub Command1_Click()
Dim i As Integer
Dim x(1 To 40) As Double
Dim f(1 To 40) As Double
Dim f1(1 To 40) As Double
Dim s(1 To 40) As Double
a = -3 * 3.14
b = 0
e = 0.1
n = 40
h = (b - a) / n
i = 1
x(i) = a
f(i) = 0.1 * Tan(0.1 * x(i) + 0.025 * x(i) ^ 2)
f1(i) = f(i)
s(i) = h * f(i)
For i = 2 To n
x(i) = x(i - 1) + h
f(i) = 0.1 * Tan(0.1 * x(i) + 0.025 * x(i) ^ 2)
f1(i) = f1(i - 1) + f(i)
s(i) = h * f1(i)
Next
For i = 1 To n
Print " s="; s(i)
Next
If Abs(s(n) - s(n - 1)) < e Then Print "удвойте n"
End Sub
Private Sub Form_Load()
End Sub

 

Задача 5.

Дана прямоугольная матрица Ci,j,, размером . Если данная матрица является квадратной, найти сумму элементов главной диагонали, в противном случае найти сумму всех членов матрицы.
РЕШЕНИЕ
Составим схему алгоритма.
 SHAPE  \* MERGEFORMAT
начало
m ,n
i= 1 до m
j= 1 до n
C
m = n
«прямоугольная»
«квадратная»
S = 0
i = 1 до m
S = 0
i = 1 до m
j = 1 до n
j = i
S = S + C
S = S + C
S
конец

 

Program Lab_5;
uses crt;
  var
      i,j,m,n:integer;
      b,a  : array[1..10,1..10] of real;
      s  : real;
  begin
 clrscr;
    write ('chislo stolbcov n='); Readln(n);
    write ('chislo strok m='); readln (m);
    begin
    if m=n then
    s:=0;
       for i := 1 to n do
          begin
             for j := 1 to m do
               begin
                   write('a[',i,',',j,']='); readln(a[i,j]);
               end;
              writeln;
          end;
          begin
          if i=j then s:=s+a[i,j];
          writeln(s:6:3);
          end;
        if i<>j then
          begin
              s:=0;
       for i := 1 to n do
          begin
             for j := 1 to m do
               begin
                  s:=s+a[i,j];
               end;
                 writeln(s:6:3);
     end;
     end;
    readln;
 end;
end.
Данная задача была решена также в MS Excel. Лист с решением задачи приведен ниже.

Программа выполненная на языке Microsoft Visual Basic 6.0

Private Sub Command1_Click()
Dim i, j, m, n As Integer
Dim s As Double
Dim c(1 To 50, 1 To 50) As Double
m = 3
n = 3
For i = 1 To m
For j = 1 To n
c(i, j) = 7 * i - j
Next
Next
s = 0
For i = 1 To m
For j = 1 To n
If m = n Then s = s + c(i, i) Else s = s + c(i, j)
Next
Next
Print s
End Sub
Private Sub Form_Load()
End Sub
Список литературы
1.     Информатика: Базовый курс. / С. В. Симонович и др. СПб.: Питер, 2005
2.      Острейковский В. А. Информатика: Учеб. для вузов. – М.: Высш. шк., 2000. – 511 с.: ил.
3.     Алексеев Е. В. и др. Вычислительная техника и программирование. Практикум по программированию: Практ. пособие / В. Е. Алексеев, А. С. Ваулин, Г. Б. Петрова; Под ред. А. В. Петрова. – М.: Высш. шк., 1991. – 400 с.: ил
4.     Глушаков С. В., Мельников И. В. Персональный компьютер: Учебный курс / Худож. оформитель А. С. Юхтман. – Харьков: Фолио; М.: ООО «Издательство АСТ», 2001. – 520 с. – (Домашняя б-ка).
5.     Леонтьев В. Новейшая энциклопедия персонального компьютера. – М.: ОЛМА-ПРЕСС, 1999. – 640 с.
6.     Козлов В.В., Можаева Н.А., Зуева Н.Г. Информатика. Алгоритмизация и программирование. Мет. Указания и задания к курсовой работе,2006. -32с
        

1. Реферат Бан титул
2. Реферат Докетизм
3. Реферат Война Домициана с даками
4. Реферат Чины звания и титулы в Российской империи XVIII-XIX вв
5. Курсовая Аналітичний огляд розміщення продуктивних сил Львівської області
6. Контрольная работа Абай Кунанбаев 2
7. Реферат на тему Изгиб прямолинейного стержня
8. Курсовая Взаимопонимание в межличностном общении
9. Реферат на тему Windows NT Vs Unix As An Operating
10. Биография Куліш Микола