Моделирование требушета на Javascript

Требушет — гравитационная метательная машина (баробаллиста). Принцип работы требушета, найдены уравнения, описывающие его динамику. Написан код на JavaScript для моделирования данного устройства. Найдена скорость, с которой ядро вылетает из пращи.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.01.2020
Размер файла 758,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Санкт-Петербургский государственный политехнический университет

Институт Прикладной математики и механики

Кафедра Прикладной математики

Курсовой проект

Направление подготовки бакалавров:

010800 Механика и математическое моделирование

Моделирование требушета на Javascript

Профиль ООП: 010800.62.01 Механика деформируемого твердого тела

Т.А. Теницкая

Группа 23604/1

Руководитель проекта: Панченко А.Ю.

Санкт-Петербург

2014

Оглавление

  • Введение
  • Глава 1. Динамика требушета

1.1 Принцип работы

  • 1.2 Динамика
  • Глава 2. Написание кода
    • 2.1 index.php
    • 2.2 Script.js
    • 2.3 Результат
  • Заключение
  • Список литературы

Введение

Человек всегда задумывался, как можно поразить добычу или врага на расстоянии. Для этого изобретались различные приспособления и орудия, однако, противник изобретал способы защиты и это противостояние продолжается по сегодняшний день. Данный курсовой проект посвящен моделированию одного из первых механизмов, предназначенных для поражения живой силы противника - требюше.

Требушет, также требюше (от фр. trйbuchet -- «вес ы с коромыслом») -- метательная машина гравитационного действия для осады городов. Первые сведения о машине, похожей по принципу действия на требушет, встречаются в Китае в V веке до н. э. в трудах древнекитайского философа Мо Ди , однако нельзя сказать с уверенностью, что описанная им конструкция воспроизводит классический требушет. Остаётся неизвестным, когда требушеты появились в Европе. Первое известное упоминание о прототипе данной метательной машины содержит сочинение архиепископа фессалоникийского Иоанна «Чудеса святого Димитрия», составленное в 610--620 годах. Согласно историческим документам, начиная с 499 года, славяне вторгались и поселялись в Греции и в 580-х годах . Византия потеряла контроль почти над всем полуостровом. В течение VI --VII веков славяне несколько раз осаждали византийский город Фессалоники. Согласно свидетельству архиепископа Иоанна при осаде 597 года применялись передвижные осадные башни (гелеполы), «бараны» (тараны), камнемёты («огромнейшие», по словам Иоанна) и «черепахи». Нападавшие за сутки к утру 25 сентября изготовили на месте от 50 до 150 коромысловых камнемётов (помроки ), которые, уходя, бросили, не считая особой ценностью. Вся эта военная техника, судя по всему, представляла собой заимствования из арсенала китайской полиоркетики, вероятно -- через посредство тюрок или народов Средней Азии.

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

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

Глава 1. Динамика требушета

1.1 Принцип работы

Требушет -- гравитационная метательная машина (баробаллиста). Принцип его действия основан на использовании энергии падающего груза большой массы, закреплённого на коротком конце рычага. При этом длинный конец рычага разгоняет пращу со снарядом до большой скорости. Принцип действия простой, и для изготовления требушета необходима артель квалифицированных плотников, древесина подходящих размеров и знание относительно простой механики, что позволило требушетам вытеснить технически более сложные баллисты

У простых требушетов тяжёлый противовес закреплён на рычаге и движется, соответственно, по дуге. У более технически совершенных машин груз подвешен на рычагах и падает вертикально вниз, более эффективно передавая снаряду гравитационную потенциальную энергию. Длина короткого и длинного метательного рычага по отношению к точке опоры должны соотноситься как 1:6, общая длина рычага определяется прочностью древесины и составляет около 10--13 м. Рычаг делался как из цельного дерева, так и из двух сложенных брусьев, скреплённых железными обручами.

Отличительной особенностью является механизм автоматического раскрытия пращи требушета, когда происходит выстрел и снаряд начинает самостоятельное перемещение. Длинный рычаг требушета соединен с двумя веревками пращи: один конец постоянно привязан к рычагу, второй в виде петли накидывается на конец рычага, на котором устроен крюк. Во время выстрела, когда праща набрала скорость, а перекладина с противовесом, проделав основной путь, начинает замедляться, концы пращи начинают скользить вокруг длинного конца с крюком, пока один из концов не соскакивает с крюка, вследствие чего праща раскрывается. Кривизна крюка и его длина определяют момент освобождения снаряда и, соответственно, траекторию его полета. Стреляющие могли корректировать дистанцию стрельбы и крутизну траектории (для стрельбы с горы, в гору, по прямой) с помощью специальных колец, укорачивающих крюк, либо заменяя сам крюк.

