У вас вопросы?
У нас ответы:) SamZan.net

Базовые структуры программирования Алгоритм ~ чёткое описание последовательности действий для реше

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

J a v a S c r i p t:  о с н о в ы   п р о г р а м м и р о в а н и я

Часть II.   JavaScript:  основы программирования

Основные сведения о языке

1. Базовые структуры программирования 

Алгоритм – чёткое описание последовательности действий для решения поставленной задачи. Умение мыслить алгоритмически – представить сложное действие в последовательной совокупности простых действий.

Существуют следующие способы описания алгоритмов:

  1.  Словесная инструкция.
  2.  Блок-схема. Язык блок-схем является универсальным языком описания алгоритмов. Для обозначения действий в блок-схеме приняты следующие элементы:

 

Ввод данных в переменные.

 

Вывод результатов и текста.

Простое действие (вычисление и присваивание).

Условие.

Начало (конец) алгоритма.

  1.  Программа – это алгоритм, записанный на каком-либо языке программирования.

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

Система программирования – среда, которая позволяет создавать в памяти компьютера тексты программ, транслировать (переводить) тексты программ в машинные коды, отлаживать и исполнять программы.

Язык программирования – способ записи алгоритма (система обозначений) для выполнения его компьютером.

Языки программирования высокого уровня, например, Basic, Fortran, C, Pascal, Java, JavaScript, являются искусственными языками со строго определённым синтаксисом и семантикой. Понятия и структура языков высокого уровня удобны для восприятия человеком.

Любой язык программирования базируется на основных алгоритмических структурах:

  1.  Линейность (следование).
  2.  Ветвления (условные алгоритмы).
  3.  Циклы (повторение).
  4.  Подпрограммы (функции).

Линейные алгоритмы

В линейных алгоритмах действия (команды или операторы) выполняются последовательно, друг за другом: ввод данных, их последовательная обработка и вывод результатов обработки.

                          Ввод             Команда 1      …            Команда N          Вывод

Условные алгориты

Условный алгоритм проверяет истинность заданного условия. Если результат логического выражения в условии равен значению True, то выполняется Блок операторов №1, иначе (False) – Блок операторов №2.                   

                                               True                                              False

  Условие

                               Блок операторов №1                          Блок операторов №2

Циклические алгоритмы

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

        False 

 Условие

                                                             True 

   Тело цикла:

     Блок команд

Выход из цикла

Вспомогательные алгоритмы - подпрограммы

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

                  Функция-подпрограмма             Средство вызова функции        

                                                                           для её выполнения

                         Тело функции

Контрольные вопросы

  1.  Дайте определение алгоритма.
  2.  Что значит мыслить алгоритмически?
  3.  Как описывают алгоритмы?
  4.  Какие блоки приняты для описания алгоритмов блок-схемой?
  5.  Чем отличается алгоритм от программы?
  6.  Дайте определение языка программирования.
  7.  Что такое «система программирования»?
  8.  Что такое «трансляция» программы?
  9.  Что такое «отлаживание» программы?
  10.  Какие вы знаете языки программирования?
  11.  Назовите основные типы алгоритмов. Механизмы управления.
  12.  Приведите собственные примеры алгоритмов.
  13.  Запишите алгоритм в виде словесной инструкции «Волк, коза и капуста».
  14.  Изобразите алгоритмы в виде блок-схем: «Светофор», «Работа с 8 до 12».

Выводы

Вы узнали о базовых понятиях программирования:

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

2. Назначение и возможности языка JavaScript 

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

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

Определение. Язык программирования JavaScript является объектно-ориентированным языком, так как основан на использовании объектов.

Программа на языке JavaScript интерпретируется самим броузером Internet Explorer при загрузке документа, в который помещён её код. Интерпретатор  JavaScript читает программу сверху вниз и сообщает об ошибках после каждой прочитанной строки. Интерпретатор – это переводчик операторов программы в машинные команды.

Возможности. Язык JavaScript позволяет программисту:

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

Встраивание скриптов. Программы на JavaScript встраивают в HTML-документ с помощью пары тегов:<script>операторы через ;</script>.

Рекомендуется размещать скрипты в тегах <head>…</head>, так как это первый тег, который читает броузер. Однако простые скрипты можно размещать в любом месте тела документа <body>…</body>.

3. Структурные элементы языка

Переменные. Переменная – это поименованная область памяти, где записываются, хранятся и изменяются значения.

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

Операторы. Команды или ключевые слова для выполнения определённых действий в программе.

Объекты. Объект – это осязаемый или видимый предмет, который характеризуется состоянием (набор свойств), поведением (воздействие на другие объекты) и индивидуальностью (различие свойств).

Язык JavaScript включает в себя около 20 стандартных объектов.

Каждый объект имеет свой арсенал методов и свойств:

Методы объекта выполняют заданные действия над ним.

Свойства объекта – это совокупность его атрибутов (переменных, значений, других объектов).

Объекты обеспечивают доступ к элементам в HTML-документе.

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

Контрольные вопросы

  1.  Назначение языка программирования JavaScript.
  2.  Определение языка программирования JavaScript.
  3.  Интерпретация скрипта броузером.
  4.  Каковы возможности языка программирования JavaScript?
  5.  Как встраиваются скрипты в HTML-документ?
  6.  Перечислите структурные элементы языка JavaScript.
  7.  Дайте определения каждой группе структурных элементов языка.

Практическая работа «Мой первый скрипт»

                                      

                                       8а2 в3 + 1,5aс

