Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

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

Содержание

Структура программыprogram ;uses crt;const …;{константы}var …; {переменные}beginclrscr; … {основная программа}readkey;end.{ процедуры и функции }комментарии в фигурных скобках не обрабатываются
Программирование  на языке Паскаль Структура программыprogram ;uses crt;const …;{константы}var …; {переменные}beginclrscr; … {основная программа}readkey;end.{ процедуры и Основные понятияКонстанта – постоянная величина, имеющая имя.Переменная – изменяющаяся величина, имеющая имя Алфавит языка1. Символы, используемые в идентификаторахлатинские буквы (A-Z)цифрызнак подчеркивания _заглавные и строчные Константыconst 	  	i2 = 45; { целое число }	pi = 3.14; ПеременныеПеременная – это величина, имеющая имя, тип и значение. Значение переменной можно Изменение значений переменнойОператор – это команда языка программирования высокого уровня.Оператор присваивания служит Оператор присваиванияОбщая структура:	 := ;Арифметическое выражение может включатьконстантыимена переменныхзнаки арифметических операций: program qq;	var a, b: integer;		 x, y: real; 	begin	 a := 5; Арифметические функции Порядок выполнения операцийвычисление выражений в скобкахумножение, деление, div, mod слева направосложение и Оператор вводаread ( a );  { ввод значения переменной a}read ( Оператор выводаwrite ( a );  { вывод значения переменной a}writeln ( Форматы выводаprogram qq;var i: integer;  x: real;begin i := 15; writeln Задания для самостоятельной работыСоставить программу, переводящую введенные с клавиатуры мили в километры(1 Задания для самостоятельной работы4. Составить программу, запрашивающую имя и приветствующую по этому Операторы  языка Паскаль Операторы языка ПаскальПростые операторы (оператор присваивания, оператор безусловного перехода Goto, пустой оператор)Структурированные Условный оператор IF	if then begin  {что делать, если условие верно} Разветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее из Блок-схемаполная форма ветвленияблок Программа	uses crt;	var a, b, max: integer;	begin	 clrscr;  writeln('Введите два целых числа'); Сложные условияСложное условие – это условие, состоящее из нескольких простых условий (отношений), Сложные условияПорядок выполнениявыражения в скобкахnotandor, xor=, =, Особенность – каждое из простых Сложные условияЗадача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести Вариант 1. Алгоритмначаловвод x'подходит'конецданетx >= 25?данетx Вариант 1. Программа	uses crt;	var x: integer;	begin	 clrscr;  writeln('Введите возраст');  read Вариант 2. Алгоритмначаловвод x'подходит'данетx >= 25  иx Вариант 2. Программа	uses crt;	var x: integer;	beginclrscr;  writeln('Введите возраст');  read ( Задания для самостоятельной работы	1. Составить программу, запрашивающую возраст и отвечающую «Привет друг» Задания для самостоятельной работы	3. Составьте  программу, увеличивающую введенное число на 1 Операторы циклыЦикл – это многократное выполнение одинаковой последовательности действий.цикл с известным числом Оператор цикла FOR	for := to   do begin  {тело цикла} Оператор цикла FORЗадача. Вывести на экран квадраты и кубы целых чисел от Программаuses crt;var i, i2, i3: integer;beginclrscr;   for i:=1 to 8 Цикл FOR с уменьшением переменнойЗадача. Вывести на экран квадраты и кубы целых Оператор цикла WHILE	while do begin  {тело цикла}    end;Особенности:можно Цикл с условиемОсобенности:условие пересчитывается каждый раз при входе в циклесли условие на Сколько раз выполняется цикл?a := 4; b := 6;while a < b Цикл WHILEЗадача: Ввести целое число ( Алгоритмначалоcountконецнетдаn 0?count := 0;count := count + 1;  n := n Программаuses crt;var n, count: integer;Begin	 clrscr; writeln('Введите целое число'); read(n); count := Замена for на while и наоборотfor i:=1 to 10 do begin {тело Задания для самостоятельной работы1. Найти сумму чисел от 1 до 102. Напечатать Цикл с постусловием (цикл REPEAT)Особенность: Один раз тело цикла надо сделать в Цикл с постусловием: алгоритм началоконецданетn > 0?тело циклаусловие ВЫХОДАблок Программаprogram qq;var n: integer;begin  repeat   writeln('Введите положительное число'); Задания для самостоятельной работы1. Составить программу , запрашивающую числа до тех пор, Оператор выбора CASEОсобенности:после case может быть имя переменной или арифметическое выражение целого Оператор выбораОсобенности:если нужно выполнить только один оператор, слова begin и end можно Оператор выбораОсобенности:значения, при которых выполняются одинаковые действия, можно группироватьcase i of 1: Оператор выбора CASEЗадача: Ввести номер месяца и вывести количество Алгоритмначалоконецоператор выборани один вариант не подошелввод MданетM = 1?D := 31;нетM = Программаuses crt;var M, D: integer;begin	 clrscr;  writeln('Введите номер месяца:');  read Задания для самостоятельной работы1. По  введенному номеру от 1 до 7 ПроцедурыПроцедура – это вспомогательный алгоритм, который предназначен для выполнения какой-то законченной последовательности ПроцедурыОсобенности:в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ПроцедурыЗадача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего из 2-х program max;uses crt;var a,b,c,d, max1,max2,max3,max4,p,q,s,k: integer; procedure bid(x,y: integer; var z,k: integer); ФункцииФункция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение. ФункцииОсобенности:заголовок начинается словом functionформальные параметры описываются так же, как и для процедурв ФункцииОсобенности:можно объявлять и использовать локальные переменныезначение, которое является результатом, записывается в переменную, ФункцииЗадача: найти наибольшее из 4-х чисел, используя подпрограмму нахождения наибольшего из 2-х МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных в Объявление массивовопределить имя массиваопределить тип массиваопределить число элементоввыделить место в памятиМассив целых МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:const N = 5; var a: array[1..N] of integer; МассивыЗадача: Заполнить массив из 5 элементов с клавиатуры и вывести  на Задания для самостоятельной работы1. Заполнить массив из 5 элементов и вывести на Строковые величиныСтрока – это последовательность символов кодовой таблице.Длина строки (количества символов) может Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:var s, Удаление и вставкаУдаление части строки:Вставка в строку:s := '123456789';Delete ( s, 3, Задания для самостоятельной работы1. Ввели слово, определить его длину и вывести 3 ФайлыФайл – это область на диске, имеющая имя.Файлытолько текст без оформления, не Принцип сэндвичаI этап. открыть файл :связать переменную f с файломоткрыть файл (сделать Работа с файламиОсобенности:имя файла упоминается только в команде assign, обращение к файлу ПримерЗадача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно. Программаprogram qq;var s, x: integer;  f: text; begin  assign(f, 'input.txt'); Обработка текстовых данныхЗадача: в файле input.txt записаны строки, в которых есть слово-паразит Обработка текстовых данныхАлгоритм: Прочитать строку из файла (readln). Удалить все сочетания Работа с файламиprogram qq; var s: string;   i: integer; Полный цикл обработки файла while not eof(fIn) do begin   readln(fIn, Задания для самостоятельной работы1. Создать на диске С файл 1.txt с 5
Слайды презентации

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

begin
clrscr;

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

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

скобках не обрабатываются

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

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

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

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

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


цифры


знак

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

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

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

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

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

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


Слайд 5
Константы
const
i2 = 45; { целое

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

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

qq =

'Вася'; { строка символов }

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

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

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

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


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

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

значение. Значение переменной можно изменять во время работы программы.
Типы

переменных:
integer { целая }
real, longint { вещественная }
char { один символ }
string { символьная строка }
boolean { логическая }

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


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

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

высокого уровня.
Оператор присваивания служит для изменения значения переменной.
Пример:
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


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

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

включать
константы
имена переменных
знаки арифметических операций:
+ - *

/ div mod

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

умножение

деление

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

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


Слайд 9 program qq;
var a, b: integer;
x, y: real;

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


begin
a := 5;
10 :=

x;
y := 7,8;
b := 2.5;
x := 2*(a + y);
a := b + x;
end.



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

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

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

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


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

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

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

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

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));




Слайд 12
Оператор ввода
read ( a ); { ввод

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

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

значений переменных a и b}

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


Слайд 13
Оператор вывода
write ( a ); { вывод

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

2. Составить

программу, запрашивающую 2 числа и выдающую их сумму.


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

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

и приветствующую по этому имени.
3. Вычислить периметр и

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




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

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

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

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

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

IF, условный оператор CASE, оператор цикла REPEAT, оператор цикла WHILE, оператор цикла FOR)

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

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

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

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

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


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

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

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

зависит от выполнения некоторых условий, называются разветвляющимися.

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

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

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

Слайд 22
Программа
uses crt;
var a, b, max: integer;
begin
clrscr;

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

writeln('Введите два целых числа');
read ( a, b

);
if a > b then begin

end
else begin

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


max := a;

max := b;

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


Слайд 23
Сложные условия
Сложное условие – это условие, состоящее из

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

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

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

равно

не равно


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

Сложные условияПорядок выполнениявыражения в скобкахnotandor, xor=, =, Особенность – каждое из

>=, =,
Особенность – каждое из простых условий обязательно

заключать в скобки.
Пример
4 1 6 2 5 3
if not (a > b) or (c <> d) and (b <> a)
then begin
...
end

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

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

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

ли он фирме (вывести ответ "подходит" или "не подходит").
Особенность: надо проверить, выполняются ли два условия одновременно.

Слайд 26
Вариант 1. Алгоритм
начало
ввод x
'подходит'
конец




да
нет
x >= 25?


да
нет
x

Вариант 1. Алгоритмначаловвод x'подходит'конецданетx >= 25?данетx

подходит'
'не подходит'



Слайд 27

Вариант 1. Программа
uses crt;
var x: integer;
begin
clrscr;

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

writeln('Введите возраст');
read ( x );
if

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



Слайд 28 Вариант 2. Алгоритм
начало
ввод x
'подходит'


да
нет
x >= 25 и
x

Вариант 2. Алгоритмначаловвод x'подходит'данетx >= 25 иx

40?
'не подходит'


Слайд 29

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

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

возраст');
read ( x );
if (x

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


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


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

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

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

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

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

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


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

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

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

введенное число на 1 , если оно больше или

равно100 и уменьшающее число на 1 в противном случае.

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




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

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

действий.
цикл с известным числом шагов
цикл с неизвестным числом шагов

(цикл с условием)

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

for := to

Оператор цикла FOR	for := to  do begin {тело цикла}

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


end;

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

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

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


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

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

кубы целых чисел от 1 до 8 (от a

до b).
Особенность: одинаковые действия выполняются 8 раз.

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


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

for i:=1 to 8 do begin
i2 :=

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


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

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

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


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

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

квадраты и кубы целых чисел от 8 до 1

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

downto


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

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

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

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

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

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


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

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

в цикл
если условие на входе в цикл ложно, цикл

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

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

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


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

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

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;

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


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

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

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

увеличиваем счетчик.




Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".

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

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

count := 0;

count := count +

Алгоритмначалоcountконецнетдаn 0?count := 0;count := count + 1; n := n

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

n



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


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

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

число');
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"


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

Замена for на while и наоборотfor i:=1 to 10 do begin

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

10 do begin
{тело цикла}
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 возможна всегда.


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

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

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

клавиатуры число,
например ввели 7
7х1=7
7х2=14
…….
7х9=63


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

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

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

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

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


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

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


тело цикла
условие

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

ВЫХОДА
блок "типовой процесс"
ввод n
основной алгоритм


Слайд 47
Программа
program qq;
var n: integer;
begin
repeat

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

writeln('Введите положительное число');
read(n);
until n

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


until n > 0;

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

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


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

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

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

50.

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


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

Оператор выбора 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;


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

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

begin и end можно не писать
нельзя ставить два одинаковых

значения

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

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


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

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

группировать
case i of
1:

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

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

диапазон

смесь


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

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

количество

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

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

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

да
нет
M =

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

1?
D := 31;
нет
M = 2?
D := 28;
да
нет
M = 12?
D

:= 31;

да

вывод D

ошибка





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

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

номер месяца:');
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.


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


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

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

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

например 1 – Понедельник и т.д.

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


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

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

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

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

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

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

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

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


program qq;
procedure A(x,

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


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


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

ПроцедурыЗадача: найти наибольшее из 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.



Слайд 59 program max;
uses crt;
var a,b,c,d, max1,max2,max3,max4,p,q,s,k: integer;
procedure bid(x,y:

program max;uses crt;var a,b,c,d, max1,max2,max3,max4,p,q,s,k: integer; procedure bid(x,y: integer; var z,k:

integer; var z,k: integer);
begin
if x>y

then begin z:=x; k:=y; end
else begin z:=y; k:=z end;
end;
begin
clrscr;
write(‘введите 4 числа:’);
readln (a,b,c,d);
bid (a,b,max1, max2);
bid (c,d,max3,max4);
bid (max1,max2, p,q);
bid (max3,max4, s,k);
writeln(p,’ ‘,q,’ ‘,s,’ ‘,k);
readkey;
end.

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

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

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

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

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

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

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

тип результата
функции располагаются ВЫШЕ основной программы

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

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

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

функции; объявлять ее НЕ НАДО:

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

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

нахождения наибольшего из 2-х чисел

program max;
uses crt;
var a,b,c,d,p,q,m: real;

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.



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

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

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

тип
весь массив имеет одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год

Слайд 65

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

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

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

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


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

индекс

конечный индекс

тип
элементов


var A: array[1.. ] of integer;

const N=5;

N





var A : array[ 1 .. 5 ] of integer ;


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

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

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;


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

МассивыЗадача: Заполнить массив из 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.



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

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

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

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

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

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

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

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

var s: string[20];


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

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

все буквы "а" на буквы "б".
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)

ввод строки

длина строки

вывод строки


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

Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:var

другой.
Запись нового значения:
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 штук


Слайд 72 Удаление и вставка
Удаление части строки:
Вставка в строку:
s :=

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

'123456789';
Delete ( s, 3, 6 );
с 3-его символа
6

штук

строка
меняется!

'123456789'

'129'

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

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

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

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

'12ABC3456789'

'12ABQC3456789'


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

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

длину и вывести 3 символ, а так же вывести

вырезку с 2 символа , длинной 5 символов.

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


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

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

текст без оформления, не содержат управляющих символов (с кодами

32)

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

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

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

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

Текстовые

Двоичные

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


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

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

Принцип сэндвича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); {дописывать данные}


Слайд 76 Работа с файлами
Особенности:
имя файла упоминается только в команде

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

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

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

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

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

сколько их – неизвестно. Записать в файл output.txt их

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


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


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

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


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


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

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

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

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

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

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

Удалить все сочетания ", короче," (Pos, Delete).
Перейти к

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


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

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

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

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


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

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

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;

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



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

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


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

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

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


end;

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

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

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

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


  • Имя файла: programmirovanie-na-yazyke-paskal.pptx
  • Количество просмотров: 159
  • Количество скачиваний: 0