После выстрела взвод требушета осуществлялся обслугой, которая с помощью лебёдки притягивала верёвками длинный конец рычага вниз. Стрелять требушет мог всем, что помещалось в верёвочное «седло» («гнездо», «пяту») пращи: от каменных ядер и горшков с нефтью до отрубленных голов и живых людей.

1.2 Динамика

Будем рассматривать требушет, противовес которого закреплен на рычаге.

За обобщенные координаты выбраны угол отклонения от вертикали ядра с пращей и противовеса ц и ш соответственно.

Записав уравнение Лагранжа 2-го рода, получена система:

Решили данную систему с помощью численного интегрирования. За условие отрыва возьмем ш?р. При ш = 3.18 ц = 2.41 скорость ядра Vm = 17.6 м/c. Ниже представлены графики ш(t) и ц(t) соответственно:

Глава 2. Написание кода

2.1 index.php

Для начала создадим стартовую страницу index.php на которую и будем выводить наш фрейм для моделирования, график и слайдеры настройки.

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Требушет</title>

<script src="ocanvas.min.js"></script>

<script src="script.js"></script>

<script src="TM.js"></script>

<script src="jquery-1.6.1.min.js"></script>

<script language="javascript" type="text/javascript " src="flot/jquery.flot.js"></script>

<script language="javascript" type="text/javascript " src="jquery.flot.axislabels.js"></script>

</div>

</head>

<body>

<div style="float:left; width:500px">

<!--Слайдер для массы груза-->

<input type="range" id="slider_M" style="width: 150px;"oninput="app.setSlider_M(this.value ); document.getElementById('text_M ').value = this.value;">

M =

<input id="text_M" style="width: 5ex;" required pattern="[-+]?( [0-9]*\.[0-9]+|[0-9]+)" oninput="

if (!this.checkValidity()) return;

app.setSlider_M(this.value);

document.getElementById('slider_M ').value = this.value ;"> кг

<!--Кнопка «Старт»-->

<input type="button" style="width: 100px; margin-left:10px " name="" onclick="app.Start();" value="Start">

<br >

<!--Слайдер для массы ядра-->

<input type="range" id="slider_m" style="width: 150px;"oninput="app.setSlider_m(this.value ); document.getElementById('text_m ').value = this.value;">

m =

<input id="text_m" style="width: 5ex;" required pattern="[-+]?( [0-9]*\.[0-9]+|[0-9]+)" oninput="

checkValidity( ) вернет false

if (!this.checkValidity()) return;

app.setSlider_m(this.value);

document.getElementById('slider_m ').value = this.value ;"> кг

<!--Кнопка «Рестарт»-->

<input type="button" style="width: 100px; margin-left:10px " name="" onclick="app.ReStart();" value="Restart">

</div>

<!--График скорости-->

<div id="vGraph" style="width:500px; height:150px; margin-left: 450px">

</div>

<div style="float:left; width: 1200px">

<!--Канвас-->

<canvas id="OCanvas" width="1200" height="450" </canvas>

</div>

<!--Передача в скрипт ссылок на канвас, слайдеры, textarea-->

<script type="text/javascript">var app = new Func(

document.getElementById('OCanvas'),

document.getElementById('slider_M'),

document.getElementById('text_M'),

document.getElementById('slider_m'),

document.getElementById('text_m'),

document.getElementById('photo')

);</script>

</body>

</html>

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

Далее создадим скрипт, в котором и будет описано движение ядра.

2.2.Script.js

function Func (canvas, slider_M , text_M , slider_m , text_m, photo) {

var canvas = oCanvas.create({

canvas: "#OCanvas",

fps:48

});

var kal = 0, x_fly , y_fly;

var x _2, y_2;

var M = 1000; //Задаем массу противовеса

var m = 100; //Задаем массу ядра

var vx = 0;

var vy = 0;

var go = 0;

var L_1 = 1; //Длина большего плеча рычага

var L_2 = 0.5; //Длина меньшего плеча рычага

var L_3 = 0.6; //Длина пращи

var L = L _1 + L_2;

var g = 9.8;

var L_12 = (L_1-L_2)/2;

var v_m = 0;

var m_beam = 100; //Длина рычага

var psi = []; // Задаем массив для ш

var phi = []; //Задаем массив для ц

var psi_diff = []; //Задаем массив для первой производной ш

var phi_diff = []; // Задаем массив для первой производной ц

var psi_ddiff = []; // Задаем массив для второй производной ш

var phi_ddiff = []; // Задаем массив для второй производной ц

var max = 0;

var max_n = 0;

var x = 0;

var y = 0;

var dt = 0;

var g = 9.81;

var what = false;

var J = (m_beam * L * L)/12 + m_beam * L_12 * L_12; //Момент инерции рычага

var t = 0;

var tmax = 5; //Время

var dt = tmax/1000;

var n = (tmax/dt+1);

var t = [];

t[0] = 0;

this.setSlider_M = function(new_M ){M = new_M;}; //Задание M и m при перемещении слайдера

this.setSlider_m = function(new_m ){m = new_m;};

this.Start = function(){calculations(); what = true; max *= 5, t = 0;}; //Функция, по нажатию кнопки «Старт»

this.ReStart = function(){canvas.display.rectangle({ //Функция по нажатию кнопки «Рестарт»

x: 400,

y: 170,

width: 300,

height: 200,

fill: "#fff"

}).add();what = false; trajectory = []; ReDraw(); kal = 0; dt = tmax/1000;};

slider_M.min = 100; slider_M.max = 10000;

slider_M.step = 10;

slider_M.value = M ; // начальное значение ползунка должно задаваться после min и max

text_M.value = M;

slider_m.min = 10; slider_m.max = 500;

slider_m.step = 1;

slider_m.value = m ; // начальное значение ползунка должно задаваться после min и max

text_m.value = m;

function calculations() { //Расчет ш, ц и максимальной скорости ядра

max = 0;

go = 0;

go = 0;

for(var k = 1; k < n; k ++)

{

t[k ] = t[k -1] + dt;

}

psi[ 0] = Math.acos((0.4)/(0.5)); //Начальные условия для ш и ц

phi[0] = 0;

psi_diff[0] = 0;

phi_diff[0] = 0;

//Уравнение для второй производной ш

psi_ddiff[0] = (Math.sin(psi[0])*g*(M*L_2-m_beam*L_12-m*L_1)+

m*L_1*( g*Math.sin(phi[0])*Math.cos(psi[0]-phi[0]) -

L_3*Math.pow(phi_diff[0],2)*Math.sin(psi[0]-phi[0]) -

L_1*Math.pow(psi_diff[0],2)*Math.cos(psi[0]-phi[0])*Math.sin(psi[0]-phi[0]) ) ) / (

M*Math.pow(L_2,2) + m*Math.pow(L_1,2)*Math.pow(Math.sin(psi[0]-phi[0]),2) + J );

//Уравнение для второй производной ц

phi_ddiff[ 0] = ( L_1*( Math.pow(psi_diff[0],2)*Math.sin(psi[0]-phi[0]) -

psi_ddiff[0]*Math.cos(psi[0]-phi[0]) ) - g*Math.sin(phi[0]) ) / L_3;

//Численное интегрирование методом конечных разностей

for(var k = 1; k < n ; k ++)

{

psi[ k] = psi[k-1] + psi_diff[k-1]*dt;

phi[ k] = phi[k-1] + phi_diff[k-1]*dt;

psi_diff [k] = psi_diff[ k-1] + psi_ddiff[k-1]*dt;

phi_diff [k] = phi_diff[ k-1] + phi_ddiff[k-1]*dt;

psi_ddiff[k] = (Math.sin(psi[k])*g*(M*L_2-m_beam*L_12-m*L_1)+

m*L_1*( g*Math.sin(phi[k])*Math.cos(psi[k]-phi[k]) -

L_3*Math.pow(phi_diff[k],2)*Math.sin(psi[k]-phi[k]) -

L_1*Math.pow(psi_diff[k],2)*Math.cos(psi[k]-phi[k])*Math.sin(psi[k]-phi[k]) ) ) / (

M*Math.pow(L_2,2) + m*Math.pow(L_1,2)*Math.pow(Math.sin(psi[k]-phi[k]),2) + J );

phi_ddiff[k] = (L_1*psi_diff[k]*psi_diff[k]*Math.sin(psi[k]-phi[k]) - g*Math.sin(phi[k]) - L_1*psi_ddiff[k]*Math.cos(psi[k]-phi[k]))/L_3;

}

while (psi[go] <= 4)

{

// Расчет скорости ядра

v_m = Math.sqrt ( Math.pow(L_1*psi_diff [go],2) + Math.pow(L_3*phi_diff[go],2) + 2*L_1*L_3*psi_diff[go]*phi_diff[go]*Math.cos(psi[go]-phi[go]));

if (v_m > max)

{

max = v_m;

max_n = go;

}

go++;

}

v = max;

};

//Высота отрыва ядра

var H = -L_1 * Math.cos(psi[max_n ]) - L_3 * Math.cos(phi[max_n]);

var beta = -90;

var V_m;

var ffd = Math.sqrt((M * 9.81 * 2 - m * 9.81 * 8) / ((M * 8 + m / 2 )));

function ReDraw(){ //Функция для перерисовки

line.start.x = 250; / / Координаты , задающие положение рычага, пращи, груза и ядра

line.end.x = 210;

line.start.y = 300;

line.end.y = 300;

line_1.start.x = 50;

line_1.end.x = 210;

line_1.start.y = 300;

line_1.end.y = 300;

cargo.x = line.start.x;

cargo.y = line.start.y;

sling.start.x = 50;

sling.end.x = 50;

sling.start.y = 300;

sling.end.y = 330;

ball.x = sling.end.x;

ball.y = sling.end.y

};

var line_d = canvas.display.line({

start: { x: 0, y: 450 },

end: { x: 2000, y: 450 },

stroke: "2px #000",

cap: "round"

}).add();

//Задание рычага

var line = canvas.display.line({

start: { x: 250, y: 300 },

end: { x: 210, y: 300 },

stroke: "2px #000",

cap: "round"

}).add();

var line_1 = canvas.display.line({

start: { x: 50, y: 300 },

end: { x: 210, y: 300 },

stroke: "2px #000",

cap: "round"

}).add();

var line_2 = canvas.display.line({

start: { x: 210, y: 300 },

end: { x: 210, y: 450 },

stroke: "2px #000",

cap: "round"

}).add();

//Задание картинки замка

var image = canvas.display.image({

x: 1100,

y: 310,

origin: { x: "center", y: "center" },

image: "castle.png"

}).add();

//Рисование груза

var cargo = canvas.display.ellipse({

x:line.start.x,

y:line.start.y,

radius:15,

fill: "rgba(255, 0, 0, 1)"

}).add();

//Рисование пращи

var sling = canvas.display.line({

start: { x: 50, y: 300 },

end: { x: 50, y: 330 },

stroke: "2px #000",

cap: "round"

}).add();

//Рисование ядра

var ball = canvas.display.ellipse({

x:sling.end.x,

y:sling.end.y,

radius:5,

fill: "rgba(0, 0, 255, 1)"

}).add();

var trajectory = [];

//Функция для движения рычага с грузами

function moveR()

{

if (what && ball.y <=450)

{

x1 = line.end.x;

y1 = line.end.y;

x2 = line_1.end.x;

y2 = line_1.end.y;

x3 = sling.end.x;

y3 = sling.end.y;

Radius = 40;

Radius_1 = 160;

Radius_2 = 30;

x = parseInt( Radius * Math.cos(psi[kal]-Math.PI /2) + x1);

y = parseInt( Radius * Math.sin(psi[kal]-Math.PI/2) + y1);

x_1 = parseInt( Radius_1 * Math.cos(psi[kal ] + Math.PI /2) + x2);

y_1 = parseInt( Radius_1 * Math.sin(psi[kal ] + Math.PI/2) + y2);

x_2 = parseInt( Radius_2 * Math.cos(phi[kal ] + Math.PI/2) + x3);

y_2 = parseInt( Radius_2 * Math.cos(phi[kal ] + Math.PI/2) + y3);

x_y(x, y, x_1, y_1, x_2, y_2)

kal++;

if (kal >= max_n)

{

x0 = x_2;

y0 = y_2;

fly();

x_y_after(x, y, x_1, y_1, x_2, y_2);

}

};

}

//Функция, отвечающая за полет ядра

function fly()

{

t += tmax/1000;

x_fly = x0 + max * Math.cos(-Math.PI /4) * dt;

y_fly = y0 + max * Math.sin(-Math.PI /4) * dt + g * dt * dt / 2;

vx = v * Math.cos(Math.PI/4);

vy = v * Math.sin(Math.PI/4) - g * t;

//График скорости

trajectory.push( [t, Math.sqrt(Math.pow(vy,2)+Math.pow(vx,2))]);

$.plot($('#vGraph'), [trajectory], {});

dt += 0.1

ball.x = x_fly;

ball.y = y_fly;

if ((x_fly > 1000 && y_fly > 159) && (x_fly < 1200 && y_fly < 450))

{

var text = canvas.display.text({

x: 600,

y: 225,

origin: { x: "center", y: "top" },

font: "bold 30px sans-serif",

text: "Вы попали!",

fill: "#a00"

}).add();

};

}

//Функция перерисовки требушета с грузом и ядром

function x_y (x,y, x_1, y_1, x_2, y_2){

line.start.x = x;

line.start.y = y;

line_1.start.x = x_1;

line_1.start.y = y_1;

cargo.x = x;

cargo.y = y;

ball.x = x_2;

ball.y = y_2;

sling.end.x = x_1;

sling.end.y = y_1;

sling.start.x = x_2;

sling.start.y = y_2;

}

//Функция перерисовки требушета после вылета ядра

function x_y_after (x,y, x_1, y_1, x_2, y_2){

line.start.x = x;

line.start.y = y;

line_1.start.x = x_1;

line_1.start.y = y_1;

cargo.x = x;

cargo.y = y;

sling.end.x = x_1;

sling.end.y = y_1;

sling.start.x = x_2;

sling.start.y = y_2;

}

canvas.setLoop(moveR).start();

}

2.3 Результат

Итогом программы стала игра «Требушет», в которой с помощью меню можно задавать массы ядра и противовеса. Если ядро долетает до замка - игра пройдена, если нет - провалена.

Скриншоты из игры:

Запускаем игру:

Попадение в замок:

Заключение

моделирование требушет javascript

В ходе написания курсовой работы был прочитан и систематизирован теоретический материал по данной теме, а так же выполнены следующие поставленные во введении задачи:

· Изучено устройство и принцип работы требушета

· Выведены уравнения для решения задачи динамики требушета

· Найдена скорость, с которой ядро вылетает из пращи

· Написана простая игра на JavaScript

· Каждый раз при запуске игры строится график зависимости скорости ядра от времени

Изучив материал по использованию JavaScript, я пришла к выводу, что для наглядного мо делирования JavaScript достаточно удобен, так как он обладает широкими возможностями и простым синтаксисом .

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

1) http://ru.wikipedia.org/wiki/Библиотека_JavaScript

2) http://jqbook.net.ru/

3) http://ru.html.net/

4) Антон Шевчук. Jquery. Учебник для начинающих.: 2013. - 123с.

5) Бенедетти Р., Крэнли Р. Изучаем работу с jQuery. - СПб.: Питер, 2012. - 528 с.

6) БерБибо, Иегуда Кац. jQuery. Подробное руководство по продвинутомуJavaScript, 2-е издание. - Пер. с англ. - СПб.: Символ-Плюс, 2011. - 624 с.

