Отчет по программированию на Java

Автор работы: Пользователь скрыл имя, 30 Мая 2013 в 22:25, отчет по практике

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

В отчете по производственной практике представлены решения 6 задач из рекомендуемого к выполнению списка заданий и 4 задачи из свободной темы.
Интерфейс разработан в виде страниц с использованием языка разметки
HTML, вычислительные алгоритмы реализованы на языке JavaScript.
В перечне задач указан параметр S, при вычислении которого используется величина , у каждого студента он индивидуален. В производственной практике нам нужно освоить язык JavaScript, уметь на нем программировать и реализовывать важные задачи

Содержание

Введение
1. Метод половинного деления
2. Метод касательной
3. Метод хорд
4. Метод простых итераций
5. Метод Зейделя
6. План ранних и поздних сроков
7. Календарь с запланированными событиями
8. Математические задачи
Заключение
Список литературы

Вложенные файлы: 1 файл

отчет2.doc

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

   <td>

   <table border="1">

   <tr><td>1.32</td></tr>

   <tr><td>2.36</td></tr>

   <tr><td>3.59</td></tr>

   </table>

   </td>

   </tr>

   <tr><td></td><th align="left">Результат</th></tr>

   <tr align="left">

   <td><input type="button" value="Вычислить" onClick="form1.out.value=iter()"></td>

   <th colspan="3"><textarea name=out cols=10 rows=4></textarea></th>

   </tr>

   </table>

</form>

</center>

</body>

</html>

 Интерфейс программы

 

 
5. Метод Зейделя

Постановка задачи

Методом Зейделя решить систему уравнений с точностью

    

, где

Текст программы

 

<html>

<head>

<title> Метод Зейделя</title>

<h2 align="CENTER">Метод Зейделя</h2>

</head>

<head>

<tr><th>Время</th></tr>

</head>

<script LANGUAGE="javascript">

var id 

var position=0

var numofloop=10

function banner()  {   

var nor = new Date()

var minutes = nor.getMinutes()

var hours = nor.getHours()

var seconds = nor.getSeconds()

var nortime = "В  настоящий момент "

nortime += ((hours > 12) ? hours - 12 : hours)

nortime += ((minutes < 10) ? ":0" : ":") + minutes

nortime += ((seconds < 10) ? ":0" : ":") + seconds

nortime += (hours >= 12) ? " после полудня" : " до полудня"

var msg="                      А знаете сколько сейчас времени?  " + nortime + "              ";

var pace=10;

document.form.banner.value=msg.substring(position,position+75) ;

if  (position++==msg.length)  {

if  (numofloop-- < 2) return;

position=0;

}

id=setTimeout ("banner()", 1000/pace);

}

</script>

<body onload="banner()">

<form name="form">

<input type="text" name="banner" size="50">

</form>

</body>

</html>

<script type="text/javascript">

var s=Math.log(1+Math.sqrt(13)) / Math.log(10);

var a = new Array(new Array(6.1+s, 2.2+s, 1.2+s),

                  new Array(2.2+s, 5.5+s, -1.5+s),

                  new Array(1.2+s, -1.5+s, 7.2+s));

  var b=new Array(16.66+s, 10.55+s, 18.80+s);

  var e=Math.pow(10,-3);

  var x = new Array(0, 0, 0);

  var p = new Array(0, 0, 0);

  var n=3;

function zen()

{

var z="";

    var converge = function(xk, xkp){

  for (var i = 0; i < n; i++)

    if(Math.abs(xk[i] - xkp[i]) >= e) return false;

  return true;

}

do{

  for(var i = 0; i < n; i++){

    var v = 0;

    for (j = 0; j < n; j++)

      if (j != i) v += (a[i][j] * x[j]);

    p[i] = x[i];

    x[i] = (b[i] - v) / a[i][i];

  }

}

while (!converge(x, p));

 

for (var j=0; j<x.length; j++){

z=z+"x["+j+"]="+x[j].toFixed(3)+String.fromCharCode(13);}

return z;

}

 

</script>

<body bgcolor="#FFBFFF">

<form name="navigation">

</form>

</br>

<center>

<FORM name="form1">

<table border="0" cellspacing="0" cellpadding="4">

   <tr>

   <td></td>

   </tr>

   <tr><td><br></td></tr>

   <tr>

   <td>Матрица  коэффициентов(A)</td>

   <td>

   <table border="1">

   <tr><td>6.91</td><td>3.01</td><td>2.01</td></tr>

   <tr><td>3.01</td><td>6.31</td><td>-0.69</td></tr>

   <tr><td>2.01</td><td>-0.69</td><td>8.01</td></tr>

   </table>

   </td>

   <td>Матрица  свободных <br>элементов(B)</td>

   <td>

   <table border="1">

   <tr><td>17.47</td></tr>

   <tr><td>11.36</td></tr>

   <tr><td>19.61</td></tr>

   </table>

   </td>

   </tr>

   <tr><td></td><th align="left">Результат</th></tr>

   <tr align="left">

   <td><input type="button" value="Вычислить" onClick="form1.out.value=zen()"></td>

   <th colspan="3"><textarea name=out cols=10 rows=4></textarea></th>

   </tr>

   </table>

</form>

</center>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

 

Интерфейс программы

 

 

 

 

6. План ранних и поздних сроков

 

Текст программы

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=windows-1251">

<title>План  ранних и поздних сроков</title>

</head>

<body bgcolor= "#FFBFFF">

<h2 align="CENTER">План  ранних и поздних сроков</h2>

<tr><th>Календарь</th></tr>

<tr>

<td>

<style>b{color:darkblue}</style>

<script type="text/javascript">

var a = new Array( new Array( 0, 1, 0, 6, 0, 3, 0, 4 ),

new Array( -1, 0, -1, 1, 6, 4, -1, -1 ),

new Array( -1, -1, 0, -1, -1, 3, 8, -1 ),

new Array( -1, -1, -1, 0, 3, -1, -1,-1 ),

new Array( -1, -1, -1, -1, 0, 4, -1, 8),

new Array( -1, -1, -1, -1, -1, 0, -1, 9),

new Array( -1, -1, -1, -1, -1, -1, 0, 7),

new Array( -1, -1, -1, -1, -1, -1, -1, 0));

 

var t = new Array ( 0, 0, 0, 0, 0, 0, 0, 0 );

for ( var i = 0; i < 7; i++ )

{

for ( var j = 1; j < 8; j++ )

{

if ((i < j) && (a[i][j] >=0) && t[j] < (t[i] + a[i][j]))

{

t[j] = t[i] + a[i][j];

}

}

}

var z = new Array ( 0, 0, 0, 0, 0, 0, 0, 0 );

for ( i = 0; i < 8; i++ )

{

z[i] = t[7] ;

}

for ( i = 6; i >= 0; i--)

{

for ( j = 7; j >= 1; j--)

{

if ((i<j) && (a[i][j] >=0) && z[i]>(z[j] - a[i][j]) )

{

z[i] = z[j] - a[i][j];

}

}

}

document.write("Ранние сроки наступления события:");

for (j = 0; j<8; j++)

{

 

 

document.write(t[j],";");

}

document.write("<br>");

document.write("Поздние  сроки наступления события:");

for(i = 7; i>=0; i--)

{

document.write( z[i],";");

}

document.write("<br>");

document.write("Резервы событий;");

for (i =0; i<8; i++)

{

document.write ((z[i] - t[i]),";");

}

document.write("<br>");

 

document.write("Полные  переменные:<br>");

document.write("Свободные  переменные:<br>");

document.write("Независимые переменные:<br>");

document.write("<br>");

 

for (i =0; i<7; i++)

{

for (j =1; j<8; j++)

{

if ((i<j) && a[i][j] >=0)

{

document.write((z[j]-t[i]-a[i][j]),";","_" );

document.write((t[j]-t[i]-a[i][j]),";","_");

document.write((t[j]-z[i]-a[i][j]),";");

document.write("<br>");

}

}

}

//document.write(a[1][2]);

</script>

</td>

</tr>

</body>

</html>

 

Интерфейс программы

 

 

7. Календарь с запланированными событиями

Текст программы

 

<html>

<head>

<title>Календарь  с запланированными событиями  (праздниками)</title>

<h2 align="CENTER">Календарь  с запланированными событиями  (праздниками)</h2>

<SCRIPT LANGUAGE="JAVASCRIPT">

<!--

var concertMonth = new Array (1,2,3,4,5,6,7,8,9,10,11,12)

var concertDay = new Array (1,23,8,1,1,12,26,2,24,28,17,12)

 var concertInfo = new Array ("Новый год","День армии и флота","Женский день","День смеха","День трудящихся","День суверенитета Российской Федерации","День Военно-Морского флота","День ВДВ","Мой день рождения","День рождения WWW ","Международный день студентов","День конституции")

//Количество  праздников

concertNum = 12

/* При добавлении  праздничной даты надо добавить  месяц в var concertMonth = new Array

и день в var concertDay = new Array

и название праздника  в var concertInfo = new Array.

Для добавления нового события, например Старого нового года (13 января),

надо сделать  следующие изменения в приведенном  коде:

var concertMonth = new Array (1,> 1 <,2,3,4,5,6,7,8,9,10,11,12)

var concertDay = new Array

(1,> 13 <,23,8,1,1,12,26,2,23,28,17,12)

var concertInfo = new Array ("Новый год"," > Старый новый год < ","День армии и флота","Женский день","День смеха","День трудящихся","День суверенитета Российской Федерации","День Военно-Морского

флота","День ВДВ","Мой день рождения","День рождения WWW> <","Международный  день студентов","День

конституции")

concertNum = > 13 < Количество праздников

Изменения и  добавления выделены > <

цветом. Таким  образом можно добавить любое  количество событий.

В примере приведен 1 праздник в каждом месяце, вы можете добавлять или удалять праздники для каждого месяца, при добавлении 1 праздника, меняйте цифру 12 на 13:*/

 

  var today = new Date

  var dayName = new Array ("Вс","Пн","Вт","Ср","Чт","Пт","Сб")

  var monthName = new Array ("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь")

 

  document.write("<P><FONT SIZE=3 FACE=ARIAL>Календарь на <FONT SIZE=4>" + monthName[today.getMonth()] + "</FONT>" + "</FONT></P><P ALIGN=CENTER>")

 

  // find what day is the first day of this month

  day = today.getDay()

  result = (today.getDate() % 7)-1

  if (result > day) {

    day += 7

  }

  firstDay = day - result

 

  // find how many days this month has (note Jan=0, Dec=11)

  if (today.getMonth() == 1) {

    // 1/26/1999, added code to deal with leap years

    thisYear = today.getYear() + 1900

    if (thisYear % 4 == 0) {

      if (thisYear % 100 == 0) {

        if (thisYear % 400 == 0) {

          daysInMonth = 29

        }

        else {

          daysInMonth = 28

        }

      }

      else {

        daysInMonth = 29

      }

    }

    else {

      daysInMonth = 28

    }

  }

  else {

    if (today.getMonth() == 0 || today.getMonth() == 2 || today.getMonth() == 4 || today.getMonth() == 6 || today.getMonth() == 7 || today.getMonth() == 9 || today.getMonth() == 11) {

      daysInMonth = 31 }

    else {

      daysInMonth = 30 }

  }

 

  // display the calender

  document.write("<TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=440><TR>")

 

  // display the names of the days at the top

  for (i = 0; i < 7; i++) {

    document.write("<TD WIDTH=14%><P ALIGN=CENTER>" + dayName[i] + "</P></TD>")

  }

  document.write("</TR><TR>")

 

  // write any blank boxes ahead of the first day

  for (i = 0; i < firstDay; i++) {

    document.write("<TD WIDTH=14%> </TD>")

  }

  // display the days

  d = firstDay

  for (i = 1; i <= daysInMonth; i++) {

    if (!(d < 7)) {

      document.write("<TR></TR>")

      d = 0 }

    if (i == today.getDate()) {

      dispDay = '* ' + i + ' *'

    }

    else {

      dispDay = i

    }

    for (var y = 0; y < concertNum; y++) {

      if (i == concertDay[y] && (concertMonth[y]-1) == today.getMonth())

        dispDay = '<A HREF="#concertdesc">' + dispDay + '</A>'

    }

    document.write("<TD WIDTH=14%><P ALIGN=CENTER>" + dispDay + "</P></TD>")

    d++

  }

  if (d < 7) {

    for (i = d; i < 7; i++) {

      document.write("<TD WIDTH=14%> </TD>")

    }

  }

  document.write("</TR></TABLE>")

  // -->

</SCRIPT>

 

<a name="concertdesc"></a>

 

<SCRIPT LANGUAGE="JAVASCRIPT">

  <!-- // формат  записи назначенных событий

  document.write("<P><oL>")

  for (var x = 0; x < concertNum; x++)

  {

    if (concertDay[x] > 0 && concertDay[x] <= 31)

      cDay = concertDay[x]

    else

      cDay = ""

    document.write("<LI><STRONG>" + monthName[concertMonth[x]-1] + " " + cDay + "</STRONG> - " + concertInfo[x])

    document.write("</LI>")

  }

  document.write("</oL>")

  // -->

</SCRIPT>

<body bgcolor= "#FFkFFF">

</body>

</html>

 

Интерфейс программы

 

 

 

 

8. Математические задачи

Задача № 1

 

Постановка  задачи

 

  Вычислить площадь и периметр правильного n-угольника, описанного около окружности радиуса R.

 

Интерфейс задачи

 

 

Листинг программы

 

<html>

<head>

<script language="Javascript">

var n=parseInt(prompt("Введите  кол-во углов n",""))

var r=parseInt(prompt("Введите радиус r",""))

a=2*r*(Math.tan((Math.PI)/n))

p=a*n

s=(1/2)*n*a*r

alert("Площадь = "+s)

alert("Периметр = "+p)

</script>

</head>

</html>

 

 

 

 

 

Задача № 2

 

Постановка  задачи

  Дано вещественное  число х. Вычислить:

 

Интерфейс задачи

 

 

Листинг программы

 

<html>

<head>

<script language="Javascript">

x=parseInt(prompt("Введите чиcло",""))

f=1

s=0

for (n=1;n<=13;++n){

   for (k=1;k<=(2*n-1);++k){

   f*=k}

   a=Math.pow((-1),(n+1))

b=(Math.pow(x,(2*n-1)))

y=a*b/f

s=s+y

}   

alert("s="+s)

</script>

</head>

</html>

 

Задача № 3

 

Постановка  задачи

 

 Задан массив, содержащий  несколько нулевых элементов.  Сжать его, выбросив эти элементы.

 

Интерфейс задачи

 

 

Листинг программы

 

<html>

<head>

<script language="Javascript">

var l=parseInt(prompt("Введите  количество элементов будущего  массива",""))

mas=new Array()

s=""

for (i=0;i<=l-1;++i){

     mas[i]=prompt("Введите mas["+i+"]","")

     if (mas[i]!=0){

     s=s+mas[i]}

}

s1=s.split("")

document.writeln("<b>Исходный массив: </b>"+mas+"<br>")

document.writeln("<b>Преобразованный массив: </b>"+s1+"<br>")

</script>

</head>

</html>

 

Заключение

 

 

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

 

 

 

 

 

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

 

  1. Б.П. Демидович, И.А. Марон «Основы вычислительной математики» — М.: Наука, 1970 г, — 664с.,  с ил.
  2. Г.Корн, Т.Корн. «Справочник по математике для научных работников и инженеров» — М.: Наука, 1977 г.
  3. Веллинг,Люк, Томсон, Лора. Разработка Web-приложений с помощью PHP и MySql,  3-е издание.: Пер с англ. –М.: Издательский дом “Вильямс”, 2009. – 880с.: ил.- Парал. тит.англ.
  4. Флэнаган Д.  JavaScript. Подробное руководство. – Пер. с англ. –СПб: Символ – Плюс, 2009. – 992с., ил.

 


Информация о работе Отчет по программированию на Java