Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Пример 1. Создание мультипликации с использованием массивов.

Читайте также:
  1. RAID 2. Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC).
  2. RAID массивы. История создания RAID массивов. Основные преимущества и недостатки RAID массивов всех уровней. Принципы работы.
  3. V. Примерный образец теста, применяемого для промежуточной аттестации
  4. Web-контейнер, Servlet, JSP. Структура, назначение и пример сервлета или JSP.
  5. А вот чрезмерное употребление алкоголя действительно вызывает гинекомастию. Примерно четверо из 10 хронических алкоголиков имеют это заболевание в той или иной стадии развития.
  6. А. Здравомыслов.Примерно два года тому назад.
  7. Ая основа – Хаджури не видит разницы между нововведенцем, призывающим к своему нововведению, и не призывающим, и пример в этом он взял с Махмуда Хаддада.
  8. Будьте хорошим примером для своих детей
  9. Быстрое создание отправного пункта
  10. Быть примером


Часто для создания мультипликации формируют массив графических объектов, которые потом прокручивают один за другим:

img_array = new Array() img_array[0] = new Image(50,100) img_array[1] =new Image(50,100)... img_array[99] = new Image(50,100)

У объекта Image существует 10 свойств, из которых, пожалуй, самым важным является src. Так, для присваивания конкретных картинок элементам массива img_array следует воспользоваться следующей последовательностью команд:

img_array[0].src = "image1.gif" img_array[1].src = "image2.gif"... img_array[99].src = "image100.gif"

В данном случае можно было воспользоваться и циклом для присвоения имен, так как они могут быть составлены из констант и значения индексной переменной.
Расширяя пример с массивом Image, построим теперь документ, в котором будет встроена мультипликация, определенная нашим массивом:


Листинг 1. Мультипликация.

 

<HTML>

<HEAD>

<SCRIPT>

<!--//

function multi_pulti()

{

img_array = new Array()

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

img_array[i] = new Image(50,100)

img_array[0].src = "e1.jpg"

img_array[1].src = "e2.jpg"

img_array[2].src = "e3.jpg"

img_array[3].src = "e4.jpg"

var t=new Date()

p=-1

}

 

function s()

{

p=p+1

document.images[0].src =img_array[p].src

setTimeout("s()",100)

if (p==3) p=-1

}

//-->

</SCRIPT>

</HEAD>

<BODY onLoad="multi_pulti()">

<img src="e1.jpg">

<br>

<input type="Button" name="But" value="Посмотреть" onClick="s()">

</BODY>

</HTML>

 

Далее рассмотрим несколько классических задач, посвященных работе с массивами. Приведем функции работы с массивами, которые ценны сами по себе и могут применяться в различных программах.


Пример 2. Бинарный поиск с формированием таблицы результатов

Напишем функцию, которая реализует алгоритм бинарного поиска таким образом, чтобы во время работы программы формировалась таблица значений переменных i, j, k и некоторых выражений.


Листинг 2. Поиск в упорядоченном массиве с таблицей промежуточных значений

 

<HTML>

<HEAD>

<TITLE>Бинарный поиск. Таблица промежуточных значений</TITLE>

<script language="JavaScript">

<!-- //

var v=new Array (2, 3, 5, 6, 6, 7,10,11, 20, 25)

function testtab(obj,v,t)

{ var res="i j k v[k] t<= v[k]"+"\r\n"

var i=0

var j= v.length-1

var k

while (i < j)

{ k=Math.round((i+j)/2+0.5)-1

res = res + i + " "+j+" "+k+" "+"v[" + k + "]=" + v[k] + " " + t + "<=" + v[k]+"\r\n"

if (t <= v[k])

j=k

else

i=k+l

}

res += "v[" + i + "]=" +v[i]+"\r\n"

obj.resultl.value=res

if (v[i] == t)

{ return i}

else return -1

}

function test(obj)

{ obj.datal.yalue=v}

//-->

</script>

</HEAD>

<BODY bgcolor=silver>

<H4>Реализация алгоритма бинарного поиска</H4>

<FORM name="forml">

<pre>

Массив:<INPUT type="text" size=40 name="datal" ><hr>

Элемент:<INPUT type="text" size=20 name="data2" ><hr>

Результат поиска: <INPUT type="text" size=20 name="result" ><hr>

Таблица промежуточных значений: <BR>

<textarea cols=50 rows=7 name="result1" > </textarea><hr>

</PRE>

<input type="button" value=0пpeдeлить onClick="test(form1); forml.result.value=testtab(form1,v,forml.data2.value)">

<input type="reset" value=Отменить>

</FORM>

</BODY>

</HTML>


Задания

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

 




Дата добавления: 2015-09-11; просмотров: 79 | Поможем написать вашу работу | Нарушение авторских прав

Пример 2. Простое вертикальное меню | Пример 1. Вычисление площади фигуры. | Пример 2. Выбор параметров обтекания изображения текстом | Пример 1. Выбор характеристик издания | Пример 2. Использование флажков в анкете переводчика | Лабораторная работа №7 Списки | Пример 1. Простая фреймовая структура | Пример 3. Обмен содержимым фреймов | Лабораторная работа №9 Повторяющиеся вычисления - циклы | Лабораторная работа №10 Обработка и представление дат |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав