Разделы презентаций


Программирование на языке Паскаль

Содержание

Языки программированияМашинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер)Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютерадля обучения: Бейсик, ЛОГО,

Слайды и текст этой презентации

Слайд 1Программирование на языке Паскаль

Программирование  на языке Паскаль

Слайд 2
Языки программирования
Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде

процессора (ассемблер)
Языки высокого уровня – приближены к естественному (английскому) языку,

легче воспринимаются человеком, не зависят от конкретного компьютера
для обучения: Бейсик, ЛОГО, Паскаль
профессиональные: Си, Фортран, Паскаль, Делфи
для задач искусственного интеллекта: Пролог, ЛИСП
для Интернета: JavaScript, Java, Perl, PHP, ASP
Языки программированияМашинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер)Языки высокого уровня – приближены к

Слайд 3
Структура программы
program ;
uses crt;
const …;{константы}
var …; {переменные}

begin
clrscr;
… {основная

программа}
readkey;
end.
{ процедуры и функции }
комментарии в фигурных скобках не обрабатываются

Структура программыprogram ;uses crt;const …;{константы}var …; {переменные}beginclrscr; … {основная программа}readkey;end.{ процедуры и функции }комментарии в фигурных скобках

Слайд 4
Основные понятия
Константа – постоянная величина, имеющая имя.
Переменная – изменяющаяся величина,

имеющая имя (ячейка памяти).
Процедура – вспомогательный алгоритм, описывающий некоторые действия

(рисование окружности).
Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin).
Основные понятияКонстанта – постоянная величина, имеющая имя.Переменная – изменяющаяся величина, имеющая имя (ячейка памяти).Процедура – вспомогательный алгоритм,

Слайд 5
Алфавит языка
1. Символы, используемые в идентификаторах
латинские буквы (A-Z)


цифры


знак подчеркивания _
заглавные

и строчные буквы не различаются
2. Разделители
любой управляющий символ (коды от

0 до 31)
пробел
Комментарий – { }; * *

имя не может начинаться с цифры

3. Специальные символы
знаки пунктуации [ ],( ), { }, * *, :=, .. , #, $
знаки операций: буквенные (not, div, or, mod) и небуквенные (+, =, *, /, <, >, <>, <=, >=)
зарезервированные слова (begin, end)

4. Неиспользуемые символы (буквы рус. алфавита, %, &)

Алфавит языка1. Символы, используемые в идентификаторахлатинские буквы (A-Z)цифрызнак подчеркивания _заглавные и строчные буквы не различаются2. Разделителилюбой управляющий

Слайд 6
Константы
const
i2 = 45; { целое число }
pi

= 3.14; { вещественное число }

qq = 'Вася'; { строка

символов }

L = True; { логическая величина }

целая и дробная часть отделяются точкой

можно использовать русские буквы!

может принимать два значения:
True (истина, "да")
False (ложь, "нет")

Константыconst 	  	i2 = 45; { целое число }	pi = 3.14; { вещественное число }	qq =

Слайд 7
Переменные
Переменная – это величина, имеющая имя, тип и значение. Значение

переменной можно изменять во время работы программы.
Типы переменных:
integer { целая }
real,

longint { вещественная }
char { один символ }
string { символьная строка }
boolean { логическая }

Объявление переменных (выделение памяти):
var a, b: integer;
Q: real;
s1, s2: string;

ПеременныеПеременная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.Типы

Слайд 8
Типы данных

Типы данных

Слайд 9
Изменение значений переменной
Оператор – это команда языка программирования высокого уровня.
Оператор

присваивания служит для изменения значения переменной.
Пример:
program qq;
var a, b: integer;
begin

a := 5;
b := a + 2;
a := (a + 2)*(b – 3);
end.


a

?

5

5


b

?

5+2

7


a

5

7*4

28

Изменение значений переменнойОператор – это команда языка программирования высокого уровня.Оператор присваивания служит для изменения значения переменной.Пример:	program qq;	var

Слайд 10
Оператор присваивания
Общая структура:
:= ;
Арифметическое выражение может включать
константы
имена переменных
знаки

арифметических операций:
+ - * /

div mod

вызовы функций
круглые скобки ( )

умножение

деление

деление нацело

остаток от деления

Оператор присваиванияОбщая структура:	 := ;Арифметическое выражение может включатьконстантыимена переменныхзнаки арифметических операций:	 	 + -  *

Слайд 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.



Какие операторы неправильные?

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную

program qq;	var a, b: integer;		 x, y: real; 	begin	 a := 5;   10 := x;

Слайд 12
Арифметические функции

Арифметические функции

Слайд 13
Порядок выполнения операций
вычисление выражений в скобках
умножение, деление, div, mod слева

направо
сложение и вычитание слева направо
2 3

5 4 1 7 8 6 9
z := (5*a*c+3*(c-d))/a*(b-c)/ b;

2 6 3 4 7 5 1 12 8 11 10 9
x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));



Порядок выполнения операцийвычисление выражений в скобкахумножение, деление, div, mod слева направосложение и вычитание слева направо

Слайд 14
Оператор ввода
read ( a ); { ввод значения переменной

a}
read ( a, b ); { ввод значений переменных a

и b}

Как вводить два числа?
через пробел:
25 30
через Enter:
25
30

Оператор вводаread ( a );  { ввод значения переменной a}read ( a, b ); { ввод

Слайд 15
Оператор вывода
write ( a ); { вывод значения переменной

a}
writeln ( a ); { вывод значения переменной a и

переход на новую строчку}

writeln ( 'Привет!' ); { вывод текста}

writeln ( 'Ответ: ', c ); { вывод текста и значения переменной c}

writeln ( a, '+', b, '=', c );

Оператор выводаwrite ( a );  { вывод значения переменной a}writeln ( a ); { вывод значения

Слайд 16
Форматы вывода
program qq;
var i: integer;
x: real;
begin
i :=

15;
writeln ( '>', i, '',

i:5, '<' );
x := 12.345678;
writeln ( '>', x, '<' );
writeln ( '>', x:10, '<' );
writeln ( '>', x:7:2, '<' );
end.

всего символов

всего символов

в дробной части

Форматы выводаprogram qq;var i: integer;  x: real;begin i := 15; writeln ( '>', i, '', i:5,

Слайд 17
Задания для самостоятельной работы
Составить программу, переводящую введенные с клавиатуры мили

в километры(1 миля =1,852 км)

2. Составить программу, запрашивающую 2

числа и выдающую их сумму.

Задания для самостоятельной работыСоставить программу, переводящую введенные с клавиатуры мили в километры(1 миля =1,852 км)2. Составить

Слайд 18
Задания для самостоятельной работы
4. Составить программу, запрашивающую имя и приветствующую

по этому имени.
3. Вычислить периметр и площадь прямоугольника, по

введенным с клавиатуры сторонам.



Задания для самостоятельной работы4. Составить программу, запрашивающую имя и приветствующую по этому имени. 3. Вычислить периметр и

Слайд 19Операторы языка Паскаль

Операторы  языка Паскаль

Слайд 20
Операторы языка Паскаль
Простые операторы (оператор присваивания, оператор безусловного перехода Goto,

пустой оператор)
Структурированные операторы (составной оператор, условный оператор IF, условный оператор

CASE, оператор цикла REPEAT, оператор цикла WHILE, оператор цикла FOR)
Операторы языка ПаскальПростые операторы (оператор присваивания, оператор безусловного перехода Goto, пустой оператор)Структурированные операторы (составной оператор, условный оператор

Слайд 21
Условный оператор IF
if then begin
{что делать, если

условие верно}
end
else begin
{что

делать, если условие неверно}
end;

Особенности:
перед else НЕ ставится точка с запятой
вторая часть (else …) может отсутствовать (неполная форма)
если в блоке один оператор, можно убрать слова begin и end

Условный оператор IF	if then begin  {что делать, если условие верно}    end else begin

Слайд 22
Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и вывести на экран

наибольшее из них.
Алгоритмы, в которых последовательность шагов зависит от выполнения

некоторых условий, называются разветвляющимися.
Разветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее из них.Алгоритмы, в которых последовательность шагов

Слайд 23
Блок-схема

полная форма ветвления
блок "решение"

Блок-схемаполная форма ветвленияблок

Слайд 24
Программа
uses crt;
var a, b, max: integer;
begin
clrscr;
writeln('Введите два

целых числа');
read ( a, b );
if

a > b then begin

end
else begin

end;
writeln ('Наибольшее число ', max);
readkey;
end.


max := a;

max := b;

полная форма условного оператора

Программа	uses crt;	var a, b, max: integer;	begin	 clrscr;  writeln('Введите два целых числа');  read ( a, b

Слайд 25
Сложные условия
Сложное условие – это условие, состоящее из нескольких простых

условий (отношений), связанных с помощью логических операций:
not – НЕ (отрицание,

инверсия)
and – И (логическое умножение, конъюнкция, одновременное выполнение условий)
or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий)
xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих)
Простые условия (отношения)
< <= > >= = <>

равно

не равно

Сложные условияСложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:not

Слайд 26
Сложные условия
Порядок выполнения
выражения в скобках
not
and
or, xor
=, =,


Особенность – каждое из простых условий обязательно заключать в скобки.
Пример

4 1 6 2 5 3
if not (a > b) or (c <> d) and (b <> a)
then begin
...
end
Сложные условияПорядок выполнениявыражения в скобкахnotandor, xor=, =, Особенность – каждое из простых условий обязательно заключать в скобки.Пример

Слайд 27
Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет

включительно. Ввести возраст человека и определить, подходит ли он фирме

(вывести ответ "подходит" или "не подходит").
Особенность: надо проверить, выполняются ли два условия одновременно.
Сложные условияЗадача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит

Слайд 28Вариант 1. Алгоритм

Вариант 1. Алгоритм

Слайд 29

Вариант 1. Программа
uses crt;
var x: integer;
begin
clrscr;
writeln('Введите возраст');

read ( x );
if x >= 25

then
if x <= 40 then
writeln ('Подходит')
else writeln ('Не подходит')
else
writeln ('Не подходит');
readkey;
end.


Вариант 1. Программа	uses crt;	var x: integer;	begin	 clrscr;  writeln('Введите возраст');  read ( x );  if

Слайд 30Вариант 2. Алгоритм

Вариант 2. Алгоритм

Слайд 31

Вариант 2. Программа
uses crt;
var x: integer;
begin
clrscr;
writeln('Введите возраст');

read ( x );
if (x >= 25) and

(x <= 40) then
writeln ('Подходит')
else writeln ('Не подходит')
readkey;
end.


сложное условие

Вариант 2. Программа	uses crt;	var x: integer;	beginclrscr;  writeln('Введите возраст');  read ( x );  if (x

Слайд 32
Задания для самостоятельной работы

1. Составить программу, запрашивающую возраст и отвечающую

«Привет друг» если возраст введен меньше 16 лет и отвечающую

«Не знаю тебя» в противном случае.

2. Составить программу - отзывающуюся только на имя «Саша»

Задания для самостоятельной работы	1. Составить программу, запрашивающую возраст и отвечающую «Привет друг» если возраст введен меньше 16

Слайд 33
Задания для самостоятельной работы

3. Составьте программу, увеличивающую введенное число

на 1 , если оно больше или равно100 и уменьшающее

число на 1 в противном случае.

4. Составить программу, вычисляющую функцию:



Задания для самостоятельной работы	3. Составьте  программу, увеличивающую введенное число на 1 , если оно больше или

Слайд 34
Операторы циклы
Цикл – это многократное выполнение одинаковой последовательности действий.
цикл с

известным числом шагов
цикл с неизвестным числом шагов (цикл с условием)

Операторы циклыЦикл – это многократное выполнение одинаковой последовательности действий.цикл с известным числом шаговцикл с неизвестным числом шагов

Слайд 35
Оператор цикла FOR

for := to

do begin
{тело цикла}

end;

Увеличение переменной на 1:

for <переменная> := <начальное значение> downto
<конечное значение> do begin
{тело цикла}
end;

Уменьшение переменной на 1:

Оператор цикла FOR	for := to   do begin  {тело цикла}    end;Увеличение переменной

Слайд 36Оператор цикла FOR
Задача. Вывести на экран квадраты и кубы целых

чисел от 1 до 8 (от a до b).
Особенность: одинаковые

действия выполняются 8 раз.
Оператор цикла FORЗадача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a

Слайд 37
Программа
uses crt;
var i, i2, i3: integer;
begin
clrscr;


for i:=1

to 8 do begin
i2 := i*i;
i3

:= i2*i;
writeln(i:4, i2:4, i3:4);
end;
readkey;
end.


переменная цикла

начальное значение

конечное значение

Программаuses crt;var i, i2, i3: integer;beginclrscr;   for i:=1 to 8 do begin  i2 :=

Слайд 38
Цикл FOR с уменьшением переменной
Задача. Вывести на экран квадраты и

кубы целых чисел от 8 до 1 (в обратном порядке).
Особенность:

переменная цикла должна уменьшаться.
Решение:
...
for i:=8 1 do begin
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;
...

downto

Цикл FOR с уменьшением переменнойЗадача. Вывести на экран квадраты и кубы целых чисел от 8 до 1

Слайд 39
Оператор цикла WHILE
while do begin
{тело цикла}


end;
Особенности:
можно использовать сложные условия:
если в теле цикла только

один оператор, слова begin и end можно не писать:

while (a {тело цикла}
end;

while a < b do
a := a + 1;

Оператор цикла WHILE	while do begin  {тело цикла}    end;Особенности:можно использовать сложные условия:если в теле

Слайд 40
Цикл с условием
Особенности:
условие пересчитывается каждый раз при входе в цикл
если

условие на входе в цикл ложно, цикл не выполняется ни

разу
если условие никогда не станет ложным, программа зацикливается

a := 4; b := 6;
while a > b do
a := a – b;

a := 4; b := 6;
while a < b do
d := a + b;

Цикл с условиемОсобенности:условие пересчитывается каждый раз при входе в циклесли условие на входе в цикл ложно, цикл

Слайд 41
Сколько раз выполняется цикл?
a := 4; b := 6;
while a

< b do a := a + 1;
2 раза
a =

6

a := 4; b := 6;
while a < b do a := a + b;

1 раз
a = 10

a := 4; b := 6;
while a > b do a := a + 1;

0 раз
a = 4

a := 4; b := 6;
while a < b do b := a - b;

1 раз
b = -2

a := 4; b := 6;
while a < b do a := a - 1;

зацикливание

Сколько раз выполняется цикл?a := 4; b := 6;while a < b do a := a +

Слайд 42
Цикл WHILE
Задача: Ввести целое число (

в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




Проблема: Неизвестно,

сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".
Цикл WHILEЗадача: Ввести целое число (

Слайд 43
Алгоритм

начало
count
конец
нет
да
n 0?

count := 0;

count := count + 1;

n := n div 10;
обнулить счетчик цифр
ввод n


выполнять "пока n

<> 0"
Алгоритмначалоcountконецнетдаn 0?count := 0;count := count + 1;  n := n div 10;обнулить счетчик цифрввод nвыполнять

Слайд 44
Программа
uses crt;
var n, count: integer;
Begin
clrscr;
writeln('Введите целое число');
read(n);

count := 0;
while n 0 do begin

count := count + 1;
n := n div 10;
end;
writeln('В числе ', n, ' нашли ',
count, ' цифр');
readkey;
end.


, n1: integer;

n1 := n;

n1,

выполнять "пока n <> 0"

Программаuses crt;var n, count: integer;Begin	 clrscr; writeln('Введите целое число'); read(n); count := 0; while n 0 do

Слайд 45
Замена for на while и наоборот
for i:=1 to 10 do

begin
{тело цикла}
end;
i := 1;
while i

{тело цикла}
i := i + 1;
end;

for i:=a downto b do
begin
{тело цикла}
end;

i := a;
while i >= b do begin
{тело цикла}
i := i - 1;
end;

Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла.

Замена цикла for на while возможна всегда.

Замена for на while и наоборотfor i:=1 to 10 do begin {тело цикла}end;i := 1;while i =

Слайд 46
Задания для самостоятельной работы
1. Найти сумму чисел от 1 до

10
2. Напечатать таблицу умножения на
введенное с клавиатуры число,
например

ввели 7
7х1=7
7х2=14
…….
7х9=63

Задания для самостоятельной работы1. Найти сумму чисел от 1 до 102. Напечатать таблицу умножения на введенное с

Слайд 47
Цикл с постусловием (цикл REPEAT)
Особенность: Один раз тело цикла надо

сделать в любом случае => проверку условия цикла надо делать

в конце цикла (цикл с постусловием).

Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.

Цикл с постусловием (цикл REPEAT)Особенность: Один раз тело цикла надо сделать в любом случае => проверку условия

Слайд 48Цикл с постусловием: алгоритм

начало
конец
да
нет
n > 0?


тело цикла
условие ВЫХОДА
блок "типовой

процесс"
ввод n
основной алгоритм

Цикл с постусловием: алгоритм началоконецданетn > 0?тело циклаусловие ВЫХОДАблок

Слайд 49
Программа
program qq;
var n: integer;
begin
repeat
writeln('Введите положительное

число');
read(n);
until n > 0;

... { основной алгоритм }
end.


until n > 0;

условие ВЫХОДА

Особенности:
тело цикла всегда выполняется хотя бы один раз
после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла

Программаprogram qq;var n: integer;begin  repeat   writeln('Введите положительное число');   read(n);  until n

Слайд 50
Задания для самостоятельной работы
1. Составить программу , запрашивающую числа до

тех пор, пока не ввели числа большего 50.

2. Составить программу,

печатающую слово «Привет» и запрашивающую
«Повторить Д/Н?». Программа завершает выполнение в случае нажатия Н,
если Д, то повторяет.
Задания для самостоятельной работы1. Составить программу , запрашивающую числа до тех пор, пока не ввели числа большего

Слайд 51
Оператор выбора CASE
Особенности:
после case может быть имя переменной или арифметическое

выражение целого типа (integer)
или символьного типа (char)
case i+3

of
1: begin a := b; end;
2: begin a := c; end;
end;

var c: char;
...
case c of
'а': writeln('Антилопа');
'б': writeln('Барсук');
else writeln('Не знаю');
end;

Оператор выбора CASEОсобенности:после case может быть имя переменной или арифметическое выражение целого типа (integer)  или символьного

Слайд 52
Оператор выбора
Особенности:
если нужно выполнить только один оператор, слова begin и

end можно не писать
нельзя ставить два одинаковых значения
case i+3 of


1: a := b;
1: a := c;
end;

case i+3 of
1: a := b;
2: a := c;
end;

Оператор выбораОсобенности:если нужно выполнить только один оператор, слова begin и end можно не писатьнельзя ставить два одинаковых

Слайд 53
Оператор выбора
Особенности:
значения, при которых выполняются одинаковые действия, можно группировать
case i

of
1: a :=

b;
2,4,6: a := c;
10..15: a := d;
20,21,25..30: a := e;
else writeln('Ошибка');
end;

перечисление

диапазон

смесь

Оператор выбораОсобенности:значения, при которых выполняются одинаковые действия, можно группироватьcase i of 1:

Слайд 54
Оператор выбора CASE
Задача: Ввести номер месяца и вывести количество

дней в этом

месяце.
Решение: Число дней по месяцам:
28 дней – 2 (февраль)
30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)
31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.
Оператор выбора CASEЗадача: Ввести номер месяца и вывести количество

Слайд 55Алгоритм
начало
конец

оператор выбора
ни один вариант не подошел
ввод M

да
нет
M = 1?
D :=

31;
нет
M = 2?
D := 28;
да
нет
M = 12?
D := 31;
да
вывод

D

ошибка




Алгоритмначалоконецоператор выборани один вариант не подошелввод MданетM = 1?D := 31;нетM = 2?D := 28;данетM = 12?D

Слайд 56
Программа
uses crt;
var M, D: integer;
begin
clrscr;
writeln('Введите номер месяца:');

read ( M );
case M of

2: begin D := 28; end;
4,6,9,11: begin D := 30; end;
1,3,5,7,8,10,12: D := 31;
else D := -1;
end;
if D > 0 then
writeln('В этом месяце ', D, ' дней.')
else
writeln('Неверный номер месяца');
readkey;
end.


ни один вариант не подошел

Программаuses crt;var M, D: integer;begin	 clrscr;  writeln('Введите номер месяца:');  read ( M );  case

Слайд 57
Задания для самостоятельной работы
1. По введенному номеру от 1

до 7 определить день недели- например 1

– Понедельник и т.д.

2. Ставить программу , запрашивающую возраст и при введении до 15 включительно - говорит «Привет», от 16 до 20 говорит «друг», и говорит «Пока» в противном случае.

Задания для самостоятельной работы1. По  введенному номеру от 1 до 7  определить  день недели-

Слайд 58
Процедуры
Процедура – это вспомогательный алгоритм, который предназначен для выполнения какой-то

законченной последовательности действий.

Для исполнения подпрограммы процедуры необходимо сначала описать ее,

а потом к ней обращаться
Описание процедуры включает заголовок (имя) и тело процедуры
Заголовок состоит из зарезервированного слова procedure, имени процедуры и заключенных в скобки списка формальных параметров с указанием типа
ПроцедурыПроцедура – это вспомогательный алгоритм, который предназначен для выполнения какой-то законченной последовательности действий.Для исполнения подпрограммы процедуры необходимо

Слайд 59
Процедуры
Особенности:
в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не

имеют к ним доступа


program qq;
procedure A(x, y: integer);
var

a, b: real;
begin
a := (x + y)/6;
...
end;
begin
...
end.


локальные переменные

ПроцедурыОсобенности:в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступаprogram qq; procedure A(x,

Слайд 60Процедуры
Задача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего

из 2-х чисел

program max;
uses crt;
var a,b,c,d,p,q,m: integer;
procedure bid(x,y: real;

var z: real);
begin
if x>y then z:=x else z:=y
end;
begin
clrscr;
write(‘введите 4 числа:’);
readln (a,b,c,d);
bid (a,b,p);
bid (c,d,q);
bid (p,q,m);
writeln(‘наибольшее из 4-х чисел’; m);
readkey;
end.


ПроцедурыЗадача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего из 2-х чиселprogram max;uses crt;var a,b,c,d,p,q,m: integer;

Слайд 61Функции
Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является

некоторое значение.
Примеры:
вычисление ,

,
расчет значений по сложным формулам
ответ на вопрос (простое число или нет?)
Отличия
в заголовке
в теле функции: хотя бы раз имени функции должно быть присвоено значение
ФункцииФункция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение. Примеры: вычисление

Слайд 62Функции
Особенности:
заголовок начинается словом function
формальные параметры описываются так же, как и

для процедур
в конце заголовка через двоеточие указывается тип результата
функции располагаются

ВЫШЕ основной программы
ФункцииОсобенности:заголовок начинается словом functionформальные параметры описываются так же, как и для процедурв конце заголовка через двоеточие указывается

Слайд 63Функции
Особенности:
можно объявлять и использовать локальные переменные
значение, которое является результатом, записывается

в переменную, имя которой совпадает с названием функции; объявлять ее

НЕ НАДО:
ФункцииОсобенности:можно объявлять и использовать локальные переменныезначение, которое является результатом, записывается в переменную, имя которой совпадает с названием

Слайд 64Функции
Задача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего

из 2-х чисел

program max;
uses crt;
var a,b,c,d,p,q,m: integer;
function bid(x,y: real):

real;
begin
if x>y then bid:=x else bid:=y
end;
begin
clrscr;
write(‘введите 4 числа:’);
readln(a,b,c,d);
p:=bid(a,b);
q:=bid(c,d);
m:=bid(p,q);
writeln(‘наибольшее из 4-х чисел’;m);
readkey;
end.


ФункцииЗадача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего из 2-х чиселprogram max;uses crt;var a,b,c,d,p,q,m: integer;

Слайд 65
Массивы
Массив – это группа однотипных элементов, имеющих общее имя и

расположенных в памяти рядом.
Особенности:
все элементы имеют один тип
весь массив имеет

одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год
МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.Особенности:все элементы имеют один

Слайд 66

Объявление массивов

определить имя массива
определить тип массива
определить число элементов
выделить место в

памяти
Массив целых чисел:


Размер через константу:
имя
начальный индекс
конечный индекс
тип
элементов
N




var A

: array[ 1 .. 5 ] of integer ;
Объявление массивовопределить имя массиваопределить тип массиваопределить число элементоввыделить место в памятиМассив целых чисел: Размер через константу: имяначальный

Слайд 67Массивы
Объявление:
Ввод с клавиатуры:
Поэлементные операции:
const N = 5;
var a: array[1..N]

of integer;
i: integer;
for i:=1 to N do begin

write('a[', i, ']=');
read ( a[i] );
end;

for i:=1 to N do a[i]:=a[i]*2;

МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:const N = 5; var a: array[1..N] of integer;  i: integer;for i:=1 to

Слайд 68Массивы
Задача: Заполнить массив из 5 элементов с клавиатуры и вывести

на экран сумму 2 и 5 элементов

uses crt;

var i,sum: integer; a: array[1..5] of integer;
begin
clrscr;
for i:=1 to 5 do
begin
write(‘Введите’, i, ‘элемент’); read (a[i]);
end;
sum:=a[2]+a[5];
write(‘Сумма 2 и 5 равна’, sum);
readkey;
end.


МассивыЗадача: Заполнить массив из 5 элементов с клавиатуры и вывести  на экран сумму 2 и 5

Слайд 69Задания для самостоятельной работы
1. Заполнить массив из 5 элементов и

вывести на печать сначала все, ниже третий.
2. Заполнить массив из

5 элементов с клавиатуры и найти их среднее арифметическое.
Задания для самостоятельной работы1. Заполнить массив из 5 элементов и вывести на печать сначала все, ниже третий.2.

Слайд 70
Строковые величины
Строка – это последовательность символов кодовой таблице.
Длина строки (количества

символов) может лежать в диапазоне 0..255
Для определения длины данных строкового

типа используется идентификатор string, за которым следует максимальное значение длины строки данного типа.
В программе значения переменных и констант типа char (символьный) заключается в апострофы.
Например, st:=’река’

var s: string[20];

Строковые величиныСтрока – это последовательность символов кодовой таблице.Длина строки (количества символов) может лежать в диапазоне 0..255Для определения

Слайд 71Символьные строки
Задача: ввести строку с клавиатуры и заменить все буквы

"а" на буквы "б".
program qq;
var s: string;
i: integer;
begin

writeln('Введите строку');
readln(s);
for i:=1 to Length(s) do
if s[i] = 'а' then s[i] := 'б';
writeln(s);
end.

readln(s);

writeln(s);

Length(s)

ввод строки

длина строки

вывод строки

Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы

Слайд 72Операции со строками
Объединение: добавить одну строку в конец другой.
Запись нового

значения:
var s, s1, s2: string;
s := 'Вася';
s1 := 'Привет';
s2 :=

'Вася';
s := s1 + ', ' + s2 + '!';

'Привет, Вася!'

Подстрока: выделить часть строки в другую строку.

s := '123456789';

s1 := Copy ( s, 3, 6 );
s2 := Copy ( s1, 2, 3 );

'345678'

'456'

с 3-его символа

6 штук

Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:var s, s1, s2: string;s := 'Вася';s1

Слайд 73Удаление и вставка
Удаление части строки:
Вставка в строку:
s := '123456789';
Delete (

s, 3, 6 );
с 3-его символа
6 штук
строка
меняется!
'123456789'
'129'
s :=

'123456789';
Insert ( 'ABC', s, 3 );
Insert ( 'Q', s, 5 );

куда вставляем

что вставляем

начиная с 3-его символа

'12ABC3456789'

'12ABQC3456789'

Удаление и вставкаУдаление части строки:Вставка в строку:s := '123456789';Delete ( s, 3, 6 ); с 3-его символа6

Слайд 74Задания для самостоятельной работы
1. Ввели слово, определить его длину и

вывести 3 символ, а так же вывести вырезку с 2

символа , длинной 5 символов.

2. Из слова «вирус» путем замены букв получите слово «фокус».

Задания для самостоятельной работы1. Ввели слово, определить его длину и вывести 3 символ, а так же вывести

Слайд 75Файлы
Файл – это область на диске, имеющая имя.
Файлы
только текст без

оформления, не содержат управляющих символов (с кодами < 32)
ACSII (1 байт

на символ)
UNICODE (2 байта на символ)

*.txt, *.log,
*.htm, *.html

могут содержать любые символы кодовой таблицы

*.doc, *.exe,
*.bmp, *.jpg,
*.wav, *.mp3,
*.avi, *.mpg

Текстовые

Двоичные

Папки (каталоги)

ФайлыФайл – это область на диске, имеющая имя.Файлытолько текст без оформления, не содержат управляющих символов (с кодами

Слайд 76Принцип сэндвича

I этап. открыть файл :
связать переменную f с файлом
открыть

файл (сделать его активным, приготовить к работе)

assign(f, 'qq.dat');
reset(f); {для чтения}
rewrite(f);

{для записи}

II этап: работа с файлом

Переменная типа "текстовый файл": var f: text;

III этап: закрыть файл

close(f);


read ( f, n ); { ввести значение n }

write ( f, n ); { записать значение n }
writeln ( f, n );{c переходом на нов.строку }

append(f); {дописывать данные}

Принцип сэндвичаI этап. открыть файл :связать переменную f с файломоткрыть файл (сделать его  активным, приготовить к

Слайд 77Работа с файлами
Особенности:
имя файла упоминается только в команде assign, обращение

к файлу идет через файловую переменную
файл, который открывается на чтение,

должен существовать
если файл, который открывается на запись, существует, старое содержимое уничтожается
данные записываются в файл в текстовом виде
при завершении программы все файлы закрываются автоматически
после закрытия файла переменную f можно использовать еще раз для работы с другим файлом
Работа с файламиОсобенности:имя файла упоминается только в команде assign, обращение к файлу идет через файловую переменнуюфайл, который

Слайд 78Пример
Задача: в файле input.txt записаны числа (в столбик), сколько их

– неизвестно. Записать в файл output.txt их сумму.
Алгоритм:
Открыть файл input.txt

для чтения.
S := 0;
Если чисел не осталось, перейти к шагу 7.
Прочитать очередное число в переменную x.
S := S + x;
Перейти к шагу 3.
Закрыть файл input.txt.
Открыть файл output.txt для записи.
Записать в файл значение S.
Закрыть файл output.txt.


цикл с условием "пока есть данные"

ПримерЗадача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно. Записать в файл output.txt их

Слайд 79Программа
program qq;
var s, x: integer;
f: text;
begin

assign(f, 'input.txt');
reset(f);
s := 0;
while

not eof(f) do begin
readln(f, x);
s := s + x;
end;
close(f);
assign(f, 'output.txt');
rewrite(f);
writeln(f, 'Сумма чисел ', s);
close(f);
end.


f: text;

eof(f)

логическая функция, возвращает True, если достигнут конец файла


запись результата в файл output.txt

Программаprogram qq;var s, x: integer;  f: text; begin  assign(f, 'input.txt');  reset(f);  s :=

Слайд 80Обработка текстовых данных
Задача: в файле input.txt записаны строки, в которых

есть слово-паразит "короче". Очистить текст от мусора и записать в

файл output.txt.
Файл input.txt :
Мама, короче, мыла, короче, раму.
Декан, короче, пропил, короче, бутан.
А роза, короче, упала на лапу, короче, Азора.
Каждый, короче, охотник желает, короче, знать, где ...
Результат - файл output.txt :
Мама мыла раму.
Декан пропил бутан.
А роза упала на лапу Азора.
Каждый охотник желает знать, где сидит фазан.
Обработка текстовых данныхЗадача: в файле input.txt записаны строки, в которых есть слово-паразит

Слайд 81Обработка текстовых данных
Алгоритм:
Прочитать строку из файла (readln).
Удалить все

сочетания ", короче," (Pos, Delete).
Перейти к шагу 1.
Обработка строки

s:
Особенность:
надо одновременно держать открытыми два файла (один в режиме чтения, второй – в режиме записи).


пока не кончились данные

repeat
i := Pos(', короче,', s);
if i <> 0 then Delete(s, i, 9);
until i = 0;

искать ", короче,"

удалить 9 символов

Обработка текстовых данныхАлгоритм: Прочитать строку из файла (readln). Удалить все сочетания

Слайд 82Работа с файлами
program qq;
var s: string;
i:

integer;
fIn, fOut: text;
begin
assign(fIn, 'instr.txt');


reset(fIn);
assign(fOut, 'outstr.txt');
rewrite(fOut);
... { обработать файл }
close(fIn);
close(fOut);
end.

fIn, fOut: text;

файловые переменные



открыть файл для чтения

открыть файл для записи

Работа с файламиprogram qq; var s: string;   i: integer;   fIn, fOut: text; begin

Слайд 83Полный цикл обработки файла
while not eof(fIn) do begin

readln(fIn, s);
writeln(fOut, s);
end;

repeat
i := Pos(', короче,', s);
if i <> 0 then
Delete(s, i, 9);
until i = 0;

пока не достигнут конец файла

обработка строки

запись "очищенной" строки

Полный цикл обработки файла while not eof(fIn) do begin   readln(fIn, s);   writeln(fOut, s);

Слайд 84Задания для самостоятельной работы
1. Создать на диске С файл 1.txt

с 5 числами, введенными с клавиатуры.
2. Дописать в существующий файл

1.txt данные, введенные с клавиатуры.

Задания для самостоятельной работы1. Создать на диске С файл 1.txt с 5 числами, введенными с клавиатуры.2. Дописать

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика