Языки программирования
<<  Программирование на языке Паскаль Программирование на языке Паскаль  >>
Программирование на языке Паскаль
Программирование на языке Паскаль
Структура программы
Структура программы
Константа – постоянная величина, имеющая имя
Константа – постоянная величина, имеющая имя
Алфавит языка
Алфавит языка
Константы
Константы
Переменные
Переменные
Изменение значений переменной
Изменение значений переменной
Общая структура: <имя переменной> := <выражение>;
Общая структура: <имя переменной> := <выражение>;
Какие операторы неправильные
Какие операторы неправильные
Арифметические функции
Арифметические функции
Порядок выполнения операций
Порядок выполнения операций
Оператор ввода
Оператор ввода
Оператор вывода
Оператор вывода
Форматы вывода
Форматы вывода
Операторы языка Паскаль
Операторы языка Паскаль
Простые операторы (оператор присваивания, оператор безусловного
Простые операторы (оператор присваивания, оператор безусловного
Условный оператор IF
Условный оператор IF
Разветвляющиеся алгоритмы
Разветвляющиеся алгоритмы
Блок-схема
Блок-схема
Программа
Программа
Сложные условия
Сложные условия
Сложные условия
Сложные условия
Задача
Задача
Вариант 1. Алгоритм
Вариант 1. Алгоритм
Вариант 2. Алгоритм
Вариант 2. Алгоритм
Цикл – это многократное выполнение одинаковой последовательности
Цикл – это многократное выполнение одинаковой последовательности
Оператор цикла FOR
Оператор цикла FOR
Оператор цикла FOR
Оператор цикла FOR
Программа
Программа
Цикл FOR с уменьшением переменной
Цикл FOR с уменьшением переменной
Оператор цикла WHILE
Оператор цикла WHILE
Цикл с условием
Цикл с условием
Сколько раз выполняется цикл
Сколько раз выполняется цикл
Цикл WHILE
Цикл WHILE
Алгоритм
Алгоритм
Программа
Программа
Замена for на while и наоборот
Замена for на while и наоборот
Цикл с постусловием (цикл REPEAT)
Цикл с постусловием (цикл REPEAT)
Цикл с постусловием: алгоритм
Цикл с постусловием: алгоритм
Программа
Программа
Оператор выбора CASE
Оператор выбора CASE
Оператор выбора
Оператор выбора
Оператор выбора
Оператор выбора
Оператор выбора CASE
Оператор выбора CASE
Алгоритм
Алгоритм
Программа
Программа
Процедуры
Процедуры
Процедуры
Процедуры
Процедуры
Процедуры
Функции
Функции
Функции
Функции
Функции
Функции
Функции
Функции
Массивы
Массивы
Объявление массивов
Объявление массивов
Массивы
Массивы
Массивы
Массивы
Строковые величины
Строковые величины
Символьные строки
Символьные строки
Операции со строками
Операции со строками
Удаление и вставка
Удаление и вставка
Файлы
Файлы
Работа с файлами
Работа с файлами
Пример
Пример
Программа
Программа
Обработка текстовых данных
Обработка текстовых данных
Обработка текстовых данных
Обработка текстовых данных
Работа с файлами
Работа с файлами
Полный цикл обработки файла
Полный цикл обработки файла

Презентация: «Программирование на языке Паскаль». Автор: МОУ СОШ № 17. Файл: «Программирование на языке Паскаль.ppt». Размер zip-архива: 218 КБ.

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

содержание презентации «Программирование на языке Паскаль.ppt»
СлайдТекст
1 Программирование на языке Паскаль

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

2 Структура программы

Структура программы

Program <имя программы>; uses crt; const …;{константы} var …; {переменные} begin clrscr; … {основная программа} readkey; end.

{ Процедуры и функции }

Комментарии в фигурных скобках не обрабатываются

3 Константа – постоянная величина, имеющая имя

Константа – постоянная величина, имеющая имя

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

Основные понятия

4 Алфавит языка

Алфавит языка

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

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

Заглавные и строчные буквы не различаются

2. Разделители любой управляющий символ (коды от 0 до 31) пробел Комментарий – { }; * *

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

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

5 Константы

Константы

const i2 = 45; { целое число } pi = 3.14; { вещественное число } qq = 'Вася'; { строка символов } L = True; { логическая величина }

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

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

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

6 Переменные

Переменные

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

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

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

7 Изменение значений переменной

Изменение значений переменной

Пример: program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); end.

a

b

a

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

Оператор присваивания служит для изменения значения переменной.

5

?

5

?

7

5+2

5

28

7*4

8 Общая структура: <имя переменной> := <выражение>;

Общая структура: <имя переменной> := <выражение>;

Оператор присваивания

Арифметическое выражение может включать константы имена переменных знаки арифметических операций: + - * / div mod вызовы функций круглые скобки ( )

Умножение

Деление нацело

Деление

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

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

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

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.

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

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

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

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

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

Функции

Назначение

Тип результата

Abs

Абсолютное знание аргумента

Совпадает с типом X

Arctan (X)

Арктангенс аргумента

Веществ.

Cos (X)

Косинус аргумента

Веществ.

Exp (X)

Е

Веществ.

Frac (X)

Дробная часть числа

Веществ.

Ln (X)

Натуральный логарифм

Веществ.

Pi (X)

Значение величины pi= 3,14159265358979932385

Веществ.

Sin (x)

Синус аргумента

Веществ.

Sqr (X)

Квадрат аргумента

Совпадает с типом X

Sqrt (X)

Квадратный корень аргумента

Веществ.

11 Порядок выполнения операций

Порядок выполнения операций

Вычисление выражений в скобках умножение, деление, 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));

12 Оператор ввода

Оператор ввода

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

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

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

13 Оператор вывода

Оператор вывода

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

Writeln ( a ); { вывод значения переменной a и переход на новую строчку}

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

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

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

14 Форматы вывода

Форматы вывода

program qq; var i: integer; x: real; begin i := 15; writeln ( '>', i, '<' ); writeln ( '>', i:5, '<' ); x := 12.345678; writeln ( '>', x, '<' ); writeln ( '>', x:10, '<' ); writeln ( '>', x:7:2, '<' ); end.

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

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

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

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

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

16 Простые операторы (оператор присваивания, оператор безусловного

Простые операторы (оператор присваивания, оператор безусловного

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

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

17 Условный оператор IF

Условный оператор IF

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

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

18 Разветвляющиеся алгоритмы

Разветвляющиеся алгоритмы

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

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

19 Блок-схема

Блок-схема

Блок "решение"

Полная форма ветвления

20 Программа

Программа

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;

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

21 Сложные условия

Сложные условия

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

Равно

Не равно

22 Сложные условия

Сложные условия

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

23 Задача

Задача

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

Сложные условия

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

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

Начало

Ввод x

x >= 25?

x <= 40?

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

'Подходит'

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

Конец

Да

Нет

Да

Нет

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

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

Начало

Ввод x

X >= 25 и x <= 40?

'Подходит'

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

Нет

Да

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

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

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

Операторы циклы

27 Оператор цикла FOR

Оператор цикла FOR

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

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

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

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

28 Оператор цикла FOR

Оператор цикла FOR

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

29 Программа

Программа

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.

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

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

Конечное значение

30 Цикл 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

31 Оператор цикла WHILE

Оператор цикла WHILE

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

While <условие> do begin {тело цикла} end;

While (a<b) and (b<c) do begin {тело цикла} end;

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

32 Цикл с условием

Цикл с условием

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

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

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

33 Сколько раз выполняется цикл

Сколько раз выполняется цикл

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

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

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

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

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

2 раза a = 6

1 раз a = 10

0 раз a = 4

1 раз b = -2

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

34 Цикл WHILE

Цикл WHILE

Задача: Ввести целое число (<2000000) и определить число цифр в нем. Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".

n

count

123

0

12

1

1

2

0

3

35 Алгоритм

Алгоритм

Начало

Ввод n

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

count

Конец

Обнулить счетчик цифр

count := 0;

n <> 0?

Нет

Да

count := count + 1; n := n div 10;

36 Программа

Программа

, n1: integer;

n1 := n;

n1,

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.

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

37 Замена for на while и наоборот

Замена for на while и наоборот

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

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

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

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

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

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

38 Цикл с постусловием (цикл REPEAT)

Цикл с постусловием (цикл REPEAT)

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

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

39 Цикл с постусловием: алгоритм

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

Ввод n

n > 0?

Начало

Конец

Тело цикла

Нет

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

Да

Основной алгоритм

Блок "типовой процесс"

40 Программа

Программа

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

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

until n > 0;

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

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

42 Оператор выбора

Оператор выбора

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

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

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

43 Оператор выбора

Оператор выбора

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

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

Перечисление

Диапазон

Смесь

44 Оператор выбора CASE

Оператор выбора CASE

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

45 Алгоритм

Алгоритм

Начало

Конец

Ввод M

Да

M = 1?

Оператор выбора

D := 31;

Нет

Да

M = 2?

D := 28;

Нет

Да

M = 12?

D := 31;

Нет

Вывод D

Ошибка

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

46 Программа

Программа

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.

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

47 Процедуры

Процедуры

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

48 Процедуры

Процедуры

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

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

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

49 Процедуры

Процедуры

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

50 Функции

Функции

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

51 Функции

Функции

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

52 Функции

Функции

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

53 Функции

Функции

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

54 Массивы

Массивы

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

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

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

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

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

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

const N=5;

N

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

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

Начальный индекс

Имя

56 Массивы

Массивы

Объявление: Ввод с клавиатуры: Поэлементные операции:

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;

57 Массивы

Массивы

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

58 Строковые величины

Строковые величины

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

var s: string[20];

59 Символьные строки

Символьные строки

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

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

Length(s)

writeln(s);

Вывод строки

60 Операции со строками

Операции со строками

Запись нового значения:

Объединение: добавить одну строку в конец другой.

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

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

'345678'

'456'

var s, s1, s2: string;

s := 'Вася';

s1 := 'Привет'; s2 := 'Вася'; s := s1 + ', ' + s2 + '!';

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

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

6 штук

61 Удаление и вставка

Удаление и вставка

Удаление части строки:

s := '123456789'; Delete ( s, 3, 6 );

'123456789'

'129'

Вставка в строку:

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

'12ABC3456789'

'12ABQC3456789'

6 штук

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

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

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

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

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

62 Файлы

Файлы

Файлы

Текстовые

Двоичные

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

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

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

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

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

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

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

63 Работа с файлами

Работа с файлами

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

64 Пример

Пример

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

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

65 Программа

Программа

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

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

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)

66 Обработка текстовых данных

Обработка текстовых данных

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

67 Обработка текстовых данных

Обработка текстовых данных

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

Repeat i := pos(', короче,', s); if i <> 0 then delete(s, i, 9); until i = 0;

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

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

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

68 Работа с файлами

Работа с файлами

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;

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

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

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

69 Полный цикл обработки файла

Полный цикл обработки файла

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;

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

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

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

«Программирование на языке Паскаль»
http://900igr.net/prezentacija/informatika/programmirovanie-na-jazyke-paskal-261610.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Языки программирования > Программирование на языке Паскаль