Цели урока:

  • введение понятия “переменной”;
  • добиться сознательного усвоения материала;
  • развитие логики мышления;
  • обретение навыков работы с переменными.

Тип урока: Объяснение нового материала.

Организационная форма урока: мини-лекция.

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

ХОД УРОКА

Приветствие. Проверка готовности учащихся к уроку, организация внимания. На доске написана тема.

Подготовка учащихся к усвоению нового материала:

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

Изучение нового материала:

Алгоритмический язык имеет сходство с математическим тем, что в нем также используется понятие величины. Используются в основном, величины двух типов – числовые и символьные, хотя не исключены и другие типы. Числовые величины – это числа: натуральные, целые, вещественные; символьные – буквы, цифры, слова, предложения. В информатике также используется понятие “переменная”. Запишем определение переменной.

Переменная – это объект, которому дано имя и который может принимать различные значения.

Переменные удобно представить в виде “почтовых ящиков” (ячеек памяти компьютера), на которые навешены ярлыки с их именами.

Информация, хранимая в переменной, называется ее значением .

Именем переменной может быть любая буква латинского алфавита.

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

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

Наш “почтовый ящик” имеет некоторые необычные свойства. Когда в него помещается другое значение, начальное стирается и исчезает. Оно уже не может быть восстановлено. Задать значение переменной можно с помощью команды присваивания , которая обозначается знаком “=”.

Например:

Задание 1:

Выполнить следующие операции

  1. A=13 B=3
  2. A=A+B
  3. X=A+B
  4. Y=A*B
  5. Печать X, Y
A B X Y
13 3
A+B 16
A+B 19
A*B 48
Печать 19 48

Домашнее задание:

  • проработать материал;
  • выполнить задачу 1.

Задача 2:

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

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

Задача 3:

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

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

Задача 4:

Записать два числа в переменные A и B. Поменять местами содержимое A и B:

а) с использованием вспомогательной переменной С;

б) без использования дополнительной переменной.

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

В языках Visual Basic и Gambas и в языке OpenOffice.org Basic переменные используются для хранения и обработки данных в программах.

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

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

Тип переменной.
Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double являются числа, логического типа Boolean — значения «истина» (True) или «ложь» (False), строкового типа String — последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.

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

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

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

Для объявления переменной используется оператор объявления переменных Dim . С помощью одного оператора можно объявить сразу несколько переменных, например: Dim А As Byte, В As Short, С As Single, D As String, G As Boolean

Присваивание переменным значений.
Задать или изменить значение переменной можно с помощью оператора присваивания . При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства.
Например:
А = 255
B = — 32768
C = 3.14
D = «информатика»
G = True

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

Проанализируем процесс выполнения программы компьютером (для определенности записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек:

  • для целой неотрицательной переменной А одну ячейку;
  • для целочисленной переменной B две ячейки;
  • для переменной одинарной точности С четыре ячейки;
  • для строковой переменной C по две ячейки на символ;
  • для логической переменной G две ячейки.

Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например, ячейки с 1–й по 31-ю.

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

  1. В чем состоит разница между типом, именем и значением переменной?
  2. Какие основные типы переменных используются в языке программирования Visual Basic 2005? Gambas? OpenOffice.org Basic?
  3. Почему рекомендуется объявлять переменные перед их использованием в программе?

Задания:

  1. Определить количество ячеек оперативной памяти, необходимое для хранения значений переменных первых семи типов языка Visual Basic, перечисленных в первой таблице.
    (Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)

Переменная

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

Переменная характеризуется:

  • Именем («обозначением ячейки памяти»)
  • Значением (данными, содержащимися в переменной в конкретный момент времени)
  • Типом (определяющим: а) какие значения может принимать переменная; б) какие операции можно производить с этими значениями; в) как данные представлены в памяти компьютера)

Имена и типы переменных указываются в разделе описаний и не могут изменяться в процессе выполнения программы.

Типы переменных

Простые типы

Дискретные (можно перечислить возможные значения):

  • целые (integer, longint)
  • символьный (char)
  • логический (boolean)
  • диапазон (часть значений стандартного дискретного типа, например, 1..100 )
  • перечисляемый (явно перечислены все допустмые значения)

Вещественные (real, double, extended) - служат для представления действительных чисел с ограниченной точностью.

Структурированные типы

  • Массив (фиксированное количество данных одного типа)
  • Строка
  • Запись (связанные данные, в общем случае, разных типов)
  • Множество
  • Файл (данные одного типа, хранящиеся на внешнем носителе)

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

var
имена переменных : тип ;
...
имена переменных : тип ;

Например:

Var
a, b, c: real;
i, n: integer;
f: boolean;

Ввод и вывод

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

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

Read(переменные );

Readln(переменные );

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

Read(a, b);

компьютер будет ожидать ввода двух значений, которые затем будут помещены в переменные a и b.

Операторы read и readln отличаются тем, что во втором случае после ввода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.

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

Write(выражения );

Writeln(выражения );

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

Write(a + b, c);

на экран будет выведена сумма переменных a и b, а также значение переменной c. Если нужно вывести на экран какое-либо текстовое сообщение, его нужно заключить в апострофы (одиночные кавычки):

Write("Нет решения");

Операторы write и writeln отличаются тем, что во втором случае после вывода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.

Присваивание

Для того чтобы переменная получила или изменила свое значение, используется оператор присваивания. В Pascal он записывается следующим образом:

переменная := выражение ;

Тип переменной должен совпадать с типом выражения либо быть «более широким» совместимым (т.е. вещественной переменной можно присвоить значение целого выражения; строковой переменной можно присвоить значение символьного выражения).

Компьютер сначала вычисляет значение выражения в правой части оператора присваивания, затем помещает его в переменную, указанную слева от символа присваивания «:=».

Например, при выполнении оператора

X:= a + b;

переменная x получит значение суммы переменных a и b. При выполнении оператора

N:= n + 1

значение переменной n увеличится на единицу.

Запомните! При присваивании переменной нового значения старое будет потеряно безвозвратно. Например, после выполнения операторов a:= b;
b:= a;

обе переменные будут иметь одинаковые значения, равные тому, которое имела переменная b.

Простейшая программа

Рассмотрим, как составить простую программу, выполняющую какие-либо вычисления. Для этого нам нужно:

  1. Проанализировав условие задачи, выделить исходные данные и результаты. Выбрать для них имена переменных (если они не заданы в условии). Определить тип данных.
  2. Построить математическую модель задачи - описание в виде набора математических соотношений.
  3. Разработать (или подобрать из известных) алгоритм решения задачи - последовательность действий, приводящую от исходных данных к результатам за конечное число шагов. (Не забудьте, что сначала компьютер должен получить значения исходных данных, а после нахождения результатов - вывести эти результаты на экран).
  4. Если в процессе решения используются промежуточные данные, выбрать имена переменных и определить их тип.
  5. Записать программу в соответствии с правилами синтаксиса языка программирования (в нашем случае - Pascal).

Рассмотрим простейший пример.

Задача

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

Решение

1) Определим исходные данные и результаты задачи. В данном случае они явно указаны в условии: исходная величина - радиус, результаты - длина окружности и площадь круга. Используем для них традиционные обозначения: R, L и S, соответственно. Все эти переменные могут принимать как целые, так и дробные числовые значения, поэтому следует использовать вещественный тип данных, например, Real.

2) Математически задача описывается известными формулами:

L = 2 ⋅ π ⋅ R
и
S = π ⋅ R 2 .

3) Алгоритм в данном случае предельно прост:

  1. Ввести значение радиуса.
  2. Вычислить длину окружности по формуле .
  3. Вычислить площадь круга по формуле .
  4. Вывести значения длины окружности и площади круга на экран.

4) При вычислениях нам (точнее, компьютеру) потребуется значение π. Вообще говоря, практически все реализации Pascal имеют встроенную константу PI , но мы объявим подобную константу самостоятельно.

5) Теперь запишем программу:

program circle; { Имя программы можно выбирать произвольно }
{ В фигурных скобках записываем

В данных Методических указаниях излагаются основные понятия, операторы и конструкции языка программирования VisualBasic(VB). Во многом они повторяют элементы программирования языкаQBasic. Поэтому студенты, которые знакомы сQBasic, легко освоят или вспомнят изложенные элементы программирования.

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

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

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

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

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

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

Основные элементы программирования

Знакомство с основными элементами программирования VisualBasicначинается с понятия переменной. Кто уже знаком с этим понятием из системы программированияQBasic, легко обнаружит отличия, которые переменные имеют вVisualBasic.

1. Переменные, оператор присваивания

В языках программирования одним из важнейших понятий является понятие переменной .

Определение переменной

Вспомним элементарную алгебру и решим простую задачу.

Задача . Вычислить функцию

при значениях коэффициентов и аргумента:

а = 3; b= - 4;c= 5; х = 2.

Без всякого программирования мы подставим значения а. b,c,xв формулу

Y= 3٠2 2 – 4٠2 + 5,

произведем соответствующие арифметические действия и получим в результате Y= 9.

При программировании этой задачи фрагмент программы будет выглядеть так:

Y = a*x^2 + b*x + c

Print “Y = “; Y

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

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

Y = k1*x^2 + k2*x + k3

Print “Y = “; Y

Результат вычисления Yне изменится.

Оба варианта программы практически повторяют постановку задачи. Однако это только по внешнему виду. Так, знаки равенства в программе – это не знаки «равно», а операторы присваивания . С помощью них коэффициентам присваиваются численные значения, записанные справа от знака присваивания. Умножение, возведение в степень закодированы с помощью специальных символов* и^ .

Оператор Print выводит информацию на формы (или в графические поля). Все, что после оператораPrintзаписанов двойных кавычках, это текст .Он выводится без изменений , что записано, то и выводится.Если далее пишется переменная, то выводится ее значение . Поэтому на форме появится:Y= 9. В оператореPrintпосле текста стоит символ «точка с запятой» (;). Это разделитель. В этом случае значение переменной выводится сразу за текстом. Если же после текста поставить разделитель – запятую, то вывод значения переменной произойдет через 14 символов, считая от края формы.

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

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

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

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

Само название «переменная» предполагает ее изменчивость.

Важнейшее положение языков программирования:

После присвоения переменной некоторого значения вместо этого значения можно использовать переменную. Это равносильно использованию самих значений.

Именно в этом состоит основный смысл введения переменных в языках программирования.

В приведенном примере в первом варианте программы переменными являются: а, b,c, х,Y. Во втором варианте программы название некоторых переменных изменены и имеют имена:k1,k2,k3,x,Y. Только от программиста зависит, какие имена будут у переменных.

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

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

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

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

Переменные.

  • В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют такую же важную роль, как и в процедурных языках программирования. Переменные предназначены для хранения и обработки данных.

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


Определение переменной.

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


Тип переменной.

    Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов(Byte , Integer , Long , Single , Double ) являются числа, логических (Boolean ) – True /False , строковых(String )-последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.


Хранение различных типов данных в памяти компьютера.

  • Целые числа в интервале от 0 до 255 (Byte) - 1 байт

  • Вещественное число с двойной точностью(Double ) – 8 байт

  • Символьные строки(String ) – 1 байт на каждый символ.


Типы переменных.


Имя переменной.

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

  • Числовую переменную можно назвать например, А или Число, а строковую А или Строка. Однако разработчик языка Visual Basic – фирма Microsoft – рекомендует для большей понятности текстов программ для программиста в имена переменных включать особую приставку , которая обозначает тип переменных. Тогда имена переменных целесообразно записывать как intA, или intЧисло, а строковых – strA и strCтрока.


Объявление типа переменной.

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

  • Второе даже еще более важно, так как, если компьютер не будет знать, переменная какого типа используется в программе, он будет считать ее переменной универсального типа Variant и отведет для ее хранения в памяти 16 или более байтов. Это будет приводить к неэффективному использованию и замедлению работы программы.


Объявление типа переменной.

  • Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий:

  • Dim ИмяПеременной [ As ТипПеременной ]

  • C помощью одного оператора можно объявить сразу несколько переменных:

  • Dim intЧисло As Integer, strСтрока As String

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

  • Const ИмяКонстанты [ As Тип ]= ЗначениеКонстанты


Арифметические, строковые и логические выражения. Присваивание.


Арифметические выражения.

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

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


Строковые выражения.

  • В состав строковых выражений могут входить переменные строкового типа, строки и строковые функции .

  • Строками являются любые последовательности символов, заключенные в кавычки. Например,

  • «информатика», «2000», «2*2»

  • Над переменными и строками может производится операция конкатенации. Операция конкатенации заключается в объединении строки и значения строковых переменных в единую строку. Операция конкатенации обозначается знаком «+», который не следует путать со знаком сложения чисел в арифметических выражениях.


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

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

  • Логическое выражение может принимать лишь два значения: «истина», «ложь», например,

  • 5>3 – истинно

  • 2*2=5 - ложно

  • Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: логическое умножение – And, логическое сложение – Or, логическое отрицание –Not. При записи сложных логических выражений часто используются скобки. Например,

  • (5>3) And (2*2=5) – ложно

  • (5>3) Or (2*2=5) - истинно


Присваивание переменным значений

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

  • ИмяПеременной = Выражение

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