Автор работы: Пользователь скрыл имя, 30 Мая 2013 в 22:25, отчет по практике
В отчете по производственной практике представлены решения 6 задач из рекомендуемого к выполнению списка заданий и 4 задачи из свободной темы.
Интерфейс разработан в виде страниц с использованием языка разметки
HTML, вычислительные алгоритмы реализованы на языке JavaScript.
В перечне задач указан параметр S, при вычислении которого используется величина , у каждого студента он индивидуален. В производственной практике нам нужно освоить язык JavaScript, уметь на нем программировать и реализовывать важные задачи
Введение
1. Метод половинного деления
2. Метод касательной
3. Метод хорд
4. Метод простых итераций
5. Метод Зейделя
6. План ранних и поздних сроков
7. Календарь с запланированными событиями
8. Математические задачи
Заключение
Список литературы
<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 align="left">
<td><input
type="button" value="Вычислить" onClick="form1.out.value=iter(
<th colspan="3"><textarea name=out cols=10 rows=4></textarea></th>
</tr>
</table>
</form>
</center>
</body>
</html>
Интерфейс программы
Постановка задачи
Методом Зейделя решить систему уравнений с точностью
, где
Текст программы
<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=
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(
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>
<tr><td>3.01</td><td>6.31</td>
<tr><td>2.01</td><td>-0.69</
</table>
</td>
<td>Матрица
свободных <br>элементов(B)</
<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 align="left">
<td><input
type="button" value="Вычислить" onClick="form1.out.value=zen()
<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>План
ранних и поздних сроков</
</head>
<body bgcolor= "#FFBFFF">
<h2 align="CENTER">План ранних и поздних сроков</h2>
<tr><th>Календарь</th></tr>
<tr>
<td>
<style>b{color:darkblue}</
<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]
document.write((t[j]-t[i]-a[i]
document.write((t[j]-z[i]-a[i]
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,
var concertInfo = new Array ("Новый год","День армии и флота","Женский день","День смеха","День трудящихся","День суверенитета Российской Федерации","День Военно-Морского флота","День ВДВ","Мой день рождения","День рождения WWW ","Международный день студентов","День конституции")
//Количество праздников
concertNum = 12
/* При добавлении
праздничной даты надо
и день в 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,
var concertInfo = new Array ("Новый год"," > Старый новый год < ","День армии и флота","Женский день","День смеха","День трудящихся","День суверенитета Российской Федерации","День Военно-Морского
флота","День ВДВ","Мой день рождения","День рождения WWW> <","Международный день студентов","День
конституции")
concertNum = > 13 < Количество праздников
Изменения и добавления выделены > <
цветом. Таким образом можно добавить любое количество событий.
В примере приведен
1 праздник в каждом месяце, вы можете
добавлять или удалять
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>Преобразо
</script>
</head>
</html>
Заключение
Во всех выше решённых задачах справиться с проблемой нам помог JavaScript, что доказывает его многофункциональность и мобильность в использовании от простейших до сложных задач. Производственная практика помогла нам решать задачи и научится программировать на JavaScript.
Список литературы