Программные средства создания Интернет-приложений

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

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

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

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

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

Министерство образования Республики Беларусь

Учреждение образования ”Минский государственный радиотехнический колледж”

Контрольная работа №1

Программные средства создания Интернет-приложений

Выполнил учащийся гр.№24411

Познюр Денис Павлович

1. Типизация данных в JavaScript. Правила объявления локальных и глобальных переменных. Объявление и использование функций

Все языки программирования содержат встроенные типы данных, но они часто отличаются друг от друга в разных языках. JavaScript -- прототипно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.

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

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

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

Все используемые данные в javascript имеют определенный тип. В JavaScript имеется пять примитивных типов данных:

· string: представляет строку

· number: представляет числовое значение

· Boolean: представляет логическое значение true или false

· undefined: указывает, что значение не установлено

· null: указывает на неопределенное значение

Все данные, которые не попадают под вышеперечисленные пять типов, относятся к типу object

Числовые данные

Числа в JavaScript могут иметь две формы:

· Целые числа, например, 35. Мы можем использовать как положительные, так и отрицательные числа. Диапазон используемых чисел: от -253 до 253

· Дробные числа (числа с плавающей точкой), например, 3.5575. Опять же можно использовать как положительные, так и отрицательные числа. Для чисел с плавающей точкой используется тот же диапазон: от -253 до 253

Например:

1 var x = 45;

2 var y = 23.897;

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

Строки

Тип string представляет строки, то есть такие данные, которые заключены в кавычки. Например, "Привет мир". Причем мы можем использовать как двойные, так и ординарные кавычки: "Привет мир" и 'Привет мир'. Единственно ограничение: тип закрывающей кавычки должен быть тот же, что и тип открывающей, то есть либо обе двойные, либо обе ординарные.

Если внутри строки встречаются кавычки, то мы их должны экранировать слешем. Например, пусть у нас есть текст "Бюро "Рога и копыта"". Теперь экранируем кавычки:

1 var companyName = "Бюро \"Рога и копыта\"";

Также мы можем внутри стоки использовать другой тип кавычек:

1 var companyName1 = "Бюро 'Рога и копыта'";

2 var companyName2 = 'Бюро "Рога и копыта"';

Тип Boolean

Тип Boolean представляет булевые или логические значения true и false (то есть да или нет):

1 var isAlive = true;

2 var isDead = false;

null и undefined

Нередко возникает путаница между null и undefined. Итак, когда мы только определяем переменную без присвоения ей начального значения, она представляет тип undefined:

1 var isAlive;

2 console.log(isAlive); // выведет undefined

Присвоение значение null означает, что переменная имеет некоторое неопределенное значение (не число, не строка, не логическое значение), но все-таки имеет значение (undefined означает, что переменная не имеет значения):

1 var isAlive;

2 console.log(isAlive); // undefined

3 isAlive = null;

4 console.log(isAlive); // null

5 isAlive = undefined; // снова установим тип undefined

6 console.log(isAlive); // undefined

Слабая типизация

JavaScript является языком со слабой типизацией. Это значит, что переменные могут динамически менять тип. Например:

1 var xNumber; // тип undefined

2 console.log(xNumber);

3 xNumber = 45; // тип number

4 console.log(xNumber);

5 xNumber = "45"; // тип string

6 console.log(xNumber);

Несмотря на то, что во втором и третьем случае консоль выведет нам число 45, но во втором случае переменная xNumber будет представлять число, а в третьем случае - строку.

Это важный момент, который надо учитывать и от которого зависит поведение переменной в программе:

1 var xNumber = 45; // тип number

2 var yNumber = xNumber + 5;

3 console.log(yNumber); // 50

4

5 xNumber = "45"; // тип string

6 var zNumber = xNumber + 5

7 console.log(zNumber); // 455

Выше в обоих случая к переменной xNumber применяется операция сложения (+). Но в первом случае xNumber представляет число, поэтому результатом операции xNumber + 5 будет число 50.

Во втором случае xNumber представляет строку. Но операция сложения между строкой и числом 5 невозможна. Поэтому число 5 будет преобразовываться к строке, и будет происходить операция объединения строк. И результатом выражения xNumber + 5 будет стока "455".

Оператор typeof

С помощью оператора typeof можно получить тип переменной:

1 var name = "Tom";

2 console.log(typeof name); // string

3 var income = 45.8;

4 console.log(typeof income); // number

5 var isEnabled = true;

6 console.log(typeof isEnabled); // boolean

7 var undefVariable;

8 console.log(typeof undefVariable); // undefined

Объявление переменных

Все переменные в JavaScript объявляются с помощью ключевого слова var, как это показано ниже:

var szHelloMsg;

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

szMsg = "Привет!";

После такого присвоения имя переменной szMsg становится доступным.

При выборе имен переменных необходимо придерживаться следующих простых правил:

· имя переменной должно начинаться с буквы или с символов "_", "$" и может состоять только из букв, цифр, а также символов "_", "$";

· имя переменной не должно совпадать с зарезервированными ключевыми словами JavaScript.

Таблица 1 Список зарезервированных ключевых слов JavaScript приведен ниже:

break case catch class const continue

debugger default delete do else enum

export extends false finally for function

if import in new null return

super switch this throw true try

typeof var void while with

Объявление и использование функции

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

function funcName(arg1, arg2, /* ... */ argN) {

// do something

}

Любая ветка кода функции может содержать инструкцию return, которая прекращает выполнение функции. Указанное после этой инструкции значение возвращается функцией.

function sum(a, b) {

return a + b;

}

console.log(sum(1, 2)); // 3

Если же при вызове функции выполненная в ней ветвь кода не содержала ключевого слова return, то функция возвращает специальное значение undefined.

function f() {}

console. log(f()); // undefined

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

console.log(sum(2, 3)); // 5

console.log(sum(3, 3)); // 6

console.log(sum(3, 7)); // 10

В качестве аргументов функции можно передавать не только литералы, но и любые допустимые в js выражения.

console.log(sum(2 + 3, 3)); // 8

var a = 10, b = -10;

console.log(sum(a, b)); // 0

console.log(sum(sum(5, 3), 2)); // 10

2. Функции работы с файлами PHP: открытие, закрытие файла; запись в файл и чтение из файла

Открытие и закрытие файлов.

Прежде чем выполнять операции ввода/вывода с файлом, необходимо открыть его функцией fopen( ).

fopen( )

Функция fopen( ) открывает файл (если он существует) и возвращает целое число -- так называемый файловый манипулятор (file handle). Синтаксис функции fopen( ):

int fopen (string файл, string режим [, int включение_пути])

Открываемый файл может находиться в локальной файловой системе, существовать в виде стандартного потока ввода/вывода или представлять файл в удаленной системе, принимаемой средствами HTTP или FTP.

Параметр файл может задаваться в нескольких формах, перечисленных ниже:

Если параметр содержит имя локального файла, функция fopen( ) открывает этот файл и возвращает манипулятор.

Если параметр задан в виде php://stdin, php://stdout или php://stderr, открывается соответствующий стандартный поток ввода/вывода.

Если параметр начинается с префикса http://, функция открывает подключение HTTP к серверу и возвращает манипулятор для указанного файла.

Если параметр начинается с префикса ftp://, функция открывает подключение FTP к серверу и возвращает манипулятор для указанного файла. В этом случае следует обратить особое внимание на два обстоятельства: если сервер не поддерживает пассивный режим FTP, вызов fopen( ) завершается неудачей. Более того, FTP-файлы открываются либо для чтения, либо для записи.

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

Параметр режим определяет возможность выполнения чтения и записи в файл. В табл.2 перечислены некоторые значения, определяющие режим открытия файла.

Таблица 2. Режимы открытия файла

Режим

Описание

r

Только чтение. Указатель текущей позиции устанавливается в начало файла

r+

Чтение и запись. Указатель текущей позиции устанавливается в начало файла

w

Только запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его

w+

Чтение и запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его

a

Только запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его

a+

Чтение и запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его

Если необязательный третий параметр включение пути равен 1, то путь к файлу определяется по отношению к каталогу включаемых файлов, указанному в файле php.ini.

Ниже приведен пример открытия файла функцией fopen( ). Вызов die( ), используемый в сочетании с fopen( ), обеспечивает вывод сообщения об ошибке в том случае, если открыть файл не удастся:

$file = "userdata.txt"; // Некоторый файл

$fh = fopen($file, "a+") or die("File ($file) does not exist!");

Следующий фрагмент открывает подключение к сайту PHP (http://www.php.net):

$site = "http://www.php.net": // Сервер, доступный через HTTP

$sh = fopen($site., "r"); //Связать манипулятор с индексной страницей Php.net

После завершения работы файл всегда следует закрывать функцией fclose( ).

fclose ( )

Функция fclose( ) закрывает файл с заданным манипулятором. При успешном закрытии возвращается TRUE, при неудаче -- FALSE. Синтаксис функции fclose( ):

int fclose(int манипулятор)

Функция fclose( ) успешно закрывает только те файлы, которые были ранее открыты функциями fopen( ) или fsockopen( ). Пример закрытия файла:

$file = "userdata.txt";

if (file_exists($file)) :

$fh = fopen($file, "r");

// Выполнить операции с файлом

fclose($fh);

else :

print "File Sfile does not exist!";

endif;

Запись в файл

С открытыми файлами выполняются две основные операции -- чтение и запись.

is_writeable( )

Функция is_writeable( ) позволяет убедиться в том, что файл существует и для него разрешена операция записи. Возможность записи проверяется как для файла, так и для каталога. Синтаксис функции is_writeable( ):

bool is_writeable (string файл)

Одно важное обстоятельство: скорее всего, PHP будет работать под идентификатором пользователя, используемым web-сервером.

fwrite ( )

Функция fwrite( ) записывает содержимое строковой переменной в файл, заданный файловым манипулятором. Синтаксис функции fwrite( ):

int fwrite(int манипулятор, string переменная [, int длина])

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

<?

// Информация о трафике на пользовательском сайте

$data = "08:13:00|12:37:12|208.247.106.187|Win9";

$filename = "somefile.txt";

// Если файл существует и в него возможна запись

if ( is_writeable($filename) ) :

// Открыть файл и установить указатель текущей позиции в конец файла

$fh = fopen($filename, "a+");

// Записать содержимое $data в файл

$ success - fwrite($fh, $data);

// Закрыть файл

fclose($fh); else :

print "Could not open Sfilename for writing";

endif;

?>

Функция fputs( ) является псевдонимом fwrite( ) и может использоваться всюду, где используется fwrite( ).

fputs( )

Функция fputs( ) является псевдонимом fwrite( ) и имеет точно такой же синтаксис. Синтаксис функции fputs( ):

int fputs(int манипулятор, string переменная [, int длина])

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

Чтение из файла

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

is_readable( )

Функция i s_readable( ) позволяет убедиться в том, что файл существует и для него разрешена операция чтения. Возможность чтения проверяется как для файла, так и для каталога. Синтаксис функции is_readable( ): boo! is_readable (string файл]

Скорее всего, PHP будет работать под идентификатором пользователя, используемым web-сервером (как правило, «nobody»), поэтому для того чтобы функция is_readable( ) возвращала TRUE, чтение из файла должно быть разрешено всем желающим. Следующий пример показывает, как убедиться в том, что файл существует и доступен для чтения:

if ( is_readable($filename) ) :

// Открыть файл и установить указатель текущей позиции в конец файла

$fh = fopen($filename, "r");

else :

print "$filename is not readable!";

endif;

fread( )

Функция fread( ) читает из файла, заданного файловым манипулятором, заданное количество байт. Синтаксис функции fwrite( ):

int fread(int манипулятор, int длина)

Манипулятор должен ссылаться на открытый файл, доступный для чтения. Чтение прекращается после прочтения заданного количества байт или при достижении конца файла. Рассмотрим текстовый файл pastry.txt, приведенный в листинге 1. Чтение и вывод этого файла в браузере осуществляется следующим фрагментом:

$fh = fopen('pastry.txt', "r") or die("Can't open file!");

$file = fread($fh, filesize($fh));

print $file;

fclose($fh);

Используя функцию fllesize( ) для определения размера pastry.txt в байтах, вы гарантируете, что функция fread( ) прочитает все содержимое файла.

Листинг 1. Текстовый файл pastry.txt

Recipe: Pastry Dough

1 1/4 cups all-purpose flour

3/4 stick (6 tablespoons) unsalted butter, chopped

2 tablespoons vegetable shortening 1/4 teaspoon salt

3 tablespoons water

fgetc( )

Функция fgetc( ) возвращает строку, содержащую один символ из файла в текущей позиции указателя, или FALSE при достижении конца файла. Синтаксис функции fgetc( ):

string fgetc (int манипулятор)

Манипулятор должен ссылаться на открытый файл, доступный для чтения. В следующем примере продемонстрированы посимвольное чтение и вывод файла с использованием функции fgetc( ):

$fh = fopen("pastry.txt", "r"); while (! feof($fh)) :

$char = fgetc($fh):

print $char; endwhile;

fclose($fh);

fgets( )

Функция fgets( ) возвращает строку, прочитанную от текущей позиции указателя в файле, определяемом файловым манипулятором. Файловый указатель должен ссылаться на открытый файл, доступный для чтения. Синтаксис функции fgets( ):

string fgets (int манипулятор, int длина)

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

· из файла прочитано длина -- 1 байт;

· из файла прочитан символ новой строки (включается в возвращаемую строку);

· из файла прочитан признак конца файла (EOF).

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

$fh = fopen("pastry.txt", "r");

while (! feof($fh));

$line = fgets($fh, 4096);

print $line. "<br>";

endwhile;

fclose($fh):

fgetss( )

Функция fgetss( ) полностью аналогична fgets( ) за одним исключением - она пытается удалять из прочитанного текста все теги HTML и PHP:

string fgetss (Int манипулятор, int длина [, string разрешенные_теги])

Прежде чем переходить к примерам, ознакомьтесь с содержимым листинга 2 -- этот файл используется в листингах 3 и 4.

Листинг 2. Файл science.html

<html>

<head>

<title>Breaking News - Science</title>

<body>

<h1>Alien lifeform discovered</h1><br>

<b>August 20. 2000</b><br>

Early this morning, a strange new form of fungus was found growing in the closet of W. J. Gilmore's old apartment refrigerator. It is not known if powerful radiation emanating from the tenant's computer monitor aided in this evolution.

</body>

</html>

Листинг З. Удаление тегов из файла HTML перед отображением в браузере

<?

$fh = fopen("science.html", "r");

while (! feof($fh)) :

print fgetss($fh, 2048);

endwhile;

fclose($fh);

?>

Результат приведен ниже. Как видите, из файла science.html были удалены все теги HTML, что привело к потере форматирования:

Breaking News - Science Alien lifeform discovered August 20. 2000 Early this morning, a strange new form of fungus was found growing in the closet of W. J. Gilmore's old apartment refrigerator. It is not known if powerful radiation emanating from the tenant's computer monitor aided in this evolution.

В некоторых ситуациях из файла удаляются все теги, кроме некоторых - например, тегов разрыва строк <br>. Листинг 7.4 показывает, как это делается.

Листинг 4. Выборочное удаление тегов из файла HTML

<?

$fh = fopenC'science.html", "r");

$allowable = "<br>";

while (! feof($fh)) :

print fgetss($fh. 2048, $allowable);

endwhile;

fclose($fh);

?>

Результат:

Breaking News - Science Alien lifeform discovered August 20. 2000 Early this morning, a strange new form of fungus was found growing in the closet of W. J. Gilmore's old apartment refrigerator. It is not known if powerful radiation emanating from the tenant's computer monitor aided in this evolution.

Как видите, функция fgetss( ) упрощает преобразование файлов, особенно при наличии большого количества файлов HTML, отформатированных сходным образом.

3. Задание. Используя средства PHP, создайте тест по языку программирования JavaScript, состоящий из 10 вопросов. Вопросы теста должны быть размещены на одной странице. Для ввода ответов используйте текстовые поля ввода, выпадающие списки, переключатели (radio), флажки (checkbox). Перед прохождением теста пользователь должен зарегистрироваться (ввести фамилию и номер группы). Результат выполнения теста должен быть выведен на новой странице в следующем виде: отметка, номера вопросов, на которые дан неправильный ответ и правильные варианты ответа на данные вопросы.

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

Регистрация

Форма

javascript файл программирование

Список использованной литературы

1. Дмитриева М.В. JavaScript. Экспресс-курс. - СПб.: БХВ-Петербург, 2005. - 336 с.

2. Полонская Е.Л. Язык HTML. Самоучитель. - М. : «Вильямс», 2003. - 320 с.

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


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

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

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

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

    реферат [86,4 K], добавлен 07.02.2011

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

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

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

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

  • Разработка программы "Игроки КХЛ 2012-2013" на языке С++ с использованием классов списков структур для обработки данных. Описание глобальных переменных, разработанных функций. Главное меню программы. Чтение данных из файла, их просмотр и сохранение.

    курсовая работа [2,2 M], добавлен 17.03.2016

  • Факторы, влияющие на пропускную способность в беспроводных сетях. Использование скриптового языка программирования PHP для разработки базы данных интернет-магазина, его основные преимущества. Современные методы и средства тестирования web-приложений.

    дипломная работа [3,5 M], добавлен 10.07.2015

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

    презентация [133,9 K], добавлен 21.06.2014

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

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

  • Создание тематического Web-сайта с использованием гипертекстового языка разметки HTML, каскадных листов стилей CSS и языка программирования JavaScript. Проблема высокого уровня нагрузки на хостинг и создания уникального контента. Выбор средств CMS.

    курсовая работа [3,6 M], добавлен 25.05.2014

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

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

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