Слайд 1Программируем на Free Pascаl
Уроки программирования
Слайд 2Типы данных
целых чисел (см. ниже);
действительных чисел (real);
символьный тип (char);
строковый
(string);
логический (boolean);
сложные (комбинированный (record),
множественный (set) и другие).
Слайд 3Типы переменных
INTEGER - целочисленные данные, во внутреннем представлении занимают 2 байта;
диапазон возможных значений - от -32768 до +32767; данные представляются точно;
REAL - вещественные данные, занимают 6 байт; диапазон возможных значений модуля - от 2.9Е-39 до 1.7Е+38; точность представления данных - 11...12 значащих цифр;
CHAR - символ, занимает 1 байт;
STRING - строка символов, занимает МАХ+1 байт, где МАХ - максимальное число символов в строке;
BOOLEAN - логический тип, занимает 1 байт и имеет два значения: FALSE (ложь) и TRUE (истина).
Слайд 6Ввод и вывод числа с клавиатуры
Слайд 9Домашнее задание
Составить программу выводящую, частное от деления двух чисел.
Составить программу
, выводящую на экран текст красным цветом на синем экране
Слайд 10Цвет в Паскале
Использование цвета в программах
Слайд 13Работа в классе
1.Составить программу, которая запрашивает у пользователя целое число, действительное
число, произвольный символ и строку, а затем все выводит в одной строчке.
2. Составьте диалог пользователя с компьютером на произвольную тему.
Например, машина задает два вопроса “Как тебя зовут?” и “Сколько тебе лет?”; после введения имени (Антон) и числа (15) выводит на экран “Да... Через 50 лет тебе уже будет 65 лет, а звать тебя будут не Антон, а дед Антон”
Слайд 14Домашнее задание
Написать программу, которая запрашивает название животного и число, а затем
выводит на экран фразу типа "Белка съест 10 грибов" (при вводе слова "белка" и числа 10).
Организуйте диалог продавца (компьютер) и покупателя (пользователь) при покупке какого-либо товара по следующей схеме: предложение товара по определенной цене, запрашивание количества покупаемого товара, определение и вывод на экран денежной суммы, которую должен заплатить покупатель за покупку.
Слайд 18D>=0
D>0
2 вещественных корня
1 вещественный корень
да
нет
да
нет
Нет корней
Слайд 19
program vetvlenija3;
uses crt;
var A, B, C, D:real;
begin
clrscr;
write ('Введите коэффициенты A,B,C: ');
readln (A,B,C);
D:=sqr(B)-4*A*C;
if D>=0 then
if D>0 then
writeln ('Два вещественных корня')
else
writeln ('Один вещественный корень')
else
writeln ('Нет вещественных корней');
readln
end.
Слайд 21
program vetvlenija;
uses crt;
var A,B,C,D,X1,X2:real;
begin
clrscr;
write (‘Введите коэффициенты
A,B,C: ’);
readln (A,B,C);
D:=sqr(B)-4*A*C;
if D>=0 then
if D>0 then
begin
X1:=(-B+sqrt(D))/(2*A);
X2:=(-B-sqrt(D))/(2*A);
writeln (‘Два вещественных корня ’,X1:6:2,X2:6:2)
end
else
writeln (‘Один вещественный корень ’,-B/2*A)
else
writeln (‘Нет вещественных корней’);
readln
end.
Слайд 22Задача
Введите 2 числа А и В. Если А четное число ,
то выводится число А+В, а если нечетное, то А*В
Введите 2 числа, если модуль первого числа больше модуля второго числа, то первое число умножьте на 2, а если нет, то выведите это число
Слайд 23Домашнее задание
Составить программу, находящую большее из 3 чисел.
Составить программу, находящую большее
из 4 чисел.
Слайд 27Цикл с предусловием
i := 1;
while условие do begin
Тело цикла
i
:= i + 1
End;
Слайд 30.Ввычислить факториал заданного числа.
program Z1;
var
x:integer;
i:integer;
R:integer;{выводимое значение}
begin
Writeln('Vvedite x');
readln(x);
R:=1;
for i:=2 to x
do
R:=R*i;
Writeln(R);
readln;
end.
Слайд 33Описание строковой переменной Паскаля
Пример описания строковой переменной в Паскале:
Var :
string[<максимальная длина строки>]
Например:
Var s1: string[10];
s2: string[20];
smax: string;
Слайд 34Действия со строками в Паскале
Операция слияния (сцепления, конкатенации) (+)
Операции отношения позволяют
сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=).
В результате сравнения двух строк получается логическое значение (true или false).
Слайд 35
Пример действий со строками в Паскале:
1).‘строка’’строки’ (верно, т.к. не совпадают последние символы);
2.)
‘Abc’<’abc’ (отношение истинно, т.к. код символа ‘A’ равен 65 в десятичной системе счисления, а код символа ‘a’ – 97);
3).‘год’>’век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’, а, следовательно, имеет больший код).
Слайд 36Стандартные функции для работы со строками в Паскале
Copy (S, poz, n)
выделяет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – любое строковое выражение, poz, n – целочисленные выражения.
Слайд 37Стандартные функции для работы со строками в Паскале
Concat (s1, s2,...,sn) выполняет
слияние строк s1, s2,...,sn в одну строку
Слайд 38Length(S) определяет текущую длину строкового выражения S. Результат – значение целого
типа.
Слайд 39Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S.
Результат – целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0.
Слайд 40CHR(N) - возвращает в программу символ с кодом N,
ORD(S) -
возвращает код символа S,
PRED(S) -возвращает предыдущий символ
SUCC(S) - возвращает следующий символ
Примеры:
CHR(128) = Б
ORD(':') = 58
PRED('Б') = А
SUCC('Г') = Д
Слайд 41Стандартные процедуры для работы со строками в Паскале
Delete (S, poz, n)
удаляет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – строковая переменная (в данном случае нельзя записать никакое другое строковое выражение, кроме имени строковой переменной
Слайд 42
Insert(subS, S, poz) вставляет в строку S, начиная с позиции poz,
подстроку subS. Здесь subS – любое строковое выражение, S – строковая переменная (именно ей будет присвоен результат выполнения процедуры), poz – целочисленное выражение.
Слайд 43Решение задач
Составить программу, по которой компьютер многократно вычисляет сумму А+В при
различных значениях А и В. в конце каждого этапа появляется запрос о продолжении или прекращении вычислений: "Завершить программу?(Д/Н)".
Слайд 44Var A,B:real;
uses crt;
C : char; a,b:integer;
Begin
Clrscr;
repeat
Write('Введите два числа'); Readln(a,b);
Writeln(a+b:0:2);
Writeln('Завершить программу?(Д/Н)');
Readln(с);
Until с='Д';
Readln
End.
Слайд 45Пример 1.
Составить программу определяющую, какая из двух фамилий длиннее. Фамилии имеют
разную длину.
Пример 2.
Даны два слова. Составить программу определяющую верно ли, что первое слово начинается на ту же букву, которой оканчивается второе слово.
Слайд 46Var x,y:byte;
a,b:string;
begin
readln(a);
readln(b);
x:=length(b);
if a[1]=b[x] then write('верно') else write('неверно');
readln
end.
Слайд 47Задачи
Пример 2.
Составить программу, которая печатает заданное слово в обратном порядке