Разработка методики преподавания факультатива по программированию на языке JavaScript (для старших классов с углубленным изучением информатики)

Психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах. Тематическое планирование учебного материала. Программа и содержание факультативного курса "Программирование на языке JavaScript".

Рубрика Педагогика
Вид дипломная работа
Язык русский
Дата добавления 27.06.2011
Размер файла 1,0 M

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

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

Занятие 7. Работа с формами.

Объект form

С помощью объекта form можно управлять свойствами формы. Объект form имеет набор свойств, методов и событий (Приложение IV).

Обращение к формам документа

С помощью коллекции forms можно получить доступ ко всем формам документа.

Синтаксис доступа к формам документа:

document.forms(первичный_индекс, вторичный_индекс);

Первичный индекс может быть либо числом, либо строкой; во втором случае он позволяет выбрать форму, у которой значения атрибутов id или name совпадают с этой строкой. Если таких форм несколько, то Microsoft Internet Explorer вернет коллекцию найденных форм; для выбора нужного элемента из этой результирующей коллекции можно использовать числовой вторичный индекс.

Кроме обращения к форме через коллекцию forms, получить доступ к этому объекту можно через имя формы, которое указывается в атрибуте name|id тега <form>. В браузер Microsoft Internet Explorer можно задавать имена формы и всех ее элементов в атрибуте ID.

Синтаксис обращения к форме:

document.formName

Здесь formName - имя формы.

Коллекция elements

Коллекция elements содержит все элементы управления, находящиеся в форме (button, checkbox, hidden, password, radio, reset, select, submit, text, или textarea object), каждый из которых имеет набор свойств, методов и событий (Приложение VII). С помощью этой коллекции можно ссылаться на элементы формы в коде программы.

Синтаксис доступа к элементам формы:

document.FormName.elements [index];

Здесь FormName - является либо именем формы, либо именем элемента в массиве form; index - целое число, представляющее объект в форме или его id. При этом обязательно нужно указать ссылку на саму форму. Иначе браузер будет искать указанный элемент управления в теле документа, игнорируя все формы и, не найдя его, вернет значение null.

Например, если форма имеет элемент text и два элемента checkbox, то эти элементы будут отражены следующим образом:

document.formName.elements [0],

document.formName.elements [1],

document.formName.elements [2].

Следующие строки кода выполнят одинаковые действия:

document.UserInfo.userName.value

document.userInfo.elements[0].value

Здесь UserInfo - имя формы, заданное в атрибуте name|id формы; userName - имя элемента, заданное в атрибуте name|id элемента.

Обработка значений из формы

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

<html>

<head>

<script language = "JavaScript">

function care (a,h) {

var s = (a*h)/2;

document.write("Площадь прямоугольного треугольника равна ", s);

return s;

}

</script>

</head>

<body>

<form name = "form1">

Основание: <input type = "text" size = 5 name = "st1"><hr>

Высота: <input type = "text" size = 5 name = "st2"><hr>

<input type = "button" value = "Вычислить"

onclick = "care(document.form1.st1.value, document.form1.st2.value)">

</form>

</body>

</html>

Рассмотрим значение параметра обработки события, представляющего собой вызов функции care. Форма form является «потомком» объекта document, а все остальные формы выступают «потомками» объекта form. Ссылка на объект может быть осуществлена по имени, заданному параметром name тега <form>. Для получения значения основания треугольника, введенного в первом поле формы, необходимо записать следующую конструкцию: document.form1.st1.value.

Когда в функцию передаются данные числового типа, передача параметров осуществляется по значению. Формальному параметру a присваивается значение фактического параметра form1.st1.value, а формальному параметру b - значение form1.st2.value. После этого выполняется тело функции.

Ситуация изменится, когда фактическим параметром функции станет объект. В этом случае говорят, что передача параметра осуществляется по ссылке или по наименованию. Пусть тело документа описано следующим образом:

<body>

<form name = "form1">

Основание: <input type = "text" size = 5 name = "st1"><hr>

Высота: <input type = "text" size = 5 name = "st2"><hr>

<input type = "button" value = "Вычислить"

onclick = "care1(form1.st1, form1.st2)">

</form>

</body>

В качестве фактических параметров в вызове функции care1 выступают имена текстовых полей формы. При вычислении площади используются значения, введенные пользователем. Поэтому описание функции care1 будет следующим:

function care1 (a,h) {

var s = (a.value * h.value)/2;

document.write("Площадь прямоугольного треугольника равна ", s);

return s;

}

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

Практическая работа № 6. «Использование форм в сценариях»

Упражнения:

1*. Напишите сценарий, который осуществляет автоматическое выделение текста в текстовой области.

2*. Проанализируйте нижеприведенный листинг программы «Ограничение длины строки, вводимой в текстовую область». Модифицируйте его так, чтобы максимально допустимое число символов было равно 150.

<html>

<head>

<script language = "JavaScript">

maxLen = 25;

function checkMaxInput(form) {

if (form.message.value.length > maxLen)

form.message.value = form.message.value.substring(0, maxLen);

else form.remLen.value = maxLen - form.message.value.length; }

</script>

</head>

<body>

<form name=myform action="YOUR-SCRIPT.CGI">

<textarea name=message cols=28 rows=4 onKeyDown="checkMaxInput(this.form)" onKeyUp="checkMaxInput(this.form)"></textarea>

</form>

</body>

</html>

3*. Создайте форму, содержащую вопрос и список ответов, из которых один правильный, где тексты ответов представляют собой кнопки. По нажатию на кнопку необходимо выводить соответствующее сообщение «Ответ правильный»/ «Ответ неправильный».

Модифицировать форму так, чтобы для выбора ответа использовались радиокнопки, добавить кнопку «Готово», по нажатию на которую выводится соответствующее сообщение «Ответ правильный»/ «Ответ неправильный».

4***. Модифицировать форму из упражнения № 3 так, чтобы для выбора ответа использовались флажки, предоставляющие пользователю выбор нескольких правильных ответов из списка, а по нажатию на кнопку «Готово» выводятся соответствующие сообщения «Ответ правильный»/ «Ответ неправильный»/ «Ответ неполный».

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

<html>

<head>

<title>Выбор цвета фона пользователем</title>

</head>

<body>

<form>

<select name=clr onChange="document.bgColor=this.options[this.selectedIndex].value">

<option value="red">red

<option value="blue">blue

<option value="lime">lime

<option value="gold">gold

<option value="black" Selected>black

</select>

</form>

</body>

</html>

6***. Создайте меню гиперссылок в виде списка, пункты которого служат для перехода на заданную web-страницу.

7**. Напишите сценарий, который содержит поле для ввода имени пользователя, поле ввода пароля, поле ввода подтверждения пароля и кнопку «Проверить». Осуществите проверку правильности заполнения полей ввода и подтверждения пароля (т.е. заполнено или не заполнено), по нажатию на кнопку «Проверить» должно выводиться сообщение, содержащее имя пользователя и введенный пользователем пароль.

8а*. Осуществить проверку правильности заполнения формы по щелчку мышью на кнопке типа submit.

Пусть на нашей странице имеется форма, содержащая обязательный для заполнения компонент - адрес электронной почты, который необходимо проверить на корректность, т.е. выявить наличие в нем символа @, также две кнопки «Очистка» и «Отправка»:

<form name = "Myform" onsubmit = "testsubmit();">

Введите ваш e-mail: <input type = "text" size = 15 name = "Addr"><br><br>

<input type = "reset" name = "reset" value = "Очистка">

<input type = "submit" name = "submit" value = "Отправка">

</form>

<script language = "JavaScript">

function testsubmit() {

// заполнено ли поле ввода?

if (document.Myform.Addr.value == "") {

alert("Вы не указали e-mail!");

return false; }

// имеется ли символ @ ?

if (document.Myform.Addr.value.indexOf ("@") == -1) {

alert("Указан некорректный e-mailыазали ()ется ли символ " == бходимо проверить на корректность, т.е. кнопке обходимо записать следующую конструкцию: __________!");

return false; }

// иначе можно выполнить отправку данных на сервер

document.Myform.method = "post";

document.Myform.enctype = "application/x-www-form-urlencoded";

document.Myform.action = "http://www.domain.ru/cgi-bin/progr.cgi";

document.Myform.submit(); }

</script>

В составе тега <form> имеется вызов функции testsubmit(), назначенный для события onsubmit, т.е. данная функция будет вызвана при попытке отправить введенные данные на сервер. Рассмотрим функцию testsubmit(), которая состоит из трех «подблоков»:

- в первом блоке выполняется проверка, имеется ли в предложенном поле ввода какое-либо содержимое, для чего записано логическое условие, после выполнения которого выдается окно предупредительных сообщений о незаполненном поле и при помощи оператора return возвращается значение false и выполнение сценария завершается;

- второй блок выполняется, если поле ввода заполнено, и содержит логическое условие проверки с помощью функции поиска вхождения подстроки в строку введенного адреса e-mail. Если условие не выполнено выполнение сценария завершается;

- третий блок выполняется, если введенные данные соответствуют предъявленным условиям. Данный блок выполняет отправку содержимого формы. Отправка не будет выполнена, если не указаны значения параметров action, enctype и method. Параметр action должен содержать URL-адрес файла или CGI-программы, которая получает и обрабатывает отправленные данные. Если вы хотите отправлять данные формы по электронной почте, то значением action является строка вида: mailto: адрес_e-mail. Параметр enctype указывает способ кодирования информации при ее пересылке на сервер или указанный адрес e-mail. По умолчанию значение application/x-www-form-urlencoded пересылает всю информацию. Значение multipart/form-data предписывает пересылать возвращаемое значение для каждого элемента формы, элемента диалога и возвращаемого им значения в виде незашифрованного текста. Если предполагается пересылка данных по электронной почте, то используется значение text/plain. Параметр method - способ передачи данных обработчику, имеет значения get или post. При использовании в качестве обработчика адресации к почтовому ящику e-mail используется значение post. Метод submit() производит отправку данных.

8б**. Модифицируйте форму, созданную в предыдущем упражнении так, чтобы в ней присутствовали поля ввода «Кому», «От кого» и текстовая область «Сообщение», и осуществите проверку правильности заполнения формы.

Занятие 8. Работа с изображениями.

Объект Image

Все графические объекты на web-странице относятся к классу объектов Image, с помощью которого осуществляется управление изображениями. Объект Image имеет набор свойств (Приложение VII). Объект данного класса создается автоматически, если в html-коде страницы присутствует тег <img>. Но его так же создать в сценарии.

Синтаксис записи объектов класса Image:

имя_переменной = new Image (width, height);

Здесь имя_переменной - это переменная, с помощью которой в дальнейшем можно обращаться к созданному элементу, width и height - размеры создаваемого изображения, которые должны соответствовать значениям атрибутов WIDTH и HEIGHT тега <IMG> , который используется для отображения предварительно загруженного изображения.

Для созданного объекта изображения можно задать имя или, в общем случае, URL-адрес графического файла, используя следующий синтаксис:

имя_переменной.src = "URL-адрес_изображения";

Пример:

var pic;

pic = new Image(150, 100);

pic.src = "pic.gif";

Для обращения к объекту класса Image используется следующий синтаксис:

document.images[индекс];

Здесь индекс может быть либо числом, либо строкой; во втором случае он позволяет выбрать изображение, у которого значения атрибутов id или name совпадают с этой строкой.

Выражение имя_переменной.src = "URL-адрес_изображения" предписывает браузеру загрузить в кэш-память указанное изображение, но не отображать его. После загрузки в кэш-память всех изображений и загрузки всего документа можно сделать их видимыми. Для этого нужно свойству src тега <IMG> присвоить значение этого же свойства объекта изображения в кэш-памяти, используя следующий синтаксис:

document.images[индекс].src = имя_переменной.src

Здесь слева от оператора присвоения указано свойство src первого в документе элемента, соответствующего тегу <IMG>, справа - свойство src объекта изображения в кэш-памяти.

Практическая работа № 7. «Использование изображений в сценариях»

Упражнения:

1*. Проанализировать нижеприведенный листинг программы «Горизонтальное движение изображения». Модифицируйте его и осуществите вертикальное движение изображения.

<html>

<head>

<script language="JavaScript">

var xoff = 150; yoff = 180; inc = 5;

function move() {

xoff += inc;

if (xoff>600) {xoff=150;}

ball.top = yoff;

ball.left = xoff;

setTimeout("move()", 50);}

</script>

</head>

<body>

<div id="ball" style="position:absolute;width:10px; height:10px">

<img src="1.gif" width=10 height=10 border=0></div>

<script language="JavaScript">

var NN = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);

