![]() |
Программа – это
• алгоритм, записанный на каком-либо языке программирования
• набор команд для компьютера
Команда – это описание действий, которые должен выполнить компьютер.
• откуда взять исходные данные?
• что нужно с ними сделать?
Оператор – это команда языка программирования высокого уровня.
1970 – язык Паскаль (Н. Вирт)
![]() |
program qq;
название программы
комментарии в фигурных скобках не обрабатываются
![]() |
![]() |
program qq; begin
{ без
перехода }
write('2+');
writeln('2=?'); { на новую строку} writeln('Ответ: 4');
end.
Протокол:
2=?
2+
Ответ: 4
![]() |
«4»: Вывести на экран текст "лесенкой"
Вася
пошел
гулять
«5»: Вывести на экран рисунок из букв
Ж ЖЖЖ ЖЖЖЖЖ
ЖЖЖЖЖЖЖ HH HH ZZZZZ
![]() |
Задача. Ввести с клавиатуры два числа и найти их сумму.
Протокол:
Введите два целых числа
25 30
25+30=55
пользователь
![]() |
program qq; begin
{ ввести два числа }
{ вычислить их сумму }
{ вывести сумму на экран } end.
Псевдокод: алгоритм на русском языке с элементами Паскаля.
![]() |
![]() |
Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.
Значение
Другой тип данных
? Поместится?
Имя
! В переменной хранятся данные определенного типа!
![]() |
В именах МОЖНО использовать
•
латинские буквы (A-Z)
•
цифры
• знак подчеркивания _
В именах НЕЛЬЗЯ использовать
• русские буквы
• пробелы
• скобки, знаки +, =, !, ? и др.
Какие имена правильные??
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B
![]() |
Типы переменных:
• integer { целая }
• real { вещественная }
•
и другие…
Объявление переменных:
![]() |
![]() |
![]() |
|||
![]() |
|||
Оператор – это команда языка программирова- ния (инструкция).
Оператор присваивания – это команда для записи нового значения в переменную.
![]() |
![]() |
Как ввести значение с клавиатуры
![]() |
![]() |
read ( a, b );
Ввод значений двух переменных (через пробел или Enter).
через пробел:
через Enter:
a
30 25
25 30 b
25
25 a
30
30 b
![]() |
{ вывод значения переменной a}
writeln( a );
{ вывод значения переменной a и переход на новую строчку}
writeln( 'Привет!' );
{ вывод текста
}
writeln( 'Ответ: ', c );
{вывод текста и значения переменной c}
![]() |
![]() |
Задача. Ввести два целых числа и вывести на экран их сумму.
Простейшее решение:
read |
( a, |
b |
); |
|
c := |
a + |
b; |
|
|
writeln |
( |
c |
); |
|
![]() |
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
пользователь
![]() |
Пример:
program qq;
var a, b: integer; begin
a := 5;
b := a + 2;
a
? 5
5
? 7
b
5+2
a := (a + 2)*(b – 3); b := b + 1;
end.
a
5 28
7*4
7 8
b
7+1
![]() |
+ сложение – вычитание
* умножение / деление
div деление нацело (остаток отбрасывается)
![]() |
![]() |
1) вычисление выражений в скобках
2) умножение, деление, div, mod слева направо
3) сложение и вычитание слева направо
1 2 4 3 6 5
z := (5*a+c)/(a*b)*(b-c);
5c2
x =
- d (a + b)
z = 5a + c
ab
(b - c)
(c + d )(d - 2a)
2 3 5 4 1 10 6
9 8 7
|
|
|
|
|
|
|
![]() |
![]() |
![]() |
||
Какие операторы неправильные?
![]() |
program qq;
var a, b: integer; x, y: real;
begin
a := 5;
10 := x;
y := 7,8;
b := 2.5;
x := 2*(a + a := b + x;
end.
имя переменной должно
быть слева от знака :=
целая и дробная часть отделяются точкой
y);
нельзя
записывать вещественное значение в целую
переменную
Вывод целых чисел
var a, b: integer; begin
b := 45;
end.
1545
15 45
символов на число
Вывод вещественных чисел
![]() |
begin
всего символов
1,234568∙101
end.
1.234568000E+01
1.235E+01 12.35
всего символов
в дробной части
![]() |
«4»: Ввести три числа, найти их сумму и произведение.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.
Пример:
Введите три числа: 4 5 7
4+5+7=16
4*5*7=140 (4+5+7)/3=5.33
![]() |
Задача. Ввести два целых числа и вывести на экран наибольшее из них.
Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).
![]() |
начало
ввод a,b
да
a > b?
нет
блок
«условие»
полная форма ветвления
вывод a вывод b
конец
![]() |
![]() |
program qq;
var a, b: integer; begin
writeln('Введите два целых числа');
read ( a, b );
if a > b then write(a)
else
write(b);
полная форма условного оператора
end.
![]() |
Особенности:
• перед else НЕ ставится точка с запятой
• вторая часть (else …) может отсутствовать (неполная форма)
• если после then или else требуется более одного оператора, то ставятся операторные скобки begin и end (составной оператор)
![]() |
max:= a;
начало ввод a,b
да
b > a?
нет
неполная форма ветвления
вывод max
конец
![]() |
program qq;
var a, b, max: integer; begin
writeln('Введите два целых числа');
if b >
a then max := b;
read ( a, b ); max := a;
неполная форма условного оператора
writeln ('Наибольшее число ', max); end.
![]() |
program qq;
var a, b, max: integer; begin
writeln('Введите два целых числа'); read ( a, b );
max := b;
???
if a > b
then
???
max := a;
writeln ('Наибольшее число ', max); end.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.