7) Каслдайн Э., Шарки К. Изучаем jQuery. 2-е изд. - СПб.: Питер, 2012. - 400 с.

Размещено на Allbest.ru

...

Подобные документы

  • Размещение кода скрипта JavaScript непосредственно на HTML-странице. Сценарий JavaScript и список основных событий. Полезные конструкции на PHP. Некоторые функции для работы с массивами. Фрагмент кода JavaScript из "Эконометрической модели России".

    презентация [331,2 K], добавлен 25.09.2013

  • Создание интерактивных веб-страниц. Что такое JavaScript. Полная интеграция с браузером. Мощные средства для создания сетевых соединений. Подключение и выполнение JavaScript. Загрузка данных без перезагрузки страницы. Объекты для работы с мультимедиа.

    лекция [16,2 K], добавлен 05.02.2012

  • Характеристика Javascript функции с параметрами (аргументами). Возврат значений, глобальные и локальные переменные в функции. Все способы создания пользовательских функций в Javascript. Область видимости переменных. Рекурсивная функция Javascript.

    лабораторная работа [75,8 K], добавлен 19.09.2019

  • Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.

    курсовая работа [220,7 K], добавлен 03.03.2015

  • Назначение и применение JavaScript, общие сведения. Понятие объектной модели применительно к JavaScript. Размещение кода на HTML-странице. URL-схема. Вставка (контейнер SCRIPT, принудительный вызов интерпретатора). Программирование свойств окна браузера.

    лекция [517,1 K], добавлен 09.03.2009

  • Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".

    курсовая работа [19,3 K], добавлен 01.07.2014

  • Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.

    курсовая работа [51,4 K], добавлен 12.12.2010

  • Освоение принципов написания клиентских сценариев JavaScript, управляемых событиями. Связь собственной функции JavaScript с обрабатываемым событием. Оформление ссылок в виде графических кнопок, изменяющих свой вид при наведении на них указателя мыши.

    лабораторная работа [605,9 K], добавлен 25.05.2016

  • Області застосування JavaScript. Об'єктна модель документа. Ієрархічна структура моделі та їх взаємозв'язки з іншими об'єктами. Іменування об'єктів і точковий синтаксис. Розміщення сценаріїв у документах. Способи визначення моменту запуску сценарію.

    реферат [26,5 K], добавлен 20.08.2011

  • Особенности составления программы (сценария) на языке JavaScript. Построение выражений из литералов, переменных, знаков операций, скобок. Элементы, используемые для хранения данных. Приоритет операций, порядок, в котором выполняются операции в выражении.

    лабораторная работа [40,2 K], добавлен 19.09.2019

  • Примеры динамического построения html-страницы при помощи JavaScript. Использование цикла For, когда заранее известно, сколько раз должны повториться циклические действия. Выполнение циклических операторов входа и выхода, прерывание текущей итерации.

    лабораторная работа [52,4 K], добавлен 19.09.2019

  • Изучение создания скриптов на JavaScript. Разработка программы выдачи простого предупреждения по событию Click при выборе гипертекстовой ссылки. Применение контейнера SCRIPT для размещение JavaScript-кода. Получение типа программы просмотра HTML-страниц.

    контрольная работа [21,1 K], добавлен 15.02.2010

  • Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".

    практическая работа [26,0 K], добавлен 04.02.2015

  • Описание основных используемых технологий и языков программирования. Язык программирования JavaScript. Таблица стилей CSS. Общая схема работы web-приложения. API система "1С-Битрикс: Управление сайтом". Формирование требований к сценариям работы.

    дипломная работа [186,4 K], добавлен 30.04.2014

  • Базовый синтаксис языка сценариев JavaScript. Создание страниц, включающих в себя программы, которые взаимодействуют с пользователем, управляют браузером и динамически создают HTML-содержимое. Работа с объектами, которые инкапсулируют данные и поведение.

    лабораторная работа [58,6 K], добавлен 25.05.2016

  • Создание Web-страниц с использованием HTML, с использованием JavaScript и PHP. Работа с графикой в Adobe Photoshop и Flash CS. Базы данных и PHP. Пример реализации "Эконометрической модели экономики России" под web. Основы компьютерного моделирования.

    презентация [4,4 M], добавлен 25.09.2013

  • Введение в интернет-технологии и компьютерное моделирование. Создание WEB страниц с использованием HTML. Создание динамических WEB страниц с использованием JavaScript. Работа с графикой в Adobe Photoshop и Flash CS. Основы компьютерного моделирования.

    презентация [223,4 K], добавлен 25.09.2013

  • Знакомство с особенностями создания WEB-страниц с использованием HTML. Общая характеристика основ компьютерного моделирования с применением Powersim и AnyLogic. Анализ способов создания динамических WEB-страниц с использованием JavaScript и PHP.

    презентация [801,7 K], добавлен 25.09.2013

  • Характеристика возможностей редактора DreamWeaver и Front Page. Особенности языков программирования PHP и JavaScript. Основные требования, предъявляемые к Web-странице. Специфика программного обеспечения для ее создания и эффективности использования.

    курсовая работа [44,6 K], добавлен 03.02.2011

  • Создание индивидуального сайта с использованием языка гипертекстовой разметки HTML и языка скриптов JavaScript. Программные средства, используемые при выполнении работы. Основные средства для создания сайта. Разработка CSS-файла (таблица стилей).

    лабораторная работа [31,0 K], добавлен 28.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.