Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гладков_Кулютникова.doc
Скачиваний:
8
Добавлен:
03.11.2018
Размер:
1.36 Mб
Скачать

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

Оператор присваивания имеет следующий синтаксис:

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

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

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

Пример1. Записать оператор присваивания переменной a квадрата ее значения, а переменной b - куба переменной a.

x := a;

a := a*a;

b := a*x;

Пример2. Записать оператор присваивания, который меняет знак переменной a на противоположный.

a := -a; или a := a*(-1);

Пример3. Поменять местами значения переменных a и b.

r := a; a:= b; b := r;

Упражнения.

1. Определите значения переменных x, y, z

x := 8 +6 mod 4 * 2; y := x div 5 * 5; z := x * 5 div 5;

2. Если x - вещественная переменная, а y - целая, то какие из следующих операторов присваивания правильные, а какие - нет. Ответ обоснуйте.

a). x := y +1; б). y := x +1; в). x := 5; г). y := 5.0;

д). x := x div 2; е). y := y/2; ж). x := trunc(y); з). y := sqr(sqrt(25))/

3. Правильны ли следующие операторы присваивания? Ответ обоснуйте.

а). k := k div 3 + k*cos(0); б). k := k*2 mod 5 + k/3;

4. Присвойте целой переменной S

а). сумму цифр трехзначного целого числа k;

б). первую цифру из дробной части положительного вещественного числа k;

в). третью от конца цифру в записи положительного целого числа k.

5. Напишите оператор присваивания, в результате выполнения которого логическая переменная f получает значение true, если выполняется указанное условие, и значение false иначе:

а) каждое из чисел a, b, c кратно 3;

б) хотя бы одно из чисел a, b, c кратно 3;

в) ни одно из чисел a, b, c не кратно 3;

г) только одно из чисел a, b, c кратно 3;

д) а принадлежит отрезку [-1; 1];

е) а не принадлежит отрезку [-1; 1] (воспользуйтесь законом де Моргана);

ж) поля (g1, b1) и (g2, b2) шахматной доски имеют одинаковый цвет (g1, b1, g2,b2 - целые координаты соответственно по горизонтали и вертикали от 1 до 8);

з) ферзь, расположенный на поле (g1, b1) шахматной доски, “бъет” поле (g2, b2);

и) конь, расположенный на поле (g1, b1) шахматной доски, “бъет” поле (g2, b2);

к) можно ли с поля (g1, b1) одним ходом ферзя попасть на поле (g2, b2). Если нет, то выяснить, как это можно сделать за два хода и указать поле, на которое приводит первый ход;

л) аналогичное задание, но ферзь заменяется на коня.

Общий вид программы на Паскале

program имя_программы;

const

{раздел описания констант}

type

{раздел описания типов}

var

{раздел описания переменных}

procedure (function)

{раздел описаний подпрограмм}

begin

{тело программы или раздел операторов}

end.

В { } или (* *) записываются комментарии. Раздел операторов является основным и присутствует в любой программе. Операторы отделяются друг от друга точкой с запятой. Разделы описаний (все или часть) могут отсутствовать. В Турбо-Паскале может отсутствовать заголовок программы. Разделы const, type, var могут следовать друг за другом в любом порядке и повторяться в разделе описаний несколько раз.

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

program task1;

var

hour, sec, min, x: integer; {часы, минуты, секунды, сутки}

begin

write (‘задайте количество суток’);

readln (x);

hour := 24*x;

min := 60*hour;

sec := 60*min;

writeln (‘в ’, x, ‘ сутках ’, hour, ‘ часов ’, min, ‘ минут ’, sec, ‘ секунд’)

end.

Упражнения.

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

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

3. Определите, какую задачу решают приведенные ниже программы:

program pr1;

var a, b, p, q: integer;

begin

write (‘введите a и b’); realln (a, b);

p := a div b; q := a - p*b;

writeln (‘a = ‘, p, ‘*’, b, ‘+’, q)

end.

program pr2;

var n1, n2: integer; x: real;

begin

write (‘n1 = ‘); readln (n1);

write (‘n2 = ‘); readln (n2);

x := n1/n2; writeln (‘n1/n2=‘, x);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]