var ball = (NN) ? document.ball : document.all.ball.style;

move();

</script>

</body>

</html>

2*. Проанализируйте нижеприведенный листинг программы «Смена изображения путем выбора из раскрывающегося списка». Модифицируйте его так, чтобы смена изображений осуществлялась путем выбора из гиперссылок.

Вся страница размечается как таблица, состоящая из одного столбца в две ячейки. В первой ячейке размещается выпадающее меню выбора альтернатив, во второй ячейке размещаются картинки, выбранные при помощи списка альтернатив. При выборе альтернативы из меню происходит событие onChange, которое вызывает функцию l_image. Ниже приведен пример реализации такой компоновки и пример кода самой страницы.

<html>

<head>

<script>

pictures = new Array()

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

pictures[i] = new Image();

if(i == 0){

pictures[i].src = "freeze.gif";}

if(i ==1){

pictures[i].src = "dust.gif";}

if(i ==2){

pictures[i].src = "toster.gif";}

if(i ==3){

pictures[i].src = "cook.gif";}

if(i == 4){

pictures[i].src = "oven.gif";}

if(i == 5){

pictures[i].src = "wash.gif"};

if(i == 6){

pictures[i].src = "dishwash.gif";}

}

function l_image(){

document.images[0].src = pictures[document.form1.item.selectedIndex].src;

}

</script>

</head>

<body>

<center>

<table cols = 2 width = "100%">

<caption>

<font color = "#000099" SIZE =+ 2>Образцы бытовой техники</FONT>

</caption>

<tr>

<th>

<form name = "form1">

<select name = "item" onChange = "l_image()">

<option>Холодильник

<option selected>Пылесос

<option>Тостер

<option>Варочный стол

<option>Духовка

<option>Стиральная машина

<option>Посудомоечная машина

</select>

</form>

</th>

</TR>

<TR>

<th align="center" valign="center"><img src="dust.gif" name="tool"></th>

</tr>

</table>

</body>

</html>

3***. Проанализируйте нижеприведенный листинг программы «Листание изображений вперед путем нажатия на кнопку». Модифицируйте его так, чтобы осуществлялась листание изображений назад нажатием на кнопку «Назад».

Вся страница размечается как таблица, состоящая из одного столбца в две ячейки. В первой ячейке размещается кнопка управления просмотром картинок "Вперед". Во второй ячейке размещаются картинки. Смена картинок осуществляется кнопкой "Вперед".

<html>

<head>

<script>

var n, flag;

n = 0;

flag = 0;

pictures = new Array()

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

pictures[i] = new Image();

if(i == 0){

pictures[i].src = "1.jpg";}

if(i == 1){

pictures[i].src = "2.jpg";}

if(i == 2){

pictures[i].src = "3.jpg";}

if(i == 3){

pictures[i].src = "4.jpg";}

if(i == 4){

pictures[i].src = "5.jpg";}

function next_image(){

if(flag == 0){

n++;

if(n > 4)

n = 0;

document.images[0].src = pictures[n].src;

}

}

}

</script>

</head>

<body>

<table cols=2 width="100%" >

<caption>

<font color = "#000099" SIZE =+ 2>Образцы бытовой техники</font>

</caption>

<tr>

<th>

<form name = "form1">

<input name = "f" type = "button" value = "Вперед" onClick = "next_image()">

</form>

</th>

</tr>

<tr>

<th aling = center valign = center><img src = "1.jpg" name = "tool"></th>

</tr>

</table>

</body>

</html>

4**. Напишите сценарий, который осуществляет автоматическую циклическую смену изображений.

5***. Напишите сценарий, который позволяет при щелчке на изображении заменить его другим изображением.

6**. Проанализируйте нижеприведенный листинг программы «Эффект визуального удаления изображения при наведении мыши». Модифицируйте его так, чтобы осуществлялся эффект визуального приближения изображения при наведении мыши.

<html>

<head>

<script language = "JavaScript">

function succpict() {

var d = document;

var w = d.mypict.width;

if (w>150) {

d.mypict.width = w - 10;

d.mypict.src = "032.jpg";

setTimeout("succpict()", 200);

}

}

</script>

</head>

<body>

<img src = "032.jpg" name = mypict onMouseOver = "succpict()">

</body>

</html>

2.4 Методические рекомендации по изложению теоретической части и выполнению практической части факультативного курса «Программирование на языке JavaScript»

Общие замечания

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

* - упражнения обычного уровня сложности;

** - упражнения с повышенным уровнем сложности;

*** - упражнения, которые можно использовать в качестве домашних заданий.

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

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

§ за выполнение всех упражнений обычного уровня сложности ставится оценка 3;

§ за выполнение всех упражнений обычного уровня сложности и одного упражнения с повышенным уровнем сложности (практические работы №№ 1, 3 - 7), двух упражнений с повышенным уровнем сложности (практическая работа № 2) ставится оценка 4;

§ за выполнение всех упражнений обычного уровня сложности и всех упражнений с повышенным уровнем сложности ставится оценка 5;

§ за выполнение четырех домашних работ ставится оценка 3;

§ за выполнение пяти домашних работ ставится оценка 4;

§ за выполнение семи домашних работ ставится оценка 5;

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

Занятие 1. Основы объектно-ориентированного программирования. Данная тема важна для формирования кругозора и информационной культуры учащихся. Разговор с учащимися по этой теме можно вести, используя такие методы обучения, как беседа и дискуссия.

При рассмотрении понятия «объект» нами предложено для обсуждения определение по Г. Бучу [1], так как оно отражает наиболее точное представление о данном понятии. Однако важно не только дать определение, но и развить представление о том, что можно называть объектом. Эта задача решается путем рассмотрения многочисленных примеров, которые должны привести к пониманию того, что объектом могут быть и предмет, и явление, и процесс, а также абстрактные представления, которые являются результатом умственной деятельности человека, т.е. объекты могут быть осязаемые и неосязаемые. Предлагаем для рассмотрения примеры из книги Г. Буча [1].

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

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

Занятия №№ 2 - 8 являются комбинированными занятиями, на которых основными методами обучения будут являться лекция и практическая работа.

Занятие 2. Введение в язык программирования JavaScript. Ввод и вывод данных. Переменные в языке JavaScript. Данное занятие включает необходимые знания, которыми должны овладеть учащиеся при создании сценариев. Рекомендуется на практической части занятия создать шаблон HTML-страницы - текстовый файл, который содержит основной набор тегов, применяющихся на каждой странице, который будет модифицироваться на последующих практических работах:

<html>

<head>

<title>Шаблон HTML-страницы</title>

<script language = "JavaScript">

</script>

</head>

<body>

</body>

</html>

Примеры упражнения 7 необходимо заранее подготовить в виде текстовых файлов.

Занятие 3. Использование операторов в языке JavaScript. В данной теме рассматриваются основные операторы языка JavaScript и на практической работе предлагаются различные упражнения с использованием изученных операторов. Основной задачей данного занятия является научить учащихся умению создавать сценарии с использованием методов вывода данных и усложнять сценарии в соответствии с использованием изученных операторов. При изложении материала возможно использование частично-поискового метода. После введения синтаксиса записи операторов, учащимся может быть предложено самостоятельно решить задачи с использованием данных конструкций.

Занятие 4. Использование функций в языке JavaScript. Данная тема занятия важна для изучения, так как на последующих занятиях функции будут использоваться при создании объектов, при работе с массивами, формами и изображениями. При изучении встроенных функций учащиеся приобретают знания, с помощью которых они могут реализовать в сценариях преобразование строковых данных в числовые и наоборот, также смогут создавать сценарии перевода чисел из одной системы счисления в другую. Предлагаются упражнения, в которых учащиеся должны использовать рекурсивный метод решения. На данном занятии происходит активизация и закрепление знаний, полученных на предыдущих занятиях, а именно: использование различных типов данных, методов вывода данных и операторов.

Занятие 5. Классы объектов языка JavaScript. Материал данного занятия знакомит учащихся с объектами, их свойствами, методами и событиями. Необходимо обратить особое внимание учащихся на то, как по иерархической структуре объектной модели происходит обращение к объектам, их свойствам и методам. При изложении материала возможно использование частично-поискового метода. После изучения синтаксиса использования свойств, методов и событий, а также предоставление учащимся справочного материала по набору свойств, методов и событий каждого объекта, учащимся может быть предложено самостоятельно решить задачи с использованием свойств, методов и событий объектов.

Занятие 6. Использование массивов в языке JavaScript. На данном занятии учащиеся учатся создавать массивы и выполнять различные преобразования в массивах. Возможно применение частично-поискового метода: учащимся предоставляется справочный материал по свойствам и методам класса Array, используя который они самостоятельно решают задачи.

Занятие 7. Работа с формами в языке JavaScript. Данная тема включает необходимые знания, которыми должны овладеть учащиеся при создании форм. По данной теме представлен справочный материал по свойствам, методам и событиям элементов форм. Возможно применение частично-поискового метода: учащимся предоставляется справочный материал по свойствам, методам и событиям элементов форм, используя который они самостоятельно решают задачи. Также предлагается несколько упражнений с написанным листингом программы, который они должны модифицировать методом поиска той части программы, в которой необходимо произвести преобразования. Приведенные в практической части листинги программ необходимо заранее подготовить в виде текстовых файлов.

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

Занятие 9. Разработка итогового проекта.

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

Основные требования к реализации метода проектов на факультативном курсе «Программирование на языке JavaScript»:

1. Цель итоговой работы.

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

2. Форма организации работы над проектом - индивидуальная, парная или

групповая.

3. Порядок работы над проектом.

Работа над проектом состоит из следующих этапов:

Первый этап - подготовительный. На этом этапе проводится следующая работа:

1. Выбор темы проекта.

2. Формулировка проблемы проекта.

3. Постановка целей и задач.

Второй этап - организация деятельности. На этом этапе учащиеся вырабатывают план действий: определение источников информации, определение способов ее сбора и анализа, определение способа представления результатов, разбиение предстоящей работы на отдельные операции и процедуры, распределение заданий и обязанностей между членами команды, если работа организована в паре.

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

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

4. Порядок сдачи проекта.

В качестве итогового мероприятия для определения уровня осознанности проделанной работы организуется конференция. Защита проекта происходит в виде демонстрации программного продукта остальным учащимся и последующим обсуждением.

На выступление отводится примерно 10 - 15 минут, за это время учащийся должен коротко рассказать содержание работы, ответить на вопросы и продемонстрировать на ПЭВМ работу выполненного программного продукта.

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

Предлагаемые темы проектных работ:

1. Разработка интерактивного теста по информатике. Выбор темы для составления теста предоставляется учащимся. Форма работы над проектом - индивидуальная или групповая.

2. Создание фотоальбома класса с данными каждого ученика. Форма работы над проектом - индивидуальная или парная.

3. Создание калькулятора. Форма работы над проектом - парная или групповая.

4. Разработка интерактивного опроса в форме анкеты. Составление вопросов для анкеты предоставляется учащимся. Форма работы над проектом - индивидуальная, парная.

5. Создание формы для осуществления поиска по сайту. Форма работы над проектом - парная, групповая.

6. Создание обучающего web-сайта по информатике с использованием сценариев. Выбор темы для создания web-сайта предоставляется учащимся. Форма работы над проектом - парная или групповая.

2.5 Результаты апробации

Частичная апробация разработанного методического обеспечения для факультативного курса «Программирование на языке JavaScript» была проведена в 10 классе 1996 общеобразовательной школы г. Москвы.

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

1) Основы объектно-ориентированного программирования.

2) Введение в язык программирования JavaScript. Ввод и вывод данных. Переменные в языке JavaScript.

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

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

Выводы по главе 2

1. Определены цели, задачи и место курса «Программирование на языке JavaScript» в школьном курсе информатики.

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

3. Проведена частичная апробация курса.

Заключение

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

1. Проанализирована учебно-методическая литература, посвященная вопросам изучения ООП. Проведенный анализ показал, что методика обучения ООП в общеобразовательной школе разработана недостаточно четко и полно, и что ни одно из пособий не может использоваться в полной мере для разработки содержания факультативного курса.

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

3. Проанализированы психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах, которые были учтены при разработке методики обучения ООП и дальнейшей ее реализации.

4. Определены цели, задачи и место курса «Программирование на языке JavaScript» в школьном курсе информатики.

5. Разработаны учебно-методические материалы по курсу: программа, примерное содержание, тематическое планирование и методические рекомендации по изложению теоретической части и выполнению практической части.

6. Проведена частичная проверка полученных результатов, в частности проведено несколько пробных занятий.

7. Цель и задачи, поставленные перед дипломной работой, были выполнены. Дипломная работа имеет перспективы развития в содержании факультативного курса по нескольким направлениям: работа с фреймами и работа с cookies-файлами в языке JavaScript.

Библиография

1. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./Пер. с англ. - М.: «Издательство Бином», СПб.: «Невский диалект», 2001. - 560 с., ил.

2. Уроки Web-мастера. / Д. Усенков. 2-е изд., испр. и доп. - М.: БИНОМ. Лаборатория знаний, 2004 - 507 с.: ил.

3. Кингсли-Хью Э., Кингсли-Хью К. JavaScript 1.5: учебный курс. - СПб.: Питер, 2002. - 272 с.: ил.

4. Дмитриева М.В. Самоучитель JavaScript. - СПб.: БХВ-Петербург, 2003. - 512 с.: ил.

5. Самоучитель JavaScript / В.В. Дунаев. - СПб.: Питер, 2003. - 395 с.: ил.

6. Макарова Н.В. Программа по информатике (системно-информационная концепция). - СПб.: Питер, 2004. - 64 с.: ил.

7. Угринович Н.Д., Новенко Д.В. Информатика и информационные технологии: поурочное планирование с применением интерактивных средств обучения. - 2-е изд. - М.: Школьная пресса, 2001. - 48 с.

8. Лесневский А.С. Об основных понятиях школьного курса информатики // Научно-методический журнал «Информатика и образование». - 1994. - № 2. - с. 41 - 44.

9. Горячев А.В., Лесневский А.С. Программа курса информатики для I - IX классов средней школы // Научно-методический журнал «Информатика и образование». - 1997. - № 7. - с. 12 - 17.

10. Кузнецов А.Б. Программа курса «Основы объектно-ориентированного программирования»// Научно-методический журнал «Информатика и образование». - 1998. - № 7. с. 17 - 24.

11. Информатика. 7 - 9 кл.: Учеб для общеобразоват. учреждений / А.Г. Кушниренко, Г.В. Лебедев, Я.Н. Зайдельман. - 4-е изд., стереотип. - М.: Дрофа, 2003. - 336 с.

12. Информатика. 7 - 9 кл.: Учеб. для общеобразоват. учреждений / А.Г. Гейн, А.И. Сенокосов, В.Ф.Шолохович. - 6-е изд., стереотип. - М.: Дрофа, 2003. - 240 с.: ил.

13. Каймин В.А. Основы компьютерной технологии. - М.: Финансы и статистика, 1992. - 208 с.

14. Информатика. Базовый курс. 7 - 9 классы / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. - М.: БИНОМ. Лаборатория Знаний, 2002. - 384 с.: ил.

15. Информатика. Базовый курс: Учебник для 9 класса / Н.Д. Угринович. - М.: «БИНОМ. Лаборатория знаний», 2004. - 304 с.: ил.

16. Информатика и информационные технологии. Учебник для 10 - 11 классов / Н.Д. Угринович. - М.: Бином. Лаборатория Знаний, 2002. - 512 с.: ил.

17. Информатика. 7 - 9 класс. Базовый курс. Теория / Под ред. Н.В. Макаровой. СПб.: Питер, 2004ю - 368 с.: ил.

18. Информационные технологии. В 2 ч. Ч.1: Основы информатики и информационных технологий / Шафрин Ю.А. - М.: Бином. Лаборатория Знаний, 2004. - 316 с.

19. Сборник нормативных документов. Информатика и ИКТ/Сост. Э.Д. Днепров, А.Г. Аркадьев. - М.: Дрофа, 2004. - 59 с.

20. Психология в работе учителя: В 2 кн. - М.: Гуманит. Изд. Центр ВЛАДОС, 2000. - Кн. 1: Практическое пособие по теории развития, обучения и воспитания. - 240 с. - (Психология для всех).

21. Пахомова Н.Ю. Педагогические находки: девять граней опыта учителя информатики. - М.: Просвещение, 1994. - 159с.

22. http://www.edu.ru/

23. http://www.webclass.polyn.kiae.ru/

24. http://www. Jsp.newmail.ru/

25. http://script.emanual.ru/

26. http://www.school55.tomsk.ru/Robot/reclam/js/0101.htm

27. http://fizmat.vspu.ru/books/js/

Приложения

Приложение I

Рис. 5. Интерактивная форма теста.

Приложение II

Тестовые задания по теме «Язык программирования JavaScript»

1. Какими тремя отличительными признаками обладает объект?

§ состояние, поведение, адаптированность

§ упорядоченность, поведение, идентичность

§ cостояние, измерение, идентичность

§ состояние, поведение, идентичность

2. Операция, выполняемая объектом - это . . . ?

§ идентичность

§ метод

§ событие

§ свойство

3. Инкапсуляция - это . . . ?

§ объединение всех свойств предмета и ограничение доступа к реализации этих свойств

§ совокупность существенных характеристик некоторого объекта

§ отношение между объектами, когда один объект повторяет структуру и поведение другого

§ свойство различных объектов выполнять одно и тоже действие разными способами

4. Что называется программой на языке JavaScript?

§ код

§ сценарий

§ апплет

§ оператор

Приложение II

5. Каков правильный способ размещения сценария?

§ <script language = "JavaScript">

Операторы языка JavaScipt

</script>

<html>

<head>

Операторы языка HTML

</head>

</html>

§ <html>

<head>

Операторы языка HTML

</head>

</html>

<script language = "JavaScript">

Операторы языка JavaScipt

</script>

§ <html>

<head>

<script language = "JavaScript">

Операторы языка JavaScipt

</script>

</head>

</html>

§ <script language = "JavaScript">

Операторы языка JavaScipt

<html>

<head>

Приложение II

Операторы языка HTML

</head>

</html>

</script>

6. Какой тип данных свидетельствует об отсутствии какого бы то ни было значения?

§ числовой

§ строковый

§ неопределенный

§ логический

7. Какой метод позволяет выводить на экран диалоговое окно с сообщением и с текстовым полем, в которое пользователь может ввести данные?

§ метод prompt

§ метод alert

§ метод confirm

§ метод go

8. Что возвращает метод confirm?

§ аргумент метода

§ числовое значение

§ неопределенное значение

§ значение true/false

9. Какое из имен переменных задано неправильно?

§ myAdress

§ myadress

§ my adress

§ my_adress

10. Какое значение примет переменная b?

a =20;

b = 3;

a += 10;

b*=a;

§ b = 30

§ b = 90

§ b = 10

§ b = 60

11. Какое значение примет переменная z?

false x = "abcd" = = "abc" | | false > "57";

true y = !x;

z = x | | y;

§ z = "abcd"

§ z = "57"

§ z = true

§ z = false

12. Какой синтаксис используется для записи оператора if ?

§ if (условие) {

код 1

}

Приложение II

else {

код 2

}

§ if (код) {

(условие 1)

}

else {

(условие 2)

}

§ else (условие) {

код 1

}

if {

код 2

{

§ if (условие)

код 1

else

код 2

13. Какой оператор используется для организации проверки большого количества условий?

§ оператор "?"

§ оператор switch

§ оператор if

§ оператор for

14. Какой синтаксис используется для записи оператора for ?

§ for (начальное выражение; код; выражение обновления) {

условие

}

§ for (начальное выражение; выражение обновления; условие) {

код

}

§ for (условие; начальное выражение; выражение обновления) {

код

}

§ for (начальное выражение; условие; выражение обновления) {

код

}

15. Какой синтаксис используется для вызова функции?

§ function имя_функции (список аргументов) {

код

}

§ имя_функции (список фактических аргументов)

§ function имя_аргумента

§ имя_аргумента {

код

}

16. Что выполняет оператор return?

§ возвращает результат из функции в место вызова, полученного при выполнении функции

§ возвращает логическое значение функции

Приложение II

§ возвращает ASCII-код аргумента

§ возвращает строку, представляющую исходный код функции

17. Какой синтаксис используется для обращения к свойствам объекта?

§ имя_объекта.имя_свойства

§ имя_свойства.имя_объекта

§ имя_переменной.имя_свойства

§ имя_свойства.имя_переменной

18. Для чего используется следующий синтаксис?

имя_переменной = new класс_объекта();

§ для создания нового класса

§ для создания нового объекта

§ для создания нового свойства

§ для создания нового метода

19. Что выполняет оператор with?

§ сокращает длину записи свойства объекта

§ проверяет, является ли заданный объект экземпляром заданного класса

§ сокращает длину записи выражения

§ проверяет существование заданного свойства у заданного объекта

20. Для чего используется класс String?

§ для хранения значений даты и времени

§ для объектного представления строк и манипуляции этими строками

§ для объектного представления числового значения

§ для объектного представления логических величин

21. Что необходимо определить для создания нового класса объектов?

§ свойство

§ метод

§ оператор

§ конструктор

22. Прототип - это . . . ?

§ ссылка на свойство объекта

§ ссылка на функцию объекта

§ ссылка на метод объекта

§ ссылка на класс объекта

23. Какой из внешних объектов языка JavaScript является старшим?

§ объект document

§ объект navigator

§ объект window

§ объект history

24. Какая запись при обращении к свойству href объекта window будет правильной?

§ window.location.href

§ location.href.window

§ href.window.location

§ document.location.href

25. Какой из внешних объектов языка JavaScript содержит информацию о том, какое событие произошло, какой элемент должен на него реагировать?

§ объект history

§ объект location

§ объект document

§ объект event

26. Какую информацию содержит объект location?

§ информацию об URL-адресе текущей страницы

§ информацию об адресах страниц, которые браузер посетил во время текущего сеанса

§ информацию о производителе браузера, его версии и возможностях

§ информацию об HTML-документе

27. Для чего используется следующий синтаксис?

имя_массива = [индекс_элемента 1, индекс_элемента 2, . . . , индекс_элемента n]

§ для определения размера массива

§ для определения массива

§ для определения новой переменной

§ для определения класса Array

28. Какой синтаксис будет использоваться для создания объекта "people" класса Array?

§ var people;

people = Array ("Коля", 170, 70);

§ new Array = people ("Коля", 170, 70);

§ var people;

people = new Array;

§ var people;

people = new Array ("Коля", 170, 70);

29. В соответствии с каким синтаксисом происходит обращение к элементам многомерного массива?

§ имя_массива [индекс_уровня n]

§ имя_массива [индекс_уровня 1] [индекс_уровня 2] . . . [индекс_уровня n]

§ имя_массива (индекс_уровня n)

§ имя_массива [индекс_уровня n] . . . [индекс_уровня 1]

30. Если в функцию передается числовое значение, то передача параметров осуществляется ...

§ по ссылке

§ по наименованию

§ по значению

§ по объекту

31. Если фактическим параметром функции становится объект, то передача параметров осуществляется ...

§ по значению

§ по объекту

§ по ссылке

§ по событию

32. Какими способами можно обратиться к форме документа?

§ через коллекцию frames и через имя фрейма

§ через коллекцию объекта document и через имя документа

§ через коллекцию объекта navigator и через имя navigator

§ через коллекцию forms и через имя формы

33. Какой синтаксис используется для обращения к форме документа?

§ formName.document

§ document.formName

§ navigator.formName

§ formName.navigator

34. Какой из элементов не является элементом управления в форме?

§ button

§ radio

§ text

§ action

35. Следующий синтаксис используется для доступа к . . . ?

document.FormName.elements(index);

§ элементам документа

§ элементам формы

§ элементам массива

§ элементам фрейма

36. Какие объекты относятся к классу объектов Image?

§ графические объекты

§ текстовые объекты

§ числовые объекты

§ звуковые объекты

37. Что задается с помощью следующего синтаксиса?

имя_переменной.src = "URL-адрес_изображения"

§ URL-адрес web-сайта

§ имя переменной

§ имя графического изображения

§ URL-адрес графического файла

38. Что позволяет выполнить следующее выражение?

имя_переменной.src = "URL-адрес_изображения"

§ позволяет загрузить весь документ в кэш-память браузера

§ позволяет браузеру отобразить изображение

§ позволяет загрузить изображение в кэш-память браузера

§ позволяет браузеру удалить изображение

39. Какой пример загрузки изображения в кэш-память браузера будет правильным?

§ var pic;

pic = new Image;

pic.src = "pic.gif";

§ var pic;

pic = new Image(100, 100);

pic = "pic.gif";

§ var pic;

pic = new Image(100, 100);

pic.src = "pic.gif";

§ var pic;

pic = new Image(100, 100);

pic.src = "pic";

Приложение II

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

§ src.images[индекс].document = src.имя_переменной

§ document.images[индекс].src = имя_переменной.src

§ src.имя_переменной = src.images[индекс].document

§ имя_переменной.src = document.images[индекс].src

программирование язык javascript учебный

Приложение III

Операторы в языке JavaScript

Таблица 1. Арифметические операторы

Оператор

Название

Пример

+

Сложение

X + Y

-

Вычитание

X - Y

*

Умножение

X * Y

/

Деление

X / Y

%

Возвращает остаток от деления

X % Y

++

Инкремент (увеличивает значение операнда на единицу)

X ++

--

Декремент (уменьшает значение операнда на единицу)

Y --

Таблица 2. Операторы присвоения

Оператор

Пример

Эквивалентное выражение

+=

X+=Y

X = X + Y

-=

X-=Y

X = X - Y

*=

X*=Y

X = X * Y

/=

X/=Y

X = X / Y

%=

X%=Y

X = X % Y

Таблица 3. Операторы сравнения

Оператор

Название

Пример

= =

Равно

X = = Y

!=

Не равно

X != Y

>

Больше

X > Y

>=

Больше или равно (не меньше)

X >= Y

<

Меньше

X < Y

<=

Меньше или равно (не больше)

X <= Y

Таблица 4. Логические операторы

X

Y

X&&Y

X | | Y

true

true

true

true

true

false

false

true

false

true

false

true

false

false

false

false

Приложение IV

Встроенные функции языка JavaScript

Метод

Описание

escape (строка)

Возвращает ASCII-код аргумента. Например: escape ("&"), вернет "%26".

eval (Строка)

Вычисляет выражение в указанной строке; выражение должно быть написано на языке JavaScript (не содержит тегов HTML). Например: eval ("2+2"), вернет 4.

isNaN (значение)

Возвращает true, если указанное в параметре значение не является числом, иначе false.

NaN

Возвращает значение NaN (не число).

Number(строка)

Преобразует строку в число.

praseFloat (строка)

Преобразует строку в число с плавающей точкой. При невозможности преобразования вернет NaN. Например praseFloat ("1.2"), вернет 1.2.

praseInt (строка, основание)

Преобразует строку в целое число системы счисления, определяемой основанием. При невозможности преобразования возвращает NaN.

String(число)

Преобразует число в строку.

undefined

Возвращает значение undefined, обозначающее, что переменная неопределенна.

unescape (строка)

Функция, обратная функции escape. Например: unescape ("%26") вернет "&".

Приложение V

Свойства и методы встроенных классов языка JavaScript

Таблица 1. Свойства класса Object.

Свойство

Описание

prototype

Определяет прототип класса.

constructor

Возвращает ссылку на конструктор класса.

Таблица 2. Методы класса Object.

Метод

Описание

toString()

Возвращает строковое значение объекта.

Таблица 3. Свойства класса String.

Свойство

Описание

length

Длина строки.

prototype

Свойство, позволяющее добавить новые свойства и методы ко всем создаваемым строковым объектам.

Таблица 4. Методы класса String.

Метод

Описание

сharAt(индекс)

Возвращает символ, занимающий в строке указанную позицию; параметр (индекс) является числом, индекс первого символа равен 0.

сharCodeAt(индекс)

Возвращает символ в указанной позиции строки в формате Unicode.

concat (arg1, arg2, ..., argn)

Объединяет текущую строку со всеми сроками, переданными в качестве аргументов, и возвращает её.

fromCharCode (unc1, unc2,...,uncn)

Возвращает строку, созданную из символов, Unicode-коды которых переданы в качестве параметров. Текущая строка не изменяется.

indexOf (подстрока, начало поиска)

Возвращает номер позиции подстроки в текущей строке, при этом второй параметр задает позицию, с которой начинается поиск, если он не задан, то поиск начинается с начала строки.

lastIndexOf (подстрока, начало поиска)

Аналогичен indexOf, но возвращается последняя позиция подстроки в строке.

slice (начало, конец)

Возвращает фрагмент строки в виде объекта. Если второй параметр не задан, то выбираются все символы до конца строки. Последний символ во фрагмент не включается.

split(разделитель, предел)

Разбивает текущую строку и возвращает ее в виде массива. Второй параметр задает количество элементов массива.

substr(начало, длина)

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

substring (начало, конец)

Возвращает фрагмент строки, последний символ во фрагмент не включается.

toLowerCase()

Преобразует все символы строки в нижний регистр.

toUpperCase()

Преобразует все символы строки в верхний регистр.

Таблица 5. Свойства класса Number.

Свойство

Описание

MAX_VALUE

Возвращается максимально допустимое в языке JavaScript число (1.7976931348623157е+308).

MIN_VALUE

Возвращается минимально допустимое в языке JavaScript число (5е-324).

NaN

Возвращает значение NaN, посредством которой язык JavaScript сообщает, что данные не являются числами.

NEGATIVE_INFINITY

Возвращает значение "минус бесконечность".

POSITIVE_INFINITY

Возвращает значение "плюс бесконечность".

prototype

Свойство, позволяющее добавить новые свойства и методы ко всем создаваемым строковым объектам.

Таблица 6. Методы класса Number.

Метод

Описание

toExponential(количество)

Представляет число в экспоненциальной форме.

toFixed(количество)

Представляет число в форме с фиксированным количеством цифр после точки.

toPrecision(точность)

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

toString(основание)

Возвращает строковое представление числа в системе счисления с указанным основанием.

Таблица 7. Свойства класса Math.

Свойство

Описание

E

Возвращает константу Эйлера (e).

LN10

Возвращает значение ln10.

LN2

Возвращает значение ln2.

LOG10E

Возвращает значение lge.

LOG2E

Возвращает значение log2e.

PI

Возвращает значение числа пи.

SQRT1_2

Возвращает квадратный корень из одной второй.

SQRT2

Возвращает квадратный корень из двух.

Таблица 8. Методы класса Math.

Метод

Описание

abc (число)

Возвращает абсолютное значение числа.

acos(число)

Возвращает арккосинус числа в радианах.

asin(число)

Возвращает арксинус числа в радианах.

atan(число)

Возвращает арктангенс числа в радианах.

atan2(X, Y)

Возвращает угол в радианах между осью OX и прямой, проходящей через точки (0, 0) и (X, Y).

ceil (arg)

Возвращает ближайшее целое, большее или равное аргументу.

cos (число)

Возвращает косинус числа, заданного в радианах.

exp (n)

Возвращает значение en.

floor (arg)

Возвращает ближайшее целое, меньшее или равное аргументу.

log (число)

Возвращает натуральный логарифм числа.

max (arg1, arg2,...,argn)

Возвращает максимальный из заданных аргументов.
Если аргументы не заданны, возвращается NEGATIVE_INFINITY
Если один из аргументов равен NaN, возвращается NaN.

min (arg1, arg2,...,argn)

Возвращает минимальный из заданных аргументов.
Если аргументы не заданы, возвращается POSITIVE_INFINITY.
Если один из аргументов равен NaN, возвращается NaN.


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

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