Вычислите формулу     d =  -------------------    при заданных значениях а=2  в=4  с=5

                                              ав(2авс – а/c)

Html-код     <html><head></head>

<body><h1 align=center>Арифметические вычисления</h1>

<script>

a=2; b=4; c=5;                                                                              ввод данных

d=(8*a*a*b*b*b+1.5*a*c)/(a*b*(2*a*b*c-a/c));                              обработка данных  

document.write(d)                                                                        вывод результата                     

</script>

</body>

</html>

Выводимая строка в методе document.write, записанная в круглых скобках, может содержать переменные, а также  текст и теги HTML. В этом случае переменная конкатенируется (объединение с помощью знака +) с текстом и тегами HTML таким образом:

  •  document.write(“<h2>”+d+”</h2>”) – конкатенация с тегами HTML
  •  document.write(“<font size=4 color=red>”+d+” - результат вычисления формулы (8*a*a*b*b*b+1.5*a*c) /(a*b*(2*a*b*c-a/c))</font>”) – конкатенация с текстом и  тегами HTML.

Задание

  1.  Создайте каталог «11класс»  в своей папке группа, а в  нём создайте файл js1.htm
  2.  Наберите html-код примера встраивания скрипта и проанализируйте работу скрипта в броузере
  3.  Замените вывод переменной d по образцу конкатенации с тегами HTML, проанализируйте в броузере
  4.  Замените вывод переменной d по образцу конкатенации с текстом и тегами HTML 
  5.  Дополните вывод результата выводом исходных данных: а=2  в=4  с=5

 

Практическая работа “Встраивание скриптов”

  1.  Создайте скрипт в файле js1.htm для вычисления математического выражения

                             2( x2 + y) – 3(x2 - y)

                     Z =  --------------------------       для х = 10     y = 15

                                    5( x2 - y2 )

      Отформатируйте вывод информации по следующему образцу:

         При заданных числах X=10 Y=15           цвет шрифта красный, размер= 5

        горизонтальная линия

         Z = …         цвет шрифта зелёный,размер= 6   

  1.  Создайте скрипт, который вычитает 153947 из 105706 и выводит результат вместе с числами 153947 и 105706. Создайте свой образец вывода и отформатируйте вывод информации по этому образцу.
  2.  Создайте скрипт, который вычисляет площадь прямоугольного участка земли, имеющего размер 53,8Х123,4 метров. Отформатируйте вывод по вашему образцу.
  3.  Найти стоимость пакета акций, если у вас имеется 150 акций фирмы  IBM и 75 акций фирмы Netscape стоимостью соответственно 315 и 175 долларов каждая.

      Отформатируйте вывод по вашему образцу

  1.  Сколько километров содержится в 15 милях, если 1 миля содержит  1,60935 км.

      Отформатируйте вывод по вашему образцу.

  1.  Найти площадь круга, радиус которого равен 11 см. Отформатируйте вывод по вашему образцу.

4. Переменные.  Выражения и операции

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

Создать переменную можно двумя способами:

  1.  используя ключевое слово var с оператором присваивания (var a=5 или var a)
  2.  используя только оператор присваивания (а=5)

Оператор присваивания записывает значение в переменную.

При объявлении переменной не указывается её тип, язык JavaScript слаботипизирован. Именем переменной не может быть ключевое слово языка (названия операторов, объектов и других элементов языка).

Значениями переменных могут быть:

  •  целые и действительные числа:    X1=-5;    ax=38;    _S=3.453;    
  •  символьные строки: computer=”computer”; z=”язык программирования”; (значения символьных строк выделяются в кавычки)
  •  Булевы значения true и false, а также значение null  

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

break

for

new

true

with

continue

function

null

typeof

else

if

return

var

false

in

this

while

    

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

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

Примеры:

                   part1=”Java”;                          Year=365*24;                     x=”ответ равен”+42;

        а). part2=”Script” ;               б).   Minutes=Year*60;     в).     z=”58”+42; part3=part1+part2;

Условные (логические) выражения проверяют истину знака сравнения в условии (==,!=,>,<,>=,<=). Если результат сравнения вырабатывает значение true, то в переменную запишется одно значение, если результат сравнения – false, то в переменную запишется другое значение.

Пример:     status = (a >= 18) ? ”взрослый” : ”подросток”;

                                         Сравнение     Значение1          Значение 2

Если значение в переменную а введено >=18, то  в переменную status запишется значение ”взрослый”, иначе – status = “подросток”.

5. Вывод информации методом document.write

Язык JavaScript предоставляет способ вывода информации в окно броузера с помощью метода write объекта document.

document.write(“текст”)                                        – вывод содержимого в кавычках

document.write(z)                                                   – вывод значения переменной z

document.write(“текст”+z)                                    – конкатенация переменной с текстом

document.write(“<h1>текст”+z+”</h1>” )            – конкатенация переменной с тегами HTML

document.write(арифметическое выражение)  – вывод результата арифметического         

                                                                                    выражения.

Используя конкатенацию с тегами форматирования объект document предоставляет пользователю доступ к элементам оформления web-страницы.

При выводе длинных выражений в методе document.write можно применять вложенные круглые скобки, например:

 

document.write((“<h1>текст”)+(z)+(”</h1>”));

Вложенные кавычки должны различаться по виду, например:   

 

document.write(“<font color= ‘#red’>текст</font>”);

Метод document.writeln(список выражений) применяется для перевода курсора в начало следующей строки при просмотре документа в виде HTML. 

Для установки цвета фона страницы web-документа используется свойство bgColor объекта document с указанием кода цвета, например:  

document.bgColor=”# ffffff”

Контрольные вопросы

  1.  Что такое переменная? Каковы признаки переменной?
  2.  Как можно задать имя переменной в языке JavaScript?
  3.  Как создать переменную? Какой оператор записывает значение в переменную?
  4.  Какие значения могут содержать переменные?
  5.  Какие выражения могут содержать переменные? Приведите примеры.
  6.  Какие арифметические операции выполняют арифметические выражения?
  7.  Какие сравнения могут выполняться в логических выражениях?
  8.  Какие значения вырабатывают логические выражения?
  9.  Какое средство языка JavaScript позволяет выводить информацию в окно броузера?
  10.  Какие возможности предоставляет метод document.write при выводе информации?
  11.  Каков синтаксис языка при конкатенации переменных с текстом и тегами HTML?
  12.  Как установить цвет фона в HTML-документе?

Практическая работа «Метод document.write»

Создайте скрипт в файле js2.htm, демонстрирующий варианты вывода информации методом document.write

Практическая работа «Конкатенация переменных»

1.    Создайте скрипты в html-файле js2.htm для примеров теоретической темы «Выражения и операции»: а, б, в, используя заданные переменные.

2.    Разделите примеры горизонтальной чертой и отформатируйте вывод результатов в броузере по следующему образцу:

а)

        JavaScript – язык программирования Web     Цвет шрифта – красный

                 Размер шрифта – 5

                  

б)

         В году:      Цвет синий, размер –  5                    

         … часов или … минут    Цвет красный, размер – 6   

                  

в)             Сколько ни считай     Оформить по желанию

            а ответ равен 42            Это меньше, чем 5842

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

1. Методы объекта window для ввода-вывода информации

Объект window представляет собой окно броузера и является объектом самого верхнего уровня в иерархии объектов. Свойства объекта window можно вызывать напрямую, не указывая его имени. Объект window предоставляет следующие методы ввода-вывода информации: alert, confirm и prompt. Все данные методы выводят в окно броузера небольшую диалоговую панель и прерывают выполнение программы.

Метод alert

Выводит панель с сообщением и кнопкой «Оk». Признак alert – знак       !

Формат в скрипте: alert (“Hello, World!”);

Результат в броузере:

                                                           !    Hello, World!

         

                                                                          Ok              

Выполнение программы продолжается после нажатия кнопки «Оk». При этом диалоговая панель исчезает.

Метод confirm

Выводит панель с сообщением и кнопками «Оk» и «Cancel»(отмена).  Признак confirm      –  знак      ?

Формат в скрипте: b=confirm(“Хотите закончить?”);

Результат в броузере:

                                                           ?  Хотите закончить?   

         

                                                               Ok            Cancel       

Выполнение программы продолжается после нажатия одной из кнопок.  При этом диалоговая панель исчезает. После обработки функция confirm возвращает значение true, если была нажата кнопка «Оk» (b=true), и false, если была нажата «Cancel» (b=false).

Метод prompt

Выводит панель с сообщением и кнопками «Оk» и «Cancel» (отмена). Признак prompt – текстовое поле.

Формат в скрипте: b=prompt(“Введите имя”,”Иван”);

Результат в броузере:

                                                         Введите имя                           Ok

                                                          Иван                                Cancel  

                                                        

Первый аргумент в скобках – это сообщение на панели, второй аргумент – это образец ввода текста в текстовом поле. Второй аргумент можно задать пустым, например:  b=prompt(“Введите имя”,””);

Выполнение программы продолжается после нажатия одной из кнопок.  При этом диалоговая панель исчезает. После обработки функция prompt возвращает текст, набранный в поле ввода, если была нажата кнопка «Оk» (b=”Иван”), и null, если была нажата «Cancel» (b=null)

Метод prompt позволяет вводить только текстовые данные, то есть символьную строку. Для работы с числами необходимо применить функцию parseFloat, которая преобразует введённую строку в действительное число (или parseInt для преобразования в целое число).

b= parseFloat(b)  или b= parseInt(b)

Пример скрипта для  методов ввода-вывода объекта window

<script>

 alert (“Hello, World!”);        - вывод панели alert

 confirm(“Хотите закончить?”);       - вывод панели confirm

 a=prompt(“Введите имя”,”Иван”);  - вывод панели prompt и ввод строки в переменную a

 document.write(a);       - вывод значения на экран из переменной а 

 b=prompt(“Введите число”,””);       - вывод панели prompt и ввод строки в переменную b

 b=parseFloat(b);         - преобразование строки в число в переменной b

 b=b/2;       - вычисление деления на 2 значения переменной b

 document.write(b)       - вывод значения на экран из переменной b

</script>

Контрольные вопросы

  1.  Какие средства предоставляет объект window для ввода-вывода информации?
  2.  Какие действия выполняют методы ввода-вывода?
  3.  Каков принцип выполнения alert?
  4.  Каков принцип выполнения confirm?
  5.  Каков принцип выполнения prompt?
  6.  Как преобразовать символьную строку в действительное число?

Практическая работа  «Демонстрация методов window»

Создайте html-файл js3.htm с примером скрипта, демонстрирующего методы ввода и вывода объекта window, и отобразите его в броузере, проанализируйте результаты отображения.

Практическая работа «Ввод и вывод информации»

  •  При выводе текста используйте установку цвета, размера и стиля шрифта.

Задание 1. Метод alert

  1.  Вывести диалоговую панель alert с сообщением «Вримание! Встреча!»
  2.  При нажатии кнопки «Оk» вывести текст «Увидимся позже!».

Задание 2. Метод prompt

  1.  Вывести диалоговую панель prompt с сообщением «Как вас зовут?»
  2.  Введите ваше имя в текстовое поле панели prompt.
  3.  При нажатии «Оk» отобразите ваше имя в окне броузера.

Задание 3. Условные выражения

  1.  Вывести диалоговую панель prompt с сообщением «Сколько вам лет?».
  2.  Ввести число (возраст) в текстовое поле панели prompt.
  3.  При нажатии «Оk» вывести текст «Так Вы – взрослый!» или «Так Вы – подросток!».

     Считать взрослым человека, достигшего 18 лет.

Задание 4. Условные выражения

  1.  Вывести диалоговую панель prompt с сообщением «Введите дату».
  2.  Ввести число (год) в текстовое поле панели prompt.
  3.  При нажатии кнопки «Оk» вывести текст «Документ устарел» или «Документ новый».     Считать устаревшим документ, созданный до 1995 года.

Задание 5. Вычисление арифметического выражения

  1.  Вычислить арифметическое значение B = A (A2 +1).
  2.  Ввод данных осуществить в диалоговом окне prompt.
  3.  Вывод результата произвести в окне броузера с установкой параметров цвета фона, цвета текста, размера и стиля шрифта.

2. Виды присваиваний

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

                                 Ввод          команда1      …         командаN          вывод

Оператором линейной структуры является оператор присваивания, который записывает значение в переменную.  Например, в строке Z = Z + 5  оператор присваивания  =  запишет значение Z + 5 в переменную Z.  Для корректности такого действия программист должен задать начальное значение переменной Z.

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

 Вид: Аналог:

 X+=Y X=X+Y

 X-=Y X=X-Y

X*=Y X=X*Y

X/=Y X=X/Y

А также применяется присваивание – инкрементация (++) и декрементация (--):

 Вид: Аналог:

Х++ Х=Х+1

Х-- Х=Х-1

Присваивания: инкрементация и декрементация используются, в основном, в

циклических структурах программ, при задании счётчиков цикла.

Практическая работа “Каков результат программы?”

  •  Выполните вычисления в заданных алгоритмах сами, вместо компьютера:

  1.  Пусть значения  в переменных X и Y, соответственно, 10 и –2. Какие значения  

      будут иметь переменные после выполнения операторов присваивания:

      X-=5; Y*=X

  1.  Пусть значения  в переменных Z и K, соответственно,  0.7  и –0.9. Какие значения  

      будут иметь переменные после выполнения операторов присваивания:

      Z+=1;  K*=Z;  Z+=K

3. Этапы решения задачи

Решая любую задачу, программист выделяет следующие основные этапы:

  1.  Описание переменных. Выделение исходных данных, результатов, промежуточных  

    результатов.

  1.  Построение математической модели решения задачи, последовательности действий.
  2.  Построение алгоритма и написание программы на языке программирования.
  3.  Ввод программы в среде программирования.
  4.  Тестирование программы с различными исходными данными, анализ результатов,    

    отладка программы.

Задача «Бронза». Для приготовления бронзы надо взять: 17 частей меди, 2 части цинка и 1 часть олова. Сколько надо взять каждого металла для получения К количества бронзы?

I. Описание переменных: 

На вводе (исходные данные) – К (количество бронзы);

На выводе (результаты) – М (кол. меди), Z (кол. цинка), О (кол. олова).

Образец вывода в броузере:   Для получения …  бронзы возьмите:

                                                               … меди

                                                               … цинка

                                                               … олова   

II. Решение задачи:

  1.  Какое количество металлов содержится в одной части бронзы?  S=K/20;
  2.  Какое количество меди?                                                                    M=S*17;
  3.  Какое количество цинка?                                                                   Z=S*2;
  4.  Какое количество олова?                                                                   O=S;

III. Программа:

<script>

k=prompt(“Введите количество бронзы”,””);

k=parseFloat(k);

s=k/20;

m=s*17;

z=s*2;

document.write (“<font color=’#red’ size=5><i>Для получения ”+k+” бронзы возьмите<br>”+m+” меди<br>”+z+” цинка<br>”+s+”олова</i></font>”)

</script>

Контрольные вопросы

  1.  Определите составные части программы для задачи «Бронза»: ввод данных, обработка данных, вывод результатов.
  2.  Как выполняются операторы в линейных структурах программирования?
  3.  Какова функция оператора присваивания? Каковы виды оператора присваивания?
  4.  Что такое инкрементация и декрементация?
  5.  Назовите этапы решения задачи с помощью компьютера.
  6.  Что такое среда программирования? В какой среде вы создаёте программы на языке JavaScript?

Выводы

  •  Язык программирования JavaScript расширяет возможности HTML для создания динамических Web-страниц. JavaScript является объектно-ориентированным языком. Программы на JavaScript встраивают в HTML-документ с помощью пары тегов:<script>операторы через ;</script>. Структурные элементы языка: переменные, выражения и операции, операторы, объекты, события.
  •  В программах линейной структуры операторы выполняются по порядку их написания. Оператор присваивания является линейным, он записывает значение в переменную. Значением может быть число, текст, арифметическое или условное выражение, а также Булевы значения true и false. Оператор присваивания имеет вид знака =, в синтаксисе языка применяется также присваивание с одним из арифметических знаков, например X+=2 означает X=X+2. Для задания счётчиков цикла применяется операция инкрементации i++ или декрементации i--.
  •  Программа линейной структуры должна содержать в себе три части: ввод данных (prompt), обработка данных (вычисление и присваивание), вывод результатов на экран (document.write)
  •  Любую задачу программист решает в несколько этапов – описание переменных, создание математической модели решения, создание алгоритма-программы, ввод программы в среде программирования, тестирование и отладка программы.

4. Контрольная работа «Линейные алгоритмы»

1 Вариант

Задание 1. Подберите каждому термину левой колонки определение из правой.

1.  Переменная    а) Команда или ключевое слово для выполнения       

     определённого действия в программе.

2.  Оператор  б) Выполнение арифметических или условных операций перед  

   присваиванием значения переменной

3.  Конкатенация  в) Прерывание выполнения программы и ожидание действий

     пользователя

4.  Выражение  г) Поименованная область памяти для записи, изменения и

     хранения значений

5.  Ввод информации  д) Объединение символьных переменных знаком «+»

Задание 2. Пусть значения  в переменных X и Y, соответственно,  0.3  и –0.2. Какие значения будут иметь переменные после выполнения операторов присваивания:

 X+=1; Y+=X

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

         Среднее арифметическое чисел:

  … , … , … равно … .

Задание 4. Подсчитать, сколько стоит пакет акций, если в нём имеется m акций фирмы IBM и n акций фирмы Netscape, стоимостью соответственно, 125 и 75 долларов каждая.

Вывод данных и результатов отформатировать по своему образцу.

*Задания 3 и 4 выполнить в файле kont1.htm

2 Вариант

Задание 1. Подберите каждому термину левой колонки определение из правой.

1.  Переменная    а) Прерывание выполнения программы и ожидание действий

                                         пользователя

2.  Оператор  б) Выполнение арифметических или условных операций перед  

                                         присваиванием значения переменной

3.  Конкатенация  в) Поименованная область памяти для записи, изменения и

                                         хранения значений

4.  Выражение  г) Команда или ключевое слово для выполнения       

                                         определённого действия в программе.

5.  Ввод информации  д) Объединение символьных переменных знаком «+»

Задание 2. Пусть значения переменных X и Y равны, соответственно, 0.3 и –0.2. Какие значения будут иметь переменные после выполнения операторов присваивания:  

X*=2; Y+=X;

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

         Периметр

                                     правильного …угольника равен… .

 

Задание 4. Подсчитать, сколько очков набрала команда «Торпедо» в чемпионате по хоккею, если известно, что m встреч она выиграла, n встреч проиграла, k встреч сыграла вничью. Считается, что 2 очка – выигрыш, 1 – ничья, 0 – проигрыш.

Вывод данных и результатов отформатировать по своему образцу.

*Задания 3 и 4 выполнить в файле kont1.htm

Вспомогательный алгоритм 

Элемент function 

Сложные программы размещают в тегах заголовка документа <head>…</head>, используя для этого основной элемент языка – функцию (function), которая играет роль подпрограммы. Для выполнения функции необходим её вызов. Вызов функции можно осуществить с помощью какого-либо обработчика события из тела документа.

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

Задача «Имитиция светофора». Установите цвет фона окна броузера и соответствующее предупреждение методом alert для обработки сигналов светофора

Схема кода html-документа Код для задачи «Имитация светофора»

<html> <html>

<head><script> <head><script>

    function Start( ) {   function Start( ) {

    операторы программы      document.bgColor=”red”;                             

    }      alert(“Стой!”);  

</script></head>      document.bgColor=”yellow”;  

<body onLoad=”Start( )”>      alert(“Жди!”);

</body>      document.bgColor=”green”;

</html>      alert(“Иди!”)

   }

</script></head>

<body onLoad=”Start( )”> </body></html>

Программирование разветвляющихся алгоритмов

1. Условный оператор if.

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

Синтаксис

if (условие) {операторы 1} else {операторы 2}

Механизм управления

  1.  Условие вырабатывает значение логического выражения: true или false при проверке знака сравнения (== равно, != не равно, > больше, < меньше, >= больше или равно, <= меньше или равно). Например: сравнение 7>5 вырабатывает значение true, а 7<5 вырабатывает значение false.
  2.  Для значения  true   выполняется блок {операторы 1}

      Для значения  false  выполняется блок {операторы 2}

Неполная форма оператора  if

Блок else является необязательным, тогда условный оператор имеет вид:

if (условие) {операторы}

Блок-схема условного алгоритма                                                             

                                                            Данные

                                               false            условие           true 

   Операторы 2      Операторы 1

                                                              

                                                               Результаты

Задача “Сравнение чисел”.   Даны два числа. Если первое число больше второго, то увеличить эти числа вдвое, в противном случае разделить их на семь.

1.  Блок-схема:

                                                            

                                                               a, b

                                               false               a>b                true

                                           a = a/ 7                                 a = a*2

      b = b/ 7                                 b = b*2    

                                                               

                                                                      a, b

  1.  Скрипт:

<html><head><script>

    function Start() {

     a=prompt(“Введи 1 число”, “”);

     a=parseFloat(a);

     b=prompt(“Введи 2 число”, “”);

     b=parseFloat(b);

     document.write(“<h2>Старые числа ”+a+” и ”+b+”</h2>”);

    if (a>b) {

       a=a*2;

       b=b*2} else {

       a=a/7;

       b=b/7}

    document.write(“<h2>Новые числа ”+a+” и ”+b+”</h2>”);

   }

</script></head>

<body onLoad=”Start()”>

</body></html>

  1.  Протестируйте программу со следующими исходными данными:
  2.  a=10;   b=2
  3.  a=24;   b=24
  4.  a=8;     b=10

Контрольные вопросы

  1.  Как выполняется скрипт в тегах заголовка документа?
  2.  Каков синтаксис элемента function?
  3.  Какое событие происходит, когда страница загружена? Обработчик события?
  4.  В каких структурах программирования применяется условный оператор?
  5.  Каков синтаксис оператора if?
  6.  Каков механизм управления условного оператора?
  7.  Какие операции сравнения выполняет условный оператор?
  8.  Назовите две формы условного оператора.

Выводы

Программы сложных структур выполняются в тегах <head>…</head> с помощью функции-подпрограммы function Имя( ) { тело функции } . В разветвляющихся структурах программирования используется условный оператор if, который проверяет истину операции сравнения в условии. В зависимости от значения логического выражения условия в программе выполняется одна из веток: либо - true, либо - false.

Практическая работа «Программирование условий»

  •  Постройте блок-схему алгоритма. Запишите скрипт
  •  Создайте html-файл js4.htm с текстом данного скрипта и проверьте его работу в броузере с разными исходными данными
  •  Отформатируйте вывод информации в методе document.write

Задача 1. Даны два числа. Если числа не равны, то удвойте их значения, в противном случае возведите эти числа в квадрат.

Задача 2. Введите слово. Если введённое слово – «земля», то замените его на слово

«небо», в противном случае замените его на слово «мир».

Задача 3. Даны два числа. Если первое число больше или равно второго, то замените

числа нулями, в противном случае оставьте числа без изменения.

Задача 4. Вычислите выражение Y=1/X, при заданном значении X. При вводе значения 0                           

выведите панель alert с сообщением “Делить на 0 нельзя!”.

Задача 5. Выведите панель confirm с сообщением «Пора отдыхать?». Если нажата  кнопка «Оk», то выведите панель alert с сообщением «Отдыхать – не работать!» и установите красный фон страницы. Если нажата кнопка  «Cancel», то выведите текст «Работа – не волк, в лес не убежит!», при этом используйте размер и цвет шрифта.

Задача 6*. «Предметы». Выведите панель confirm с сообщением «Предмет – программирование». При нажатии кнопки «Ok» выведите фамилии учеников вашей группы в виде списка, отформатируйте текст и установите цвет фона страницы. В противном случае (при нажатии «Cancel») выведите панель alert с сообщением «Другие предметы», а затем таблицу по образцу и установите цвет фона страницы

                                                Экономика Иванов                                    

                                                       Экология    Петров

Проверочная работа «Условный оператор»

Задание 1. Какая последовательность символов является условным оператором в    

                   языке JavaScript?

  1.  If  x=1  {x=x*2}  else  {x=0}
  2.  If  (a>=b)  {a=a/2; b=b/2}
  3.  If  (x!=y)  then  {x=1; y=1}  else  {x=0; y=0}
  4.  If (a==b) {document.write(a+”,”+b)} else {document.write(“числа не равны”)}
  5.  If  (x<1)  {alert(“Выход”)!}  else {alert(“Продолжаем работу!”)}

Задание 2. Какие будут значения переменных j и k после выполнения условного  

                   оператора:

If  (j>k)  {j=k+2}  else  {k=k+2}

                   если исходные значения переменных таковы:

  1.  j=3;  k=5
  2.  j=3;  k=3
  3.  j=3;  k=2

Задание 3. Постройте блок-схему алгоритма и запишите html-файл с текстом скрипта для      

                   следующей задачи:

Даны два числа, определите и напечатайте, какое из чисел больше, а какое меньше?

3. Простые и составные условия

Определение. Условие, содержащее в себе одно логическое выражение, называется простым. Например: (а>=1); (а==true). Составное условие содержит в себе два простых условия, которые могут объдиняться логическими операциями И и ИЛИ. Например, логическое выражение (a>0 && a<1) определяет попадание числа а в интервал (0,1), то есть 0<a<1.

Правила выполнения логических операций

Операция И – &&. Составное условное выражение равно значению true, когда оба логических выражения в нём равны true.

Операция ИЛИ – ||. Составное условное выражение равно значению true, когда хотя бы одно из логических выражений в нём равно true.

Логическое выражение 1

Логическое выражение  2

Результат операции && (И)

Результат операции || (ИЛИ)

True

True

True

True

True

False

False

True

False

True

False

True

False

False

False

False

Составные условия применяются для записи двойных неравенств.

Контрольные вопросы

  1.  Какое условие называется простым?
  2.  Какие знаки сравнения проверяются в логических выражениях?
  3.  Какие значения вырабатываются после вычисления логических выражений?
  4.  Какое условие называется составным?
  5.  Как работает логическая операция  И – &&?
  6.  Как работает логическая операция ИЛИ – ||?

Выводы

  •  Условие в операторе if… может быть простым или составным.
  •  Простое условие содержит одно, а составное условие – два логических выражения.
  •  Логические выражения составного условия связаны логическими операциями И и ИЛИ.
  •   Для получения значения true в составном условии операция И требует true в обоих логических выражениях, а ИЛИ требует true хотя бы в одном логическом выражении.
  •  Логические выражения в условии могут быть вложенными, тогда они выделяются в круглые скобки. Круглые скобки определяют приоритет действий.

Практическая работа «Вычисление логических выражений»

Задание 1.  Вычислите значения логических выражений:

  1.  (z>0 && z<1)        при    а). z=8;       b). z=0.2
  2.  (z<=3 || z>=5)       при    a). z=5;       b). z=4
  3.  ((z1 &&z2) || z3)    при     а).z1=true; z2=false; z3=true      b). z1=false; z2=true; z3=false

Задание 2. Запишите логические выражения на JavaScript для выполнения следующих     

                   условий:

  1.  значение z принадлежит интервалу (0,1)
  2.  значение z принадлежит интервалу [1,10)
  3.  значение z не принадлежит интервалу (-1,0]
  4.  значение z не принадлежит интервалу (-40,1)

Справочная информация «Интервалы».

Пусть X – действительное переменное. Множество всех значений X (точек), удовлетворяющих условиям:

  1.  A < X < B, есть ограниченный открытый интервал (A, B), не включает границы,
  2.  A < X, есть неограниченный открытый интервал (A, +∞),
  3.  X < A, есть неограниченный открытый интервал (–∞, A),
  4.  AXB, есть ограниченный замкнутый интервал [A, B], включает границы.

     Замкнутый интервал называют также отрезком, или замкнутым промежутком.

Множество точек (X), удовлетворяющих условиям:

AX < B,   A < XB,   X  ≥A,   XA, можно называть полуоткрытыми интервалами.

Задание 3. Вычислите значения переменных j и k после выполнения условного   

                   оператора:

If   ((j>1 || k>4)  &&  k==0)   {j=j+2}   else  {k=k+2}

                   для следующих исходных данных:

  1.  j=1; k=4
  2.  j=2; k=3
  3.  j=3; k=0

Практическая работа «Составные условия»

  •  Составьте и запишите скрипты
  •  Создайте html-файл js5.htm и поочерёдно проанализируйте его работу в броузере
  •  Выполните тестирование с разными исходными данными

Задача 1. «Установка фона страницы по условию».

Введите число. Если это число равно 0 или 1, то установите красный фон страницы, в противном случае – установите зелёный фон страницы.

Задача 2. «Обработка заданного числа по условию».

Введите число b. Если введённое число удовлетворяет условию 10b50, то удвойте значение b и выведите отформатированный результат. В противном случае, выведите панель alert (“число”+b+” не в интервале (0,50)”).

Задача 3. «Обработка панели prompt по условию»

Введите число, используя панель prompt. Если нажата кнопка «Cancel», то выведите панель alert с сообщением «Загрузи программу ещё раз!». В противном случае выведите результат умножения введённого числа на 3 и 4 в таблице:

  Умножение Результат

    ,,, х 3      ,,,

    ,,, х 4      ,,,

Задача 4*. «Обработка панели prompt»

При вводе пользователем с клавиатуры фамилии автора Кинг выведите список предлагаемых вашей фирмой его произведений, при вводе других данных или нажатии кнопки “Cancel” выведите панель alert с соответствующим сообщением.

4. Сложное ветвление

Применение в программе нескольких условных операторов есть сложное ветвление. Различают два типа задач: линейность независимых условий и применение вложенных операторов if….

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

Задача «Три числа»

Даны три целых числа. Неотрицательные числа заменить нулями, а отрицательные – удвоить.

Блок-схема: Программа:

 

                    a,b,c

 <script>

false             a>=0             true  function Start(){

 a=prompt(“введи а”,“”);

  a=a*2                       a=0 a=parseInt(a);

 b=prompt(“введи b”,””);

 b=parseInt(b);

 c=prompt(“введи c”,””);

false              b>=0            true     c=parseInt(c);

  b=b*2                       b=0 if (a>=0) {a=0} else {a=a*2};

 if (b>=0) {b=0} else {b=b*2};

 if (c>=0) {c=0} else  {c=c*2};

 document.write(a+”,”+b+”,”+c)

false             c>=0            true                          }

 </script>

    c=c*2                        c=0      

                                                        Вопросы к программе:                                                         

                                                       1.Протестируйте программу с исходными данными:

                                                             а)  5, -10, 2    б)  0, 55, -9    в)  -7, -8, -9   г)  7, 8, 9

                   a,b, c                            2. Как изменится алгоритм при перестановке условий?                    

Вложенные условные операторы

В программах на JavaScript разрешено применение вложенных операторов if .

Блок-схема (общий вид)

 false                                          true

                                                                    Условие1

                        false                          true                     false                           true  

                                     Условие3                                               Условие2

              Операторы4                 Операторы3       Операторы2                  Операторы1  

Синтаксис

 if (Условие 1) {

     ifсловие 2) {Опреаторы 1} else {Операторы 2} }

             else {

                  if (условие 3) {Операторы 3} else {Операторы 4} }

5. Задача «Светофор»

Введите данные в диалоговую панель prompt: red, yellow или green. Используйте структуру вложенных условий для вывода сообщений методом alert по заданной схеме. Оформите вывод соответствующим цветом фона страницы.

   Ввод                    red             yellow              green                     

                          true              true                 true          

                             Стой!            Жди!               Иди!                 

function Start() {

b=prompt (“Введи цвет: red, yellow или green”,””);

if (b==”red”) { alert (“Стой!”); document.bgColor=”red” }

else { if (b==”yellow”) { alert (“Жди!”); document.bgColor=”yellow” }

        else {if (b==”green”) { alert (“Иди!”); document.bgColor=”green” }

                }

       }

}

Выводы

  •  Сложное ветвление предполагает использование в программе нескольких операторов if .
  •  Независимые друг от друга условия выполняются в программе последовательно.     
  •  Решение задачи со сложным ветвлением лучше начинать с построения блок-схемы алгоритма.
  •  Вложенные операторы if требуют внимательного подхода при описании каждой ветки в программе.   

Практическая работа «Светофор»

  1.  Объясните алгоритм решения задачи «Светофор» по блок-схеме.
  2.  Объясните выполнение программы при разных исходных данных.
  3.  Дополните программу для следующих возможных действий пользователя:
  4.  Ввод любого значения.
  5.  Нажатие кнопки «Cancel» в панели prompt.
  6.  Создайте html-файл светофор.htm и протестируйте программу в броузере.

Практическая работа «Вложенные if»

  •  Составьте блок-схему алгоритма решения задачи.
  •  Запишите скрипт по составленной блок-схеме.
  •  Создайте html-файл js6.htm и проверьте его работу в броузере.
  •  Протестируйте программу с разными исходными данными.

Задача 1. Введите число X. Вычислите значение Y для заданных условий.

         2X – 5 , если  X > 5

Y =    1 – X , если 2  X  5

         1/X , если X  0

          0 , в остальных случаях

Задача 2. «Книжный магазин».

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

Задача 3*. Введите числа X, Y, Z.  Вычислите V = max ( min ( X,Y ), Z  )

6. Программирование вложенных ветвлений

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

Описание переменных

A – цена книги; B – сумма, полученная с покупателя; C – разница между суммой покупателя и ценой книги.

Блок-схема

     

              a, b 

                                                                 false                                true

                                                                       a или b=null

                                                                                               Запусти

                                                         c = ba                                программу                       

                                                                                                      

                                           false                        true

                                                             c > 0

                          false                   true                  Возьмите    

                                           c < 0                              сдачу (c)        

               Благодарю                     Доплатите

                за покупку                             (с)  

Код html-файла

<html><head><script>

function Start() {

 var a=prompt('Какова цена книги?',"");

 var b=prompt('Сколько вы платите?',"");

 if (a==null || b==null) {

     alert("Зачем нажал 'Отмена'?\nЗапусти программу ещё раз!");

     document.write('<h1 align=center>Хулиган</h1>');

     document.bgColor="braun"

 } else {

       document.write('<font color="green" size=6 align=center>Книжный магазин<br></font>');

       c=parseInt(b)-parseInt(a);

       if(c>0) {

           document.write("<font color='red' size=7 align=center>Возьмите сдачу "+c+" у.е.!</font>")

       } else {

             if (c<0){

             document.write("<font color='red' size=7 align=center>Вы не доплатили "+c+" у.е.!</font>")

             } else {

                  document.write("<font color='red' size=7 align=center>Благодарим за покупку!</font>")

               }

      }

document.write('<p><font color="green" size=6>Как здорово работать кассиром! </font> </p>');

}

}

</script></head>

<body onLoad="Start()">

</body>

</html>

7. Контрольная работа «Сложное ветвление»

1 Вариант

Задача 1. Введите число G. Вычислите значение F для заданных условий.

        – G , если 0  G  1

F =    1/G , если G  0

          0 , в остальных случаях

  •  Составьте блок-схему алгоритма решения задачи.
  •  Запишите скрипт по составленной блок-схеме.

Задача 2. Составьте программу, реализующую эпизод сказки.

Выполните запрос, куда предпочитает пойти герой (налево, направо или прямо), и напечатайте, что ждёт его в каждом случае.

Предусмотрите ввод незнакомого направления, а также нажатие кнопки «Cancel» в диалоговой панели prompt.

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

2 Вариант

Задача 1. Введите число R. Вычислите значение S для заданных условий.

        0.3 + R , если 1  R < 10

S =     1/( R – 2 ) , если R 2

          R , в остальных случаях

  •  Составьте блок-схему алгоритма решения задачи.
  •  Запишите скрипт по составленной блок-схеме.

Задача 2. Составьте программу, которая спрашивала бы сокращённое имя, а

печатала  полное (например, Саша – Александр) для троих ваших друзей.

Предусмотрите ввод незнакомого имени, а также нажатие кнопки «Cancel» в диалоговой панели prompt.

  •  Запишите скрипт по составленной блок-схеме.
  •  Создайте html-файл kont.htm и проверьте его работу в броузере.
  •  Протестируйте программу с разными исходными данными.
  •  Отформатируйте вывод информации.  

19

PAGE  19




1. Российский государственный профессиональнопедагогический университет Отделение музыкальнокомпью
2. тематизация нормативных правовых актов- понятие способы Систематизация законодательства это целенаправ
3. вариант- Базовые моменты проявления физические свойства материалов
4. Реферат- Новые возможности MS SQL Server 2004 Yukon
5. Логистические затраты и их отражение в бухучете и при налогообложении
6. Проявление эмоций в конфликте
7. . Теоретико ~ методологические основы конкурентоспособности предприятия
8. 1999 гг как системный и циклический можно сказать что без решения ряда политических и государственных проб
9. ГРАВИТАЦИЯ Наименование задач мероприятий
10.  Счет производства отражает операции- а по распределению доходов среди институционных единиц; б характ
11. Капитал Карла Маркса - трактат, изменивший мир
12. Личностный фактор в системе теоретической педагогики
13. Системи передачі в електрозв~язку
14. Курсовая работа- Организация частной детективной и охранной деятельности
15. Методи лікування тварин
16. Some Fmous Illuminted Mnuscripts
17. 2.2.4. Фоносемантические способы воздействия на аудиторию Специалистами выявлено что одна и та же мысль.html
18. Культура профессиональной деятельности в Академии управления при Президенте Республики Беларусь
19. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата економічних наук Тернопіль 2004 Д
20. М~дениет деген с~з ~аза~ тіліне арабты~ маданият ~ала ~алалы~ деген с~зінен енген.html