792.50K
Категория: ПрограммированиеПрограммирование

Оператор вывода

1.

Оператор вывода
write( a );
{ вывод значения
переменной a}
writeln( a ); { вывод значения
переменной a и переход
на новую строчку}
writeln( 'Привет!' ); { вывод текста }
writeln( 'Ответ: ', c );
{вывод текста и значения переменной c}
writeln ( a, '+', b, '=', c );

2.

Переменные
Задача. Ввести с клавиатуры два числа и найти их сумму.
Протокол:
Введите два целых числа
25 30
пользователь
25+30=55
компьютер
компьютер считает сам!
? 1. Как ввести числа в память?
2. Где хранить введенные числа?
3. Как вычислить?
4. Как вывести результат?

3.

Блок-схема линейного алгоритма
начало
блок «начало»
ввод a, b
блок «ввод»
c := a + b;
блок «процесс»
вывод с
блок «вывод»
конец
блок «конец»

4.

Найти сумму двух чисел
program qq;
begin
var a, b, c: integer;
a:= 25;
b:= 30;
c := a + b;
writeln ( c );
end.

5.

Как ввести значение с клавиатуры
Оператор
ввода
5
read ( a );
! 1. Программа ждет, пока пользователь
введет значение и нажмет Enter.
2. Введенное значение записывается в
переменную a.

6.

Ввод значений двух переменных
read ( a, b );
Ввод значений двух
переменных (через
пробел или Enter).
через пробел:
25 a
30 b
25 30
через Enter:
25
30
25 a
30 b

7.

Сложение двух чисел
Задача. Ввести два целых числа и вывести на
экран их сумму.
Простейшее решение:
program qq;
var a, b, c: integer;
begin
read ( a, b );
c := a + b;
Что плохо?
?
writeln ( c );
end.
7

8.

8
Полное решение
program qq;
var a, b, c: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
c := a + b;
writeln ( a, '+', b, '=', c );
end.
Протокол:
компьютер
Введите два целых числа
25 30
пользователь
25+30=55

9.

Как изменить значение переменной?
Пример:
program qq;
a
5
?
5
var a, b: integer;
begin
b
a := 5;
5+2
?
7
b := a + 2;
a
a := (a + 2)*(b – 3);
7*4
28
5
b := b + 1;
end.
b
7
8
7+1

10.

Арифметические операции
+ сложение
– вычитание
* умножение
/ деление
div деление нацело (остаток отбрасывается)
mod остаток от деления
var a, b: integer;
begin
a := 7*3 - 4; { 17 }
a := a * 5;
{ 85 }
b := a div 10; { 8 }
a := a mod 10; { 5 }
end.

11.

Какие операторы неправильные?
program qq;
var a, b: integer;
x, y: real;
begin
имя переменной должно
быть слева от знака :=
a := 5;
целая и дробная часть
10 := x;
отделяются точкой
y := 7,8;
нельзя записывать
b := 2.5;
вещественное значение в
целую переменную
x := 2*(a + y);
a := b + x;
end.

12.

Порядок выполнения операций
1) вычисление выражений в скобках
2) умножение, деление, div, mod слева направо
3) сложение и вычитание слева направо
1 2 4 5 3 6
z := (5*a+c)/a*(b-c)/ b;
5c 2 d (a b)
x
(c d )( d 2a)
5a c
z
(b c )
ab
2 3 5 4 1 10
6 9 8 7
x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a));

13.

Домашняя работа:
1.
Напишите программу, которая запрашивает у
пользователя год его рождения и текущий год и выводит
возраст пользователя.
Пример работы программы:
В каком году вы родились? 2007
Какой сейчас год? 2023
Вам 16 лет.
2. С клавиатуры вводятся три целых числа a, b, c.
Вычислите значение переменной

14.

Арифметические операции в Pascal:
Арифметическая
операция
Pascal
Пример
Умножение
*
5*2
Деление
/
5/2
Деление нацело
div
5 div 2
Остаток от деления
mod
5 mod 2
Целая часть числа
int
Int(x)
Дробная часть числа
Frac
Frac(x)
Модуль числа
Abs
Abs(x)
ПИ
Pi
2
Sqr
Sqr(x)
√x
Sqrt
Sqrt(x)
Возведение в степень
Power
Power(5,3)
Синус
Sin
Sin(x)
Косинус
Cos
Cos(x)
X

15.

Запишите результат программы:
1.
program stepen;
var a, b: integer;
c:real;
begin
a:=10;
b:=2;
с:= power(a,b);
write (c)
end.
100
2. program D;
var a, b: integer;
c,d,f,g:real;
begin
a:=2;
b:=10;
C:= power(a,b);
write(c);
f:= 25.5;
d:=int(f);
g:=sqr(b);
writeln (d);
writeln (g);
end.
102425
100

16.

Ручная прокрутка программы
program qq;
var a, b: integer;
begin
a := 5;
b := a + 2;
a := (a + 2)*(b – 3);
b := a div 5;
a := a mod b;
a := a + 1;
b := (a + 14) mod 7;
end.
a
b
?
?
5
7
28
5
3
4
4

17.

Самостоятельная работа:
1.
Выполнить алгоритм для х:
a := х div 100
b := х mod 100 div 10
с := х mod 10
s := a + b + c
X = 125
X = 248
X = 789
English     Русский Правила