Оператор присваивания предназначен для. Операторы
Оператор – предписание о выполнении конкретных действий. В языке программирования Паскаль содержится 11 операторов.
Оператор присваивания в Паскале
Оператор присваивания, наиболее часто используемый оператор языка Турбо Паскаль.
Формат записи: X:=A;
где: X
– имя переменной;
A -
выражение;
:= -
знак присваивания.
Работа оператора: В процессе выполнения оператора вычисляется значение, в правой части выражения и присваивается имени переменной.
Тип переменной и тип выражения должны совпадать, кроме случая, когда выражение относится к целому типу, а переменная к вещественному. При этом происходит преобразование вычисленного значения выражения к вещественному типу.
Пример 9.1. Записать программу вычисления функций:
y= cosa+lnb; n=k+1; r=ord(#65).
Var
a, b, y: real;
k, n: integer;
r: char;
t, v, u: Boolean;
* * *
y:= cos(a)+ln(b);
n:=k+1;
r:=ord(#65);
t:=(v and u)or(v and not u);
* * *
End.
Оператор перехода в Паскале
В Турбо Паскале принят естественный порядок выполнения операторов, т.е. в порядке их следования в тексте программы. Оператор перехода прерывает естественный порядок выполнения операторов и передает управление оператору, отмеченному меткой указанной в операторе перехода.
Формат записи: GoTo m;
где: GoTo
– перейти к;
m -
метка.
Работа оператора:
Оператор перехода передает управление оператору, отмеченному меткой m
.
Применение оператора перехода в ТР является нежелательным, т. к. он нарушает структурную целостность программы. Такую программу сложно читать, отлаживать и модифицировать. На использование оператора перехода в ТР наложены ограничения, не позволяющие его бессистемное использование.
С помощью оператора перехода можно передавать управление внутри одного уровня или переходить из внутреннего уровня во внешний. Переходы из внешнего уровня во внутренний запрещены. Например, из программы в тело подпрограммы или внутрь оператора цикла или условного оператора.
Оператор присваивания - самый простой и наиболее распространённый оператор.
Формат оператора присваивания
Оператор присваивания представляет собой запись, содержащую символ = (знак равенства), слева от которого указано имя переменной, а справа - выражение. Оператор присваивания заканчивается знаком; (точка с запятой).
Переменная = Выражение; // Оператор присваивания
Оператор присваивания можно отличить в тексте программы по наличию знака равенства. В качестве выражения может быть указана константа, переменная, вызов функции или собственно выражение.
Правило исполнения оператора присваивания
Оператор присваивания, как и любой другой оператор, является исполняемым. Это значит, что запись, составляющая оператор присваивания, исполняется в соответствии с правилом. При исполнении оператора присваивания вычисляется значение в правой части, а затем это значение присваивается переменной слева от знака равенства. В результате исполнения оператора присваивания переменная в левой части всегда получает новое значение; это значение может отличаться или совпадать с предыдущим значением этой переменной. Вычисление выражения в правой части оператора присваивания осуществляется в соответствии с порядком вычисления выражений (см. Операции и выражения).
Примеры операторов присваивания
В операторе присваивания допускается объявление типа переменной слева от знака равенства:
int In = 3 ;double Do = 2.0 ;
bool Bo = true ;
color Co = 0 x008000 ; // Переменной Co присвоено значение константы
string St = " sss "; // Переменной St присвоено значение константы
datetime Da = D " 01.01.2004 "; // Переменной Da присвоено значение константы
Ранее объявленные переменные используются в операторе присваивания без указания типа.
In = 7 ; // Переменной In присвоено значение константыDo = 23.5 ; // Переменной Do присвоено значение константы
Bo = 0 ; // Переменной Bo присвоено значение константы
В операторе присваивания не допускается объявление типа переменной в правой части от знака равенства:
In = int In_2; // Объявление типа переменных в правой части запрещено
Do = double Do_2; // Объявление типа переменных в правой части запрещено
В операторе присваивания не допускается повторное объявление типа переменных.
Int In; // Объявление типа переменной In
int In = In_2; // Не допускается повторное объявление переменной (In)
Примеры использования в правой части пользовательских и стандартных функций:
In = My_Function () ; // In присвоено значение пользоват. функцииDo = Gipo (Do1 , Do1 ) ; // Do присвоено значение пользоват. функции
Bo = IsConnected () ; // Bo присвоено значение стандартн. функции
St = ObjectName (0 ) ; // St присвоено значение стандартн. функции
Da = TimeCurrent () ; // Da присвоено значение стандартн. функции
Примеры использования в правой части выражений:
In = (My_Function () + In2 ) / 2 ; // Переменной In присвоено// ..значение выражения
Do = MathAbs (Do1 + Gipo (Do2 , 5 ) + 2.5 ) ; // Переменной Do присвоено
// ..значение выражения
При вычислениях в операторе присваивания применяются правила приведения типов данных (см. Приведение типов).
Примеры операторов присваивания краткой формы
В MQL4 используется также краткая форма записи операторов присваивания. Это - форма операторов присваивания, в которой используются операции присвоения, отличные от операции присвоения = (знак равенства) (см. Операции и выражения). На операторы краткой формы распространяются те же правила и ограничения. Краткая форма операторов присваивания используется в коде для наглядности. Программист по своему усмотрению может использовать ту или иную форму оператора присваивания. Любой оператор присваивания краткой формы может быть легко переписан в полноформатный, при этом результат исполнения оператора не изменится.
In /= 33 ;In = In / 33 ;
St
+= "
_exp7
";
// Краткая форма записи оператора присваивания
St
=
St
+ "
_exp7
";
// Полная форма записи оператора присваивания
| Возникновение и назначение языка Паскаль
Уроки 29 - 31
Возникновение и назначение языка Паскаль
Структура программы на языке Паскаль
(§ 11. Знакомство с языком Паскаль)
Работа с готовыми программами на языке Паскаль: отладка, выполнение, тестирование
Программирование на Паскале линейных алгоритмов
Знакомство с языком Паскаль
Возникновение и назначение Паскаля
После того как построен алгоритм решения задачи, составляется программа на определенном языке программирования.
Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Влеза Паскаля - французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль - швейцарский профессор Никлаус Вирт.
Паскаль - это универсальный язык программирования, позволяющий решать самые разнообразные задачи обработки информации .
Команду алгоритма, записанную на языке программирования, принято называть оператором.
Программа на Паскале близка по своему виду к описанию алгоритма на АЯ. Сравните алгоритм решения уже знакомой вам задачи деления простых дробей с соответствующей программой на Паскале:
Структура программы на Паскале
Даже не заглядывая в учебник по Паскалю, в этой программе можно все понять (особенно помогает знание английского языка).
Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:
Program <имя программы>;
Раздел описания переменных начинается со слова Var (variables - переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два типа числовых величин: вещественный и целый . Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real . Например, раздел описания переменных может быть таким:
var a, b: integer; с, d: real;
Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.
Раздел операторов - основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:
<операторы>
end
.
Операторы ввода, вывода, присваивания
Ввод исходных данных с клавиатуры происходит по оператору read (read - читать) или readln (read line - читать строку):
read(<список переменных>)
или readln(<список переменных>)
При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком переменные указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша <ВВОД> (
Вывод результатов происходит по оператору write (write - писать) или writeln (write line - писать в строку):
write(<список вывода>)
или writeln(<список вывода>)
Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.
Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.
Арифметический оператор присваивания на Паскале имеет следующий формат:
<числовая переменная>:=<арифметическое выражение>
Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметических выражениях могут присутствовать функции.
Знаки основных арифметических операций записываются так:
Сложение, - вычитание, * умножение, / деление.
Правила записи арифметических выражений
Запись арифметических выражений на Паскале похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2А), в Паскале этот знак пишется обязательно: 2*А. Например, математическое выражение
А 2 + В 2 - 12С
на Паскале записывается так:
А*А + В*В - 12*С
Это же выражение можно записать иначе:
SQR(А) + SQR(В) - 12*C
Здесь использована функция возведения в квадрат - SQR . Аргументы функций всегда пишутся в круглых скобках.
Последовательность выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*) и деление (/). Операции сложения и вычитания - младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):
Круглые скобки в арифметических выражениях влияют на порядок выполнения операций. Как и в математике, в первую очередь выполняются операции в скобках. Если имеется несколько пар вложенных скобок, то сначала выполняются операции в самых внутренних скобках. Например:
Пунктуация Паскаля
Необходимо строгое соблюдение правописания (синтаксиса) программы. В частности, в Паскале однозначно определено назначение знаков пунктуации .
Точка с запятой (;) ставится в конце заголовка программы, в конце раздела описания переменных, является разделителем описания переменных в разделе переменных и разделителем операторов. Перед словом end точку с запятой можно не ставить.
Запятая (,) является разделителем элементов во всевозможных списках: списке переменных в разделе описания, списках вводимых и выводимых величин.
Текст программы заканчивается точкой .
Строгий синтаксис в языке программирования необходим потому, что компьютер является формальным исполнителем программы . Если, допустим, разделителем в списке переменных должна быть запятая, то любой другой знак будет восприниматься как ошибка. Если точка с запятой является разделителем операторов, то в качестве оператора компьютер воспринимает всю часть текста программы от одной точки с запятой до другой. Если программист забыл поставить «;» между какими-то двумя операторами, то компьютер будет принимать их за один с неизбежной ошибкой.
В программу на Паскале можно вставлять комментарии. Комментарий - это пояснение к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.
Заметим, что в Паскале нет различия между строчными и прописными буквами . Например, для Паскаля тождественны следующие варианты записи: begin, Begin, BEGIN, BeGiN . Использование строчных или прописных букв - дело вкуса программиста.
Оператором называется предложение языка программирования, задающее полное описание некоторого, необходимого для исполнения, действия.
Последовательность операторов представляет собой основную часть программы на языке Паскаль . Разделителем операторов в программе является символ «точка с запятой».
Оператор присваивания
Для записи в именованные ячейки памяти различных значений используется оператор присваивания
. В общем виде этот оператор имеет следующий вид:
переменная:= выражение
где оператор присваивания обозначается неразрывным знаком :=
(в Паскале не следует путать с операцией отношения =
).
Механизм выполнения оператора присваивания: вычисляется выражение в правой части от оператора и его результат заносится в ячейку памяти, определяемую именем переменной в левой части. Например:
- k:= k + 10; {* значение переменной k увеличивается на 10 *}
Рассмотрим работу оператора присваивания в данном примере пошагово:
- Из ячейки памяти с именем k выбирается текущее значение.
- К текущему значению прибавляется 10.
- Результат записывается в ту же самую ячейку памяти (предыдущее значение восстановить после новой записи невозможно!)
ВНИМАНИЕ: выражение должно быть совместимо по типу данных с переменной.
В PascalABC.NET определены также операторы присваивания со значками +=, -=, *=, /= . Действие этих операторов заключается в изменении значения переменной в правой части оператора с учетом обозначенной арифметической операции (перед знаком равенства) и значения в правой части. Например:
- k += 100; {* увеличивает значение k на 100 *}
- n -= 8; {* уменьшает значение n на 8 *}
- m *= 10; {* увеличивает значение m в 10 раз *}
- b /= 2; {* уменьшает значение b в 2 раза *}
Тип урока:
- обучающий. Учащиеся знакомятся с новым оператором языка Паскаль;
- повторение темы «Внутренняя память компьютера»;
- закрепляющий приобретенные знания.
Тема урока: «Программирование на языке Паскаль. Оператор присваивания».
Цели:
- Ввести понятие «Оператор присваивания».
- Различать операции, допустимые для целых и вещественных чисел.
- Правильно составлять и вычислять выражения с использованием оператора присваивания.
- Писать программы для простейших задач.
Длительность урока: 1 час 30 минут.
ХОД УРОКА
Первый урок |
1. Повторение темы предыдущего урока «Типы
данных». Примеры использования одинаковых по
звучанию слов, но имеющих разные смысловые
значения. Учитель и обучающиеся работают в форме «вопрос-ответ» (10 минут). |
2. Учитель объясняет новую тему, используя
мультимедийный урок-презентацию
«Программирование на языке Паскаль. Оператор
присваивания». Дается определение понятия
«оператор присваивания», приводится общая и
структурная форма оператора. Прежде, чем
рассмотреть работу оператора присваивания,
вспоминаем и повторяем тему «Оперативная память,
свойства Оперативной памяти». Сопровождается показом презентации. Приложение 1 (15 минут). |
3. Обучающиеся работают самостоятельно, читая и конспектируя новую тему (урок-презентация предварительно записан на компьютеры обучающихся, вопросы для конспектирования определены учителем). Здесь же ученики могут познакомиться с текстами программ, в которых используется оператор присваивания Приложение 2 (20 минут). |
Второй урок |
4. Обучающиеся работают у доски, выполняя упражнения (12-15 минут). |
1. Учитель проводит контроль знаний в форме теста. Программа-тест предварительно записывается на компьютеры обучающихся. Оценка выставляется программой. Приложение 5 (10 минут). |
5. Ученики выполняют небольшую самостоятельную работу по карточкам, либо пишут и отлаживают программу на АЯП Паскаль, в которой используется оператор(ы) присваивания (учитель называет номера карточек с заданиями). За работу учащиеся получают оценку. Приложение 3 . Приложение 4 (15 минут). |
Домашнее задание. Ученикам предлагается написать текст простой программы на АЯП Паскаль, в которой используется оператор(ы) присваивания (для тех учеников, которые не успели выполнить задание в классе). |
Выводы:
- Через блок 1 повторение темы предыдущего урока.
- Через блоки 2, 3 и 4 дается и закрепляется новая тема «Оператор присваивания».
- Через блоки 5 и 6 выполняется контроль знаний.
Программирование на языке Паскаль
Урок № 1 (2 часа). Переменные и константы. Оператор присваивания
- Проверка домашнего задания.
- Новая тема.
- Домашнее задание.
Проверка домашнего задания.
2. Новая тема: «Переменныые и константы. Опреатор присваивания»
Переменная –
это имя области
памяти (размер области зависит от типа данных), в
которой хранится значение, присвоенное
переменной. Переменную можно сравнить с ящиком, в
котором находится значение (лучшее сравнение с
многоквартирным домом, т. к. из ящика можно
извлечь что-то и это будет последним, т. е. ящик
остаётся пустым, а переменная, даже если ею
воспользовались, остаётся в области памяти.).
Константа –
фиксированные
одиночные числовые или текстовые значения,
которые не могут изменяться в ходе выполнеия
программы.
Оператор присваивания.
Один из
наиболее часто используемых операторов оператор
присваивания.
Общий вид оператора
присваивания:
имя переменной:= выражение ;
Выражение может быть и конкретным значением (т.е. число целое или вещественное, например, 22 или 2.5, символьная величина: "ABC", логическая величина: TRUE или FALSE), и некоторым выражением (величины + операции над ними), результат которого будет присвоен переменной в левой части.
ПРИМЕРЫ:
PAG:= 10;
(конкретное значение в виде
числа);
X:= X + 1;
(выражение);
C:= B;
(имя переменной);
G:= ‘ПРИВЕТ‘; (конкретное значение
символьное);
X:= (-A + SIN(Y) – 4 * B * X) / (2 * C);
(математическое
выражение);
Y:= TRUE;
(конкретая логическая величина).
Отличие операции присваивания в математике и программировании.
В математике выражениеа = в означает,
что вычисленные значения для а и в должны быть
равными.
В программировании А:= В понимается так, что
значение, хранимое в области памяти с именем
В, помещается в область памяти
с именем А. Поэтому обратное выражение
В:= А даёт другой результат.
Пример: в А и в В помещаются значения 5 и 9
соответственно.
А: = 5;
В: = 9
а) Результат операции А:= В;
б) Результат операции В:= А;
Далее ещё одно существенное различие между
знаком равенства и оператором присваивания: А
= А + 1;
В математике такое выражение просто
бессмысленно, поскольку тождество ложно. Не
существует таких числовых значений А, для
которых оно было бы справедливо. В
программировании это означает, что к значению,
хранимому в ячейке А, прибавляется 1, и вновь
получаемое значение заменяет старое в ячейке А.
Например, если до выполнения этого оператора А
имело значение 5, то после выполнения будет равно
6.
Следующее отличие: математическое выражение А + 9 – В = Х вполне обосновано и может означать, что при подстановке некоторых чисел вместо А и В в левую часть выражения вы получите Ч. В то же время в программировании это выражение лишено смысла, поскольку левая часть выражения должна содержать имя области памяти, которой присваивается значение, вычисляемое в правой части. Если же вы попытаетесь вставить такое выражение в свою программу, то получите сообщение об ошибке, поскольку имя переменной А + 9 – В не поймёт .
записать в общепринятой форме:
(– b + sqrt(sqr(b) – 4 * a * c))/(2 * a);
a/b * (c + d) – (a – b)/b/c + 1E – 8;
Список литературы:
- В.Б. Попов «TURBO PASCAL для школьниковI», «Финансы и статистика», Москва, 1996 г.
- А.А. Черно в «Конспекты уроков информатики в 9 – 11 классах», «Учитель», Волгоград, 2004.
- Д.М. Златопольский «Я иду на урок информатики. Задачи по программированию, 7 – 11 классы», «Первое сентября», Москва, 2001.