Данные, как вы знаете, хранятся в памяти компьютера, но для указания на конкретную информацию очень неудобно все время записывать физические адреса ячеек. Эта проблема в языках программирования высокого уровня, в частности в Паскале, решена введением понятия переменной. Переменная – это именованный участок памяти для хранения данных определенного типа. Значение переменной (информация в соответствующих ячейках памяти) в ходе выполнения программы может быть изменено. Константами же, как вы уже знаете, называются величины, значение которых в ходе выполнения программы изменено быть не может. Конкретные переменные и константы представляют собой объекты уникальные и отличаются друг от друга именем. В качестве данных в программах на языке Паскаль могут выступать числа, символы, целые строки символов. С различными видами информации выполняются совершенно разные действия. Например, с числовыми величинами производятся арифметические операции, чего невозможно сделать с символьными. Кроме того, разные виды данных требуют различного объема памяти для хранения. В соответствии с этими соображениями в языке Паскаль введено понятие "Тип". Тип переменной указывает на то, какие данные могут быть сохранены в этом участке памяти, и в каких действиях эта переменная может участвовать. Существуют зарезервированные (базовые) типы в языке Паскаль, но, есть также возможность создавать свои собственные, определяемые программистом типы переменных. К базовым типам относятся:

тип целых чисел - Integer

тип "длинных" целых чисел - Longint

тип действительных (вещественных) чисел (то есть - с дробной частью) - Real

тип неотрицательных целых чисел от 0 до 255 - Byte

тип неотрицательных целых чисел от 0 до 65535 - Word

символьный тип - Char

строковый тип - String

логический тип - Boolean

Физически типы данных отличаются друг от друга количеством ячеек памяти (байтов), отводимых для хранения соответствующей переменной. Логическое же отличие проявляется в интерпретации хранящейся информации. Например, переменные типа Char и типа Byte занимают в памяти по одному байту. Однако в первом случае содержимое ячейки памяти интерпретируется как целое беззнаковое число, а во втором - как код (ASC) символа. В отличие от констант, неименованных переменных не существует.

Все используемые в программе переменные должны быть описаны в соответствующем разделе описания. Раздел описания переменных начинается служебным словом Var , после которого следуют записи следующего вида: <Список имен переменных>:<Название типа>; Список может состоять из нескольких имен (при этом они разделяются запятыми), а также и из одного имени. Тип, указываемый после двоеточия, определяет, какие данные теперь могут храниться в описанных таким образом переменных. Для каждого используемого в программе типа переменных в разделе их описания должна быть, как минимум, одна собственная строка.

A,B,H_22,Angle: Real;

Переменные…

Любая программа, в ходе выполнения действий оперирует различными данными. Эти данные могут быть заданы, как самим программистом (при написании кода) либо считаны с внешнего источника (датчика или внешней памяти). Для того, чтобы полученные данные записались и в дальнейшем использовались необходимо как-то их обозначить и где-то их хранить. Ведь значений может быть много, а какое именно из них нужно использовать программист задает собственноручно. Для этого и используют такого дикого зверя, как «переменную». Когда мы даём имя переменной, мы одновременно задаём название области памяти, в которой будут хранится данные, которые задаются нашей переменной.

Совет из личного опыта – давайте переменным осмысленные имена. Оно может состоять от 1 до 32 символов. Не называйте переменные – А, b или xffgdf. Через день вы уже не будете помнить, что за данные в ней хранятся. При задании имя переменной можно использовать строчные и прописные буквы, цифры и символ подчёркивания, который в Сишке считается буквой. Первым символом обязательно должна быть буква. Имя переменной не должно совпадать со служебными командами.

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

Глобальная переменная может использоваться в любом месте программы, а локальная – только в функции, где она объявлена.

Два стандартных типа данных char (символьный тип) и int (целочисленный тип).

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

Тип данных char :

  • знаковый — signed char , может хранить значения в диапазоне от -128 до +127.
  • беззнаковый —unsigned char , может хранить значения в диапазоне от 0 до 255.

Под переменную типа char отводится 1 байт памяти (8 бит).

Целочисленный тип int может быть short (коротким) или long (длинным).

Short или long ставится после signed или unsigned :

  • signed short int (при объявлении можно просто написать int или short ), от -32768 до +32767.
  • unsigned short int (аналогично unsigned int или unsigned short ), от 0 до 65535.
  • signed long int, от -2147483648 до 2147483647;
  • unsigned long int, от 0 до 4294967295.

Под каждую переменную данного типа short отводится ровно по два байта памяти (16 бит). Под каждую переменную типа long отводится 4 байта памяти (32 бита).

Переменные типа long long int , отводится 8 байт памяти (64 бита). Они могут быть знаковыми и беззнаковыми. Для знакового типа диапазон от -9223372036854775808 до 9223372036854775807, для беззнакового — от 0 до 18446744073709551615. Знаковый тип может быть объявлен, как long long .

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

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

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

Инициализация значения переменной

Переменную после объявлении можно проинициализировать (присвоить начальное значение).

То есть в переменную x при объявлении будет записано число 100.

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

Константы

Переменная любого типа может быть объявлена, как неизменяемая. Сделать это можно путем добавления const перед заданием типа переменной. Такая переменная хранит данные, которые используются «только для чтения», записать в неё новые данные невозможно.

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

Чтобы присвоить переменной какое-либо значение в Си используют «=».

Например А = 5;

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

Арифметические операции

После всех вычислений переменной Z будет присвоено значение 49.

Дополнительные способы присваивания

Кроме оператора присваивания «=», в Си существует еще несколько «комбинированных» операторов присваивания.

Инкремент и декремент

Если нам нужно изменить значение переменной на 1, то используем инкремент или декремент .

Инкремент — увеличения значения переменной. Декремент — уменьшения значения переменной.

Спасибо за внимание) Продолжение следует…

Понятие «Переменная», «Поле» и «Константа»

Понятие «Переменная»

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

<тип данных> <имя идентификатора>

Например:

Объявить можно переменную любого действительного типа . Важно подчеркнуть, что возможности переменной определяются её типом. Например, переменную типа bool нельзя использовать для хранения числовых значений с плавающей точкой. Кроме того, тип переменной нельзя изменять в течение срока её существования. В частности, переменную типа int нельзя преобразовать в переменную типа char .

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

Инициализация переменной

Задать значение переменной можно, в частности, с помощью оператора присваивания . Кроме того, задать начальное значение переменной можно при её объявлении. Для этого после имени переменной указывается знак равенства «=» и присваиваемое значение. Если две или более переменные одного и того же типа объявляются списком, разделяемым запятыми, то этим переменным можно задать, например, начальное значение. Ниже приведена общая форма инициализации переменной:

int i = 10; // Задаём целочисленной переменной i значение 10

char symbol = "Z"; // Инициализируем переменную symbol буквенным значением Z

float f = 15.7F; // Переменная f инициализируется числовым значением 15.7

int x = 5, y = 10, z = 12; // Инициализируем несколько переменных одного типа

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

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

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

Например, в С# поступить следующим образом нельзя:

public static int Main()

Console.WriteLine(d); // Так нельзя!

// Необходимо инициализировать d перед использованием

Динамическая инициализация

В приведённых выше примерах в качестве инициализаторов переменных использовались только константы, но в С# допускается также динамическая инициализация переменных с помощью любого выражения, действительного на момент объявления переменной:

int i1 = 3, i2 = 4;

// Инициализируем динамически переменную result

double result = Math.Sqrt(i1*i1 + i2*i2);

В данном примере объявляются три локальные переменные i1 , i2 , result , первые две из которых инициализируются константами, а переменная result инициализируется динамически с использованием метода Math.Sqrt , возвращающего квадратный корень выражения. Следует особо подчеркнуть, что в выражении для инициализации можно использовать любой элемент, действительный на момент самой инициализации переменной, в том числе вызовы методов, другие переменные или литералы .

Неявно типизированные переменные

Как пояснялось выше, все переменные в С# должны быть объявлены. Как правило, при объявлении переменной сначала указывается тип, например int или bool , а затем имя переменной. Но начиная с версии С# 3.0, компилятору предоставляется возможность самому определить тип локальной переменной, исходя из значения, которым она инициализируется. Такая переменная называется неявно типизированной .

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

var i = 12; // Переменная i инициализируется целочисленным литералом

var d = 12.3; // Переменная d инициализируется литералом с плавающей точкой,

// имеющему тип double

var f = 0.34F; // Переменная f теперь имеет тип float

Единственное отличие неявно типизированной переменной от обычной, явно типизированной переменной, - в способе определения её типа. Как только этот тип будет определён, он закрепляется за переменной до конца ее существования.

Неявно типизированные переменные внедрены в С# не для того, чтобы заменить собой обычные объявления переменных. Напротив, неявно типизированные переменные предназначены для особых случаев, и самый примечательный из них имеет отношение к языку интегрированных запросов (LINQ ). Таким образом, большинство объявлений переменных должно и впредь оставаться явно типизированными, поскольку они облегчают чтение и понимание исходного текста программы.

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

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace LC_Console

static void Main(string args)

var name = "John A.";

var isProgrammer = true;

// Определяем тип переменных

Type nameType = name.GetType();

Type ageType = age.GetType();

Type isProgrammerType = isProgrammer.GetType();

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

Console.WriteLine("Тип name: {0}", nameType);

Console.WriteLine("Тип age: {0}", ageType);

Console.WriteLine("Тип isProgrammer: {0}", isProgrammerType);

Console.WriteLine("Для продолжения нажмите любую клавишу. . . ");

Console.ReadKey();

/* Выведет:

* Тип name: System.String

* Тип age: System.Int32

* Тип isProgrammer: System.Boolean

* Для продолжения нажмите любую клавишу. . .

Понятие «Поле»

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

Класс или структура могут иметь поля экземпляра или статические поля , либо поля обоих типов. Поля экземпляра определяются экземпляром типа. Если имеется класс T и поле экземпляра F , можно создать два объекта типа T и изменить значение поля F в каждом объекте, не изменяя значение в другом объекте. В противоположность этому, статическое поле относится к самому классу, и является общим для всех экземпляров этого класса. Изменения, выполненные из экземпляра А , будут немедленно видны экземплярам В и С , если они обращаются к полю.

Как правило, используются поля только для переменных, имеющих модификаторы доступа : private или protected . Данные, которые класс представляют клиентскому коду, должны обеспечиваться методами , свойствами и индексаторами . Используя эти конструкции для косвенного доступа к внутренним полям, можно защититься от недопустимых входных значений. Закрытое поле, которое хранит данные, представленные открытым свойством, называется резервным хранилищем или резервным полем .

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

Поля объявляются в блоке класса путём указания уровня доступа поля, за которым следует тип поля и имя поля . Пример:

public class CalendarEntry

// private поле

private DateTime date;

public string day;

// public свойство, безопасно предоставляет переменную даты

public DateTime Date

if (value.Year > 1900 && value.Year <= DateTime.Today.Year)

// public метод, также безопасно предоставляет переменную даты

// Вызов: birthday.SetDate("2012, 12, 21");

public void SetDate(string dateString)

// Устанавливаем некоторые разумные границы вероятной даты рождения

if (dt.Year > 1900 && dt.Year <= DateTime.Today.Year)

throw new ArgumentOutOfRangeException();

public TimeSpan GetTimeSpan(string dateString)

DateTime dt = Convert.ToDateTime(dateString);

if (dt != null && dt.Ticks < date.Ticks)

return date - dt;

throw new ArgumentOutOfRangeException();

Для доступа к члену объекта нужно добавить точку после имени объекта и указать имя поля: objectname.fieldname . Пример:

CalendarEntry birthday = new CalendarEntry();

birthday.day = "Пятница";

Полю можно назначить первоначальное значение, используя оператор присвоения при объявлении поля. Например, чтобы автоматически присвоить полю day значение «Понедельник», можно объявить поле day как указано в следующем примере:

public class CalendarDateWithInitialization

public string day = "Понедельник";

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

Поля могут быть отмечены модификаторами public , private , protected , internal или protected internal . Эти модификаторы доступа определяют порядок доступа к полю для пользователей класса.

static . При этом поле становится доступным для вызова в любое время, даже экземпляр класса отсутствует.

Также при необходимости поле может быть объявлено с модификатором readonly . Полю с этим модификатором (то есть полю, доступному только для чтения) значения могут быть присвоены только при инициализации или в конструкторе. Поле с модификаторами staticreadonly (статическое, доступное только для чтения) очень похоже на константу , за исключением того, что компилятор C# не имеет доступа к значению такого поля при компиляции: доступ возможен только во время выполнения.

Понятие «Константа»

Константы представляют собой неизменные значения, известные во время компиляции и неизменяемые на протяжении времени существования программы. Константы объявляются с модификатором const . Только встроенные типы C# (за исключением System.Object ) могут быть объявлены как const . Определяемые пользователем типы, включая классы, структуры и массивы, не могут быть const . Для создания класса, структуры или массива, которые инициализируются один раз во время выполнения (например, в конструкторе) и после этого не могут быть изменены, используется модификатор readonly .

Язык C# не поддерживает методы, свойства и события с ключевым словом const .

Тип перечисления позволяет определять именованные константы для целочисленных встроенных типов (например, int , uint , long и т. д.).

Константы нужно инициализировать сразу после объявления. Пример:

public const int months = 12;

В этом примере константа months всегда имеет значение 12, и её значение не может быть изменено даже самим классом. Когда компилятор встречает идентификатор константы в исходном коде C# (например, months ), он подставляет литеральное значение непосредственно в его создающий код IL (Intermediate Language ). Поскольку адрес переменной, связанный с константой во время выполнения, отсутствует, поля const не могут быть переданы по ссылке и отображены как значение в выражении.

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

Несколько констант одного типа можно объявить одновременно, например:

const int months = 12, weeks = 52, days = 365;

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

const int months = 12;

const int weeks = 52;

const int days = 365;

const double daysPerWeek = (double)days / (double)weeks;

const double daysPerMonth = (double)days / (double)months;

Константы могут быть отмечены модификаторами public , private , protected , internal или protected internal . Эти модификаторы доступа определяют порядок доступа к константе для пользователей класса.

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

int birthstones = Calendar.months;

Для уточнения соотношения всех факторов, входящих в эксперимент, введено понятие «переменная». Выделяют три вида переменных: независимые, зависимые и дополнительные.

Независимые переменные. Фактор, изменяемый самим экспериментатором, называется независимой переменной (НП).

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

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

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

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

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

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

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

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

В зависимости от способа, с помощью которого можно зарегистрировать изменения, выделяют ЗП:

S наблюдаемые непосредственно;

S требующие физической аппаратуры для измерения;

S требующие психологического измерения.

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

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

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

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

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

Цели урока:

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

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

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

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

ХОД УРОКА

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

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

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

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

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

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

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

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

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

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

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

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

Например:

Задание 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:

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

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

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