7 что делает оператор присваивания в этой программе

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

Оператор присваивания заменяет текущее значение переменной значением выражения.

i := i + 1; // увеличивает значение переменной i на 1

В PascalABC.NET определены также операторы присваивания со значками += , -= , *= , /= . Для числовых типов действие данных операторов описано здесь. Кроме того, использование операторов += и *= для строк описано здесь и операторов += , -= и *= для множеств — здесь. Их действие для процедурных переменных описано здесь.

Операторы += , -= , *= , /= имеют следующий смысл: a #= b означает a := a # b , где # — знак операции + , — , * , / .

a += 3; // увеличить a на 3
b *= 2; // увеличить b в 2 раза

Опертор /= неприменим, если выражение слева — целое.

Оператор присваивания и типы переменных в 1С

Операторы += , -= , *= , /= могут также использоваться со свойствами классов соответствующих типов в левой части.

Источник: pascalabc.net

1.7.3. Оператор присваивания

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

D : = SQR(B) — 4 * A * C;

В языке Паскаль обязательно указываются все знаки операций (* — знак умножения).

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

/ — знак операции деления

В операторах присвоения часто в левой и правой частях стоят одни и те же идентификаторы, например: X := X + 1. Этот оператор имеет следующий смысл: необходимо взять текущее значение Х, изменить его в соответствии с действиями, указанными в правой части, и полученное значение взять в качестве нового текущего значения Х.

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

И последующего ввода значений, 5, 3, 2 можно было бы записать три оператора присваивания:

Однако такая форма задания исходных данных для программы вряд ли может быть признана удовлетворительной. Программа оказывается “привязанной” к данным. В этом случае для выполнения программы с новыми исходными данными необходимо сначала исправить три оператора присваивания и перекомпилировать программу. В случае использования процедуры чтения подобной привязки программы к данным нет. Тогда при выполнении вычислений для новых исходных данных необходимо изменить лишь сами исходные данные.

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

Кроме перечисленных операторов существуют еще условные операторы, имеющие вид:

Информатика 8 класс: Оператор присваивания и выражения в Паскале

IF условие THEN оператор1 ELSE оператор2

Каждый условный оператор осуществляет выбор одной из альтернатив. Этот выбор определяется значением условия, которое стоит после разделителя IF. Условие может принимать два значения: истина или ложь. Если значение условия истина, то выполняется оператор1, а вслед за ним оператор, стоящий за всем условным оператором.

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

Читайте также:
Что такое ai программа

IF условие THEN оператор.

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

Пример. Если Х = 1, сделать Х = 2; если Х = 2, сделать Х = 1.

IF X = 1 THEN X := 2;

IF X = 2 THEN X := 1;

Это неверно при Х=1. Правильное решение:

IF X = 1 THEN X := 2 ELSE

IF X :=2 THEN X :=1;

Процедура вывода WRITELN выдает на печать сообщения. Оно заключается в круглые скобки, а его текст — в апострофы.

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

Поэтому, если после любого из разделителей THEN или ELSE по сути решения задачи требуется записать более одного оператора, то необходимо использовать составной оператор. Он начинается со слова BEGIN и заканчивается словом END. Между ними может располагаться любая последовательность операторов.

Для ввода и вывода данных предусмотрены процедуры:

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

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

READLN(A, B, C, D); эквивалентно

READ(A); READ(B); READ(C); READ(D); READLN;

Для вывода данных используются процедуры WRITE и WRITELN. Различие между ними такое же, как между READ и READLN. WRITELN начинает сообщение с новой строки, а WRITE помещает в выходную запись сообщения друг за другом.

Пример. X = 5, Y = 7. Вывести эти значения.

WRITЕLN(X,Y); Получим: 57 (два значения без пробела между ними).

WRITELN(‘X=‘,X, ‘Y=‘,Y); Получим:X=5Y=7 (тоже без пробела).

Для того чтобы сделать результаты работы программы более наглядными, в качестве параметров процедур WRITE и WRITELN используются строки, заключенные в апострофы. Последовательность символов, заключенная вапострофы, просто копируется на экран.

Существует еще одна возможность управлять выводом: после переменной через двоеточие указана ширина поля, которое отводится для представления числа.

WRITELN(‘X=‘, X:4,’ Y=‘, Y:4); X= 5 Y= 7

Под представление Х и Y в этом случае отводиться по четыре позиции. Если одно из значений не помещается в указанное поле, то ошибки не возникает. Число все равно будет напечатано, причем под его представление будет отведено столько позиций, сколько необходимо, чтобы представить его полностью. Часто ширина поля не указывается. Тогда по умолчанию отводится некоторое число позиций, в которых и размещается выводимое число.

Пример. Максимальное из трех чисел уменьшить на 0.3

IF Y > MAX THEN MAX:=Y

ELSE IF Z>MAX THEN MAX:=Z;

Задача. Вычислить Y=X*X+1, если X

Задание.Найти ошибки, если они есть:

в) IF K<>M THEN K:=M;

г) IF 5 then S:=S+5;

Пример. Какие значения будут иметь переменные А и В в результате выполнения фрагмента программы?

Задача.Какая задача решается?

Пример.Выполнить с помощью условного оператора: меньшее из двух чисел Х и Y заменить нулями, а в случае их равенства — заменить нулями оба.

IF X=Y THEN BEGIN X:=0;

Источник: studfile.net

§ 17. Оператор присваивания, ввод и вывод данных

Сначала вычисляется выражение, затем полученное значение присваивается переменной. В первом примере приведен арифметический оператор присваивания. Здесь х — переменная вещественного типа. Во втором примере — логический оператор присваивания. Здесь b — переменная типа Boolean.

Читайте также:
Компьютерные вирусные программы и способы защиты от них

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

Ввод и вывод данных

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

Рис. 3.11. Ввод и вывод

Операция ввода называется чтением и выполняется с помощью оператора Read. Вывод называется записью, и для его выполнения используется оператор Write.

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

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

Устройства ввода с клавиатуры и вывода на экран монитора являются однофайловыми устройствами. Считается, что с клавиатурой связан один системный файл с именем INPUT. Поэтому ввод с клавиатуры равнозначен чтению из файла INPUT. С монитором связан системный файл, который называется OUTPUT. Вывод на экран — это запись данных в файл OUTPUT .

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

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

При выполнении этого оператора происходит прерывание исполнения программы, после чего пользователь должен набрать на клавиатуре значения переменных а, Ь, с, d, отделяя их друг от друга пробелами. При этом вводимые значения высвечиваются на экране. В конце нажимается клавиша Enter. Значения следует вводить в строгом соответствии с синтаксисом Паскаля.

Набираем на клавиатуре:

Если в программе имеется несколько подряд идущих операторов Read, то данные для них можно вводить последовательно (на экране отражаются в одной строке) и лишь в конце ввода нужно нажать клавишу Enter.

Набираем на клавиатуре и видим на экране:

Другой вариант оператора ввода с клавиатуры имеет вид:

Здесь слово «ReadLn» означает read line — «читать строку». Нажатие клавиши Enter в процессе ввода вырабатывает признак «конец строки», и данные при выполнении следующего оператора ввода будут отражаться на экране с начала новой строки. Если в предыдущем примере заменить операторы Read на ReadLn:

то ввод значений будет происходить из двух строк, отраженных на экране:

Вывод на экран производится по оператору обращения к стандартной процедуре:

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

Например:

Если, например, А = 5 и В = 7, то на экране получим:

Читайте также:
Компьютер постоянно зависает программа

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

Второй вариант процедуры вывода на экран:

Write line — «писать строку». Его действие отличается от оператора Write тем, что после вывода последнего в списке значения происходит перевод курсора к началу следующей строки. Оператор WriteLn, записанный без параметров, вызывает перевод строки.

В списке вывода могут присутствовать указатели форматов вывода (форматы). Формат определяет представление выводимого значения на экране. Формат отделяется от соответствующего ему элемента двоеточием. Если указатель формата отсутствует, то машина выводит значение по определенному правилу, предусмотренному по умолчанию.

Линейная программа. Следование — простейшая алгоритмическая структура. Программа, реализующая следование, называется линейной программой. В линейной программе могут присутствовать только операторы присваивания, ввода, вывода и обращения к процедурам. Заметим, что операторы Read и Write являются обращениями к стандартным процедурам Паскаля.

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

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

Тестирование этой программы отразится на экране следующим образом.

Числа 13 и 28 вводятся пользователем с клавиатуры, всё остальное автоматически выводится по программе.

Пример 2. Дано натуральное трехзначное число. Требуется вычислить сумму его цифр. Например, если дано число 325, то в результате должно получиться: 3 + 2 + 5 = 10.

Сначала составим программу, а потом ее прокомментируем.

В этой программе использованы две операции целочисленной арифметики: div — целочисленное деление и mod — остаток от целочисленного деления (см. табл. 3.3). Остаток от деления на 10 (mod) выделяет младшую цифру числа, а целочисленное деление на 10 (div) отбрасывает младшую цифру.

Чтобы лучше понять работу программы, выполним ее трассировку. В курсе 9 класса вам уже приходилось строить трассировочные таблицы. Для программы SumCifr таблица будет выглядеть следующим образом:

Выполнение программы на компьютере приводит к такому же результату.

Заметим, что эту задачу можно решить с помощью всего одного оператора присваивания:

Система основных понятий

Вопросы и задания

  1. Назовите последовательность действий при выполнении оператора присваивания.
  2. Сформулируйте правило соответствия типов для оператора присваивания. Какое существует исключение из этого правила?
  3. Если у — вещественная переменная, а n — целая, то какие из следующих операторов присваивания правильные, а какие — нет?

  • Напишите линейную программу, в результате выполнения которой целочисленные переменные х и у обменяются значениями. При этом нельзя использовать дополнительные переменные. Найдя такой алгоритм, определите, в чем его недостаток по сравнению с методом обмена через третью переменную. Можно ли его применять для вещественных чисел?
  • Напишите оператор присваивания, в результате выполнения которого целочисленной переменной h присвоится значение цифры, стоящей в разряде сотен в записи положительного целого числа k (например, если k = 28 796, то h = 7).
  • Напишите линейную программу, в результате выполнения которой в целочисленной переменной S получится перевернутое целое четырехзначное число k. Например: если k = 1357, то S = 7531.
  • Напишите линейную программу перевода любого целого четырехзначного двоичного числа в десятичную систему счисления. Например, дано число в двоичной системе счисления: 11012. Перевод в десятичную систему выполняется так: 1•2 3 +1•2 2 + 0•2 1 + 1 = 13.
  • Источник: tepka.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru