Преподаватель: Шустова Т.А.
Язык был создан Никлаусом Виртом в 1968—1969 годах.
Это один из наиболее известных языков программирования, используется для обучения программированию
1. Латинские буквы
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
2. Цифры :
0 1 2 3 4 5 6 7 8 9
3. Знаки операций:
+ - * / = = ^
4 . Ограничители (разделители):
. , ( ) [ ] (. .) { } : ;
5. Подчеркивание _
Program ИМЯ;
Var раздел описание переменных;
Begin
Последовательность команд;
End .
Program Primer1 ;
Var a, b, s: integer ;
Begin
Readln (a , b);
S:=a+b ;
Writeln ( S) ;
- Readln (a , b); S:=a+b ; Writeln ( S) ;
End .
Даны 2 числа a и b . Найти сумму чисел ( s )
Идентификаторы.
- Именами ( идентификаторами ) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты.
- Идентификатором является последовательность букв, цифр и знаков подчеркивания, которая начинается с буквы или символа подчеркивания и не содержит пробелов.
- Имя может содержать произвольное количество символов, но значащими являются 63 символа.
- Не разрешается в языке ПАСКАЛЬ использовать в качестве имен служебные слова и стандартные имена , которыми названы стандартные константы, типы, процедуры, функции и файлы.
- Примеры имен языка ПАСКАЛЬ:
- A b12 r1m SIGMA gamma I80_86
В Паскале разница между строчными и прописными буквами игнорируется, поэтому имена NaMe и name одинаковы.
Типы данных
Integer - целое со знаком
Real – дробное со знаком
( - 32768 .. 32767)
( 2.9e -39 .. 1.7e +38 )
Longint - длинное целое
( -2147483648 .. 2147483647 )
Word - целое без знака
(0 .. 65535)
Byte - короткое целое без знака
(0..255)
Boolean – логический тип
( true (1), false (0) )
Раздел описания переменных - Var
Например,
Var a,b : integer;
s: real;
- Read (список переменных) – чтение значений, введенных с клавиатуры;
- Readln (список переменных) - ln в конце означает переход на новую строку;
- Write (список переменных) - вывод на экран;
- Writeln (список переменных) - ln в конце означает переход на новую строку;
- Writeln (‘ любой текст ’ )
Program primer;
Var a,b,s: integer;
Begin
writeln(‘ Введите 2 целых числа ’);
readln(a,b);
S:=a+b;
write(‘ Сумма = ’, s);
End.
+, -, *, /,
div (целочисленное деление) ,
mod (остаток от деления)
- +, -, *, /, div (целочисленное деление) , mod (остаток от деления)
- +, -, *, /, div (целочисленное деление) , mod (остаток от деления)
- +, -, *, /, div (целочисленное деление) , mod (остаток от деления)
- +, -, *, /, div (целочисленное деление) , mod (остаток от деления)
=, , , =
3 . Логические) операции :
not (логическое отрицание),
and (И, логическое умножение),
or ( ИЛИ, логическое умножение),
- not (логическое отрицание), and (И, логическое умножение), or ( ИЛИ, логическое умножение),
B) and (AC) (A0) or (B0) " width="640"
div – целочисленное деление
7 div 3 = 2
A:=10 div 3;
mod – остаток от деления
7 mod 3 = 1
A:=25 mod 10;
(AB) and (AC)
(A0) or (B0)
b) and (ac) x:=2; x:=a+b; x:= (ab) and (ac) x:=2; x:=a+b; x:= (ab) and (ac) " width="640"
Оператор присваивания :=
Пример:
x:=2;
x:=a+b;
x:= (ab) and (ac)
- x:=2; x:=a+b; x:= (ab) and (ac)
- x:=2; x:=a+b; x:= (ab) and (ac)
If условие then действие 1
else действие 2
то
если
иначе
!!! Ветвление может быть не полным, т.е. отсутствует ветка else (иначе)
0 then writeln (‘ число положительное ’) else writeln (‘ число отрицательное ’); If (ab) and (ac) then writeln (‘a – максимальное число ’); If (a=b) or (a=c) or (b=c) then writeln (‘ треугольник равнобедренный ’) else writeln (‘ не равнобедренный ’); " width="640"
If х 0 then writeln (‘ число положительное ’) else writeln (‘ число отрицательное ’);
If (ab) and (ac) then writeln (‘a – максимальное число ’);
If (a=b) or (a=c) or (b=c) then writeln (‘ треугольник равнобедренный ’) else writeln (‘ не равнобедренный ’);
=9 then writeln (‘ Молодец ’) else writeln(‘ Подтянись ’); End. " width="640"
Вводятся оценки по информатике и математике. Выведи на экран "Молодец" если их сумма равна или более 9 в противном случае выведи "Подтянись".
Program primer;
Var i, m, s : integer;
Begin
readln(i, m);
S:=i+m;
If s=9 then writeln (‘ Молодец ’)
else writeln(‘ Подтянись ’);
End.
Program Primer1;
Var a, b, c, k: integer ;
Begin
k:= 0 ;
Readln (a,b,c);
if athen k:=k+ 1 ;
if bthen k:=k+ 1 ;
if cthen k:=k+ 1 ;
Writeln (k);
End .
Подсчитать количество отрицательных чисел среди чисел a , b , c .
- Составить программу, которая запрашивает температуру тела человека и определяет, здоров он или болен (здоров при 36
- Определить, является ли треугольник со сторонами a , b , c равносторонним.
- Подсчитать количество отрицательных чисел среди чисел a , b , c .
- Составить программу нахождения корней квадратного уравнения, если известны коэффициенты a, b, c .
- Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется как удвоенный возраст девушки минус 14
- Даны 3 целых числа. Найти количество положительных чисел и количество отрицательных чисел в исходном наборе.
- Напишите программу, которая анализирует человека по возрасту и относит к одной из четырех групп: дошкольник, ученик, работник, пенсионер. Возраст человека вводится с клавиатуры.
- 1. Дано трёхзначное число. Найти его максимальную цифру.
- 2. Дано четырехзначное число. Найти произведение его чисел.
- 3. К финалу конкурса лучшего по профессии «Специалист электронного офиса» были допущены трое: Иванов, Петров, Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал M1 баллов, во втором – N1, в третьем – P1. Петров – соответственно M2, N2, P2. Сидоров – M3, N3, P3. Составьте программу, определяющую, сколько баллов набрал победитель.
Цикл – повторение некоторой группы действий.
- Цикл – повторение некоторой группы действий.
Цикл с условием – число повторений заранее не известно, оно зависит от условия.
- Цикл с условием – число повторений заранее не известно, оно зависит от условия.
Цикл с параметром – цикл с заданным числом повторений
- Цикл с параметром – цикл с заданным числом повторений
Цикл с предусловием
Цикл с постусловием
For имя переменной := НачЗначение to КонЗначение Do Команда 1
- For имя переменной := НачЗначение to КонЗначение Do Команда 1
Делай
Для
до
!!! В процессе выполнения цикла переменная меняет свое значение с шагом + 1 от начального значения к конечному значению.
For имя переменной := НачЗначение to КонЗначение Do
begin
Команда 1 ;
Команда 2 ;
Команда 3 ;
End;
- For имя переменной := НачЗначение to КонЗначение Do begin Команда 1 ; Команда 2 ; Команда 3 ; End;
While условие do команда
Пока
Делай
!!! Пока условие истинное, выполняется тело цикла.
Если условие изначально ложно, то операторы циклической части программы не выполняются ни разу.
While условие do команда
begin
Команда 1 ;
Команда 2 ;
Команда 3 ;
End;
- begin Команда 1 ; Команда 2 ; Команда 3 ; End;
Предписывает выполнять тело цикла до тех пор, пока условие не станет истинным.
Repeat команда (ы) Until условие
- Repeat команда (ы) Until условие
До
Повторять
!!! Если условие изначально истинно, то команды циклической части программы будут выполняться хотя бы один раз.
Вычислить сумму натуральных чисел S=1+2+3+4+5… n .
*** Решить задачу с использованием цикла с параметром и цикла с постусловием.
- Вычислить значения функции y = x 2 +5 x +10 при 1≤х≤7 с шагом h =1.
- Вычислить факториал числа N ( произведение чисел от 1 до n)
P=1*2*3*4*..n
3. Найти произведение чисел от n до m , не кратных 2.
- Известны n оценок по информатике. Вычислить средний балл.
- Даны N натуральных чисел. Вычислить произведение положительных чисел.
- Из чисел от 10 до 99 вывести те, сумма цифр которых равна S.
- Дано натуральное число n. Посчитать количество цифр в числе.
Массив - это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
А
25
12
45
10
-9
14
23
8
Количество элементов = 8
A - имя массива
A [ i ] – элемент массива
А [ 2 ] = 12
A [ 5 ]= -9
- С клавиатуры (ввод данных вручную)
For i:=1 to 10 do readln (a[i]);
2 . Случайным образом ( генератор случайных чисел):
For i:=1 to 10 do begin
A[i]:=random(100)+50;
Write(a[i]) : 4);
End;
Для того чтобы постоянно не запрашивать значения элементов массива используется генератор случайных чисел в Паскаль, который реализуется функцией random .
Диапазон случайных чисел от a до b задается формулой:
x:= random(b-a+1)+a
1. Например, диапазон чисел от 1 до 100
X:=random(100)+1;
2. Например, диапазон чисел от 1 до 10
X:=random(10)+1;
Сформировать массив с помощью генератора случайных чисел в диапазоне (1, 10). Вывести на экран последовательность из n элементов.
Program massiv;
Var i,n: integer ; a: array [ 1..10 0 ] of integer ;
begin
writeln ( ' введите количество элементов' );
readln (n);
for i:= 1 to n do begin
a[i]:=random( 10 )+ 1 ;
write (a[i]: 3 ); end ;
end .
Найти произведение элементов массива ,состоящего из n элементов. Элементы вводятся с клавиатуры.
Program massiv;
Var i,n, p: integer ; a: array [ 1..100 ] of integer ;
begin
p:= 1 ;
writeln ( ' введите количество элементов' );
readln (n);
for i:= 1 to n do begin
writeln ( ' введите элементы массива' );
readln (a[i]);
p:=p*a[i];
end ;
writeln ( ' произведение элементов' , p)
end .