Слайд 1*
Тема:
«Понятие переменной»
«Типы данных»
Если бы мы писали программы с детства, то с
годами, возможно, научились бы их читать.
Слайд 2*
Переменная
Под переменной в языках программирования понимают программный объект (число, слово,
часть слова, несколько слов, символы), имеющий имя и значение, которое может быть получено и изменено программой.
Если "заглянуть" в компьютер, то переменную можно определить так:
Переменная - это имя физического участка в памяти, в котором в каждый момент времени может быть только одно значение.
Переменная - это область в оперативной памяти компьютера для хранения какой-либо информации.
Само название "переменная" подразумевает, что содержимое этого участка может изменяться.
?
Слайд 3*
У каждой переменной есть имя, тип и текущее значение.
?
Слайд 4*
Имя переменной
В качестве имен переменных могут быть латинские буквы с цифрами.
Причем может быть не одна буква, а несколько.
В Паскале не имеет значение в обозначении переменных маленькими или большими (строчными или прописными) буквами они написаны.
Имя переменной должно удовлетворять следующим требованиям:
1) всегда начинаться с буквы, после которой могут другие буквы или цифры;
2) в идентификаторе (имени) не должно быть пробелов, запятых или других непредусмотренных знаков;
3) нельзя использовать в качестве имен переменных слова, которые являются служебными или операторами.
?
Слайд 5*
Типы переменных (данных)
Понятие типа данных является ключевым в языке Паскаль.
Тип
данных характеризует внутреннее представление, множество допустимых значений для этих данных, а также совокупность операций над ними.
Среди типов данных различают стандартные (предопределенные разработчиками языка) и пользовательские (определяемые программистом в своей программе).
Мы будем рассматривать следующие стандартные типы:
целые числа ( -∞ …-2, -1, 0, 1, 2, … +∞)
вещественные числа (действительные числа: все)
логический тип (ложь, истина)
символьный (символы, слова или текст)
строковый (символы, слова или текст). Пример: сравнение строк
Программист может описать свой тип на основе этих базовых в разделе описания типов.
?
Слайд 6*
В языке Паскаль определено
5 целых типов:
?
Слайд 7*
Для целых чисел определены операции:
Слайд 8*
В Паскале имеется 5 вещественных типов:
?
Слайд 9*
Для вещественных чисел определены операции:
Слайд 10*
Примеры описания переменных:
var
a: byte;
b: integer;
c, d, e: real;
f:double;
Слово var - это
сокращение от слова variable (переменная) и является зарезервированным словом.
В разделе описания переменных может содержаться несколько строчек, каждая из которых заканчивается точкой с запятой. Для описания переменных необходимо перечислить через запятую их имена, а затем после двоеточия «:» указать их тип.
Слайд 11*
Наглядно переменную можно представить как коробочку, в которую можно положить на
хранение что-либо. Имя переменной – это надпись на коробочке, значение – это то, что хранится в ней в данный момент, а тип переменной говорит о том, что допустимо класть в эту коробочку.
Слайд 12*
Структура программы
Рrogram имя_программы;
Uses Подключение модулей
Const
Раздел описания констант
Label Раздел описания меток
Type Раздел описания типов
Var Раздел описания переменных
begin
Тело программы (операторы, действия, которые должен выполнить компьютер)
end.
Слайд 13*
Вопросы:
Что такое переменная?
Какие имена можно давать переменным?
Что такое тип
переменной?
Что такое значение переменной?
Определить сколько времени будет падать с яблони яблоко. Высота ветки вводится с клавиатуры.
На дереве висит груша. Вычислите силу тяжести действующую на грушу. Масса груши вводится с клавиатуры.
Треугольник задан величинами своих сторон. Найти его площадь.
Д/З
1. Знать, что такое переменная, тип переменной, правила записи имен переменных.
2. Составить программу для вычисления площади треугольника по высоте и основанию.
?
☝
Слайд 14*
Задания
Напишите программу, которая запрашивает два числа, находит остаток от деления первого
на второе и выводит результат.
Даны два числа. Найти их среднее арифметическое.
Найти площадь кольца по заданным внешнему и внутреннему радиусам.
* Поменять местами значения переменных X и Y, не используя дополнительной переменной.
Слайд 15*
1. Program prim_3;
Var a,b,x:integer;
Begin
Write(‘введите два числа ’);
Readln(a,b);
X:=a mod b;
Writeln(‘остаток от деления-’,x);
Readln
End.
3.
Найти площадь кольца по заданным внешнему и внутреннему радиусам.
Program prim_4;
Var r1,r2,s:real;
Begin
Write(‘введите радиусы кольца ’);
Readln(r1,r2);
S:=abs(2*3.14*r1-2*3.14*r2); {разность площадей берем по модулю, так как не знаем
какое из колец является внутренним, а какое внешним}
Writeln(‘площадь кольца =’,s:0:2);
Readln
End.
Слайд 16*
Обмен значениями.
Начнем с разбора задания предыдущего урока. Первая мысль, приходящая в
голову, это написать программу, похожую на эту:
A := B;
B := A;
Но эта программа работать не будет (в обеих переменных будет значение B).
Теперь поищем правильное решение. Обозначим начальное значение A за A1, B за B1. Тогда необходимо, чтобы по окончании работы программы A равнялось B1, а B - A1.
0)A=A1; B=B1;
1) Занесем в переменную A результат суммирования A и B (A := A + B):
A = A1 + B1; B = B1;
2) Занесем в переменную B разность A и B (B := A – B):
т.к. A = A1 + B1; то B=(А1+В1)-В = A1;
3) Занесем в переменную A разность A и B (A := A – B):
A = B1; B = A1;
Код программы
Program prim_4;
Var a,b:integer;
Begin
Write(‘введите два числа ’);
Readln(A,B);
A:=A+B;
B:=A-B;
A:=A-B;
Writeln(‘A=’,A);
Writeln(‘B=’,B);
Readln
End.
Слайд 17*
Проверочный тест:
1) Какого описания величин не бывает?
а) Значение
б) Тип
в) Имя
г)
Присвоение
2) Какого типа величин не существует?
а) Числовой
б) Буквенный
в) Символьный
г) Логический
3) Какое имя нельзя давать величинам?
а) Х100
б) 9 "а"
в) ОХ
г) Любое можно
4) Что такое обозначение величины?
а) Имя
б)Тип
в) Значение
г) Значок присвоения
5) Что такое характеристика величины?
а) Имя
б) Тип
в) Значение
г) значок присвоения
6) Указать тип величины В, если В := 3,2
а)Целое
б)Вещественное
в)Натуральное
г)Символьное
7) Указать тип величины С, если С := "65"
а) Целое
б) Вещественное
в) Натуральное
г) Символьное
8) Указать значение величины М, если
Х := 6
У := 2
М := У – Х
а) 4
б) 6
в) 2
г) -4
9) Указать значение величины Х, если
А := 9
В := 3
В := В +2
Х := А – В
а) 6
б) 4
в) 9
г) 3
Слайд 18*
Логический тип
Переменные логического типа могут принимать значения:
False(ложь) или True (истина).
Примеры описания:
VAR b1, b2, b3, b4 : boolean;
Примеры присвоения значения:
b1 := True; b2 := False; b3 := not b1;
Слайд 19*
Символьный тип
Переменные символьного типа могут принимать значения одного из символов
с кодами от #0 до #255, т. е. допускаются буквы русского алфавита и символы псевдографики. Символы с кодами от #0 до #31 (управляющие) в тексте воспринимаются как пробел, а в операторах вывода как символ или команда.
Слайд 20*
Примеры описания:
VAR с, ch, e: char;
Примеры присвоения значения:
c
:= 'A'; c := '!'; c := #33;
{ символ "!" задается значением кода }
ch := #13; { код клавиши Enter }
e := #27; { код клавиши Esc }
Примеры вывода:
Write(с); { выводится символ "!" }
Write(ch); { команда перевода курсора на новую строчку }
Write(е); { выводится специальный символ, соответствующий коду #27 }
Слайд 21*
Строковый тип
Переменная строкового типа задается набором символов, заключенных в кавычки.
Примеры описания:
VAR s : string[25]; { Длина переменной s может изменяться от 1 до 25 символов }
s1 : string; { длина переменной s1 не указывается, наибольшее число символов равно 255 }
Примеры присвоения значения:
s := 'Привет';
s1 := 'Hello';
Слайд 22*
Массив
Массив - упорядоченные данные одного типа, состоящие из переменных (элементов массива).
Элементы массива имеют свой порядковый номер (индекс) и значение. Значение присваивается отдельно каждому элементу массива, либо сразу всем элементам массива (копирование одного массива в другой в случае массивов одинакового типа). Массив может быть многомерным (без ограничения), но занимать не более 65520 байт.
Слайд 23*
Примеры описания:
VAR M1 : array[1..200] of integer; { М1, A1
- одномерные массивы целых и вещественных чисел }
A1 : array[100..200] of real;
ch1 : array['A'..'Z'] of char; { сh1, ch2 - одномерные массивы символов }
ch2 : array[0..255] of char;
Примеры присвоения значения:
M1[1] := 5;
M1[2] := 8;
M1[3]:= M1[1];
M1[100] := 32;
A1[101] := 0.2;
A1[102] := 2.31;
ch1['B'] := 'C';
ch2[1] := '!'
Слайд 24*
Примеры описания:
TYPE Date_M = 1..31;
Rush_b = 'А..Я';
Lat_b =
'A..Z'; {тип диапазон}
Otmetka = (2,3,4,5);
Ball = (1,2,3,4,5,6,7,8,9,10); {перечислимый тип}
VAR t1, t2 : Date_M;
c1 : Ruch_b;
s1 : Lat_b;
a1, a2 : Otmetka;
b : Ball;
Примеры присвоения значения:
t1 := 10;
c1 := 'Л';
s1 := 'F';
a1 := 5;
b := 8;
Слайд 25*
Файлы
Файл именованная область внешней памяти ПК, содержащая различные данные.
Длина
файла ограничена доступной дисковой памятью. Файлы могут быть текстовые, типизированные и нетипизированные.
Рассмотрим описание текстовых файлов, хранящих информацию в виде строк переменной длины с последовательным доступом к данным.
Слайд 26*
Примеры описания:
VAR f1, f2 : text;
Примеры присвоения значения:
Assign(f1,
'file1.in');
Assign(f2, 'C:\PASCAL\WORK\file2.out');
Оператор Assign присваивает файловой переменной имя файла на диске. Файл file1.in содержится в текущем каталоге. Для файла file2.out указывается каталог в формате DOS.
Слайд 27*
Записи
Записи - вводимый программистом тип, определяемый как структура данных разного
типа, содержащая названия полей с указанием их типов, расположенных между служебными словами Record и End.
Слайд 28*
Примеры описания:
Type
Sity = Record
Name_G : String[20]; { название города }
Numb_G : LongInt; { число жителей } Stol_G : Boolean; { Столица (Да, Нет) } Shir, Dol : Real; { Координаты: широта, долгота }
End;Var St1, St2, St3 : Sity;
{ Переменные типа запись }
Слайд 29*
Примеры присвоения значения:
St1.Name_G := 'Уфа';
St1.Numb_G
:= 1200000; {Отдельным полям переменной St1 }
St2.Name_G := 'Москва';
St2.Numb_G := 8200000;
St3 := St1; {Всем полям переменной St3}
Переменные типа запись могут обозначаться с помощью оператора присоединения:
WITH "имя переменной" DO "оператор";
Слайд 30*
пример
With St1 do
begin
Name_G := 'Уфа';
Stol_g :=
True;
Readln(Shir, Dol);
z := Numb_G - St2. Numb_G;
end;
Writeln(Name_G:5, Numb_G:10);
Слайд 31*
Решение
Program Pr4;
Var a, b, c: real;
Begin
WriteLn (‘Задайте величины углов a, b’)
;
ReadLn (a, b);
C:=180-a-b;
If (a > 90) or (b > 90) or (c > 90)
Then WriteLn ( ‘Треугольник тупоугольный’)
Else
If (a = 90) or ( b = 90) or (c = 90)
Then Writeln (‘Треугольник прямоугольный’)
Else Writeln (‘Треугольник остроугольный’);
End.
Пример 4
Написать алгоритм для определения вида треугольника (остроугольный, прямоугольный, тупоугольный), если даны величины двух его углов А и В в градусах.
Слайд 32*
Примеры программ:
Ракета запускается с точки на экваторе Земли со скоростью V(км/с)
в направлении движения Земли по орбите вокруг Солнца. Каким будет результат запуска ракеты в зависимости от скорости V?
Слайд 33*
Program PR5;
Var V : real;
Begin
WriteLn (‘Задайте значение скорости’);
Readln (V);
If V
7.8 Then WriteLn(‘Ракета упадет на Землю’);
If (V >=7.8) and (V <11.2) then writeLn (‘Ракета станет спутником Земли’);
If (V >=11.2) and (V <=16.4) then writeLn (‘Ракета станет спутником Солнца’);
If V >16.4 then writeLn (‘Ракета покинет пределы Солнечной системы’);
Readln;
end.
V< 7.8 Ракета упадет на Землю
7.8 ≤ V <11.2 Ракета станет спутником Земли
11.2 ≤ V <16.4 Ракета станет спутником Солнца
V >16.4 Ракета покинет пределы Солнечной системы