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


1 Стандартные модули Паскаля

Содержание

Стандартные модули ПаскаляSystem Crt Graph

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

Слайд 1
Стандартные модули Паскаля

Стандартные модули Паскаля

Слайд 2Стандартные модули Паскаля
System

Crt

Graph

Стандартные модули ПаскаляSystem  Crt  Graph

Слайд 3Модуль System
содержит базовые средства языка, которые поддерживают ввод-вывод, работу

со строками, операции с плавающей точкой и динамическое распределение памяти


содержит все стандартные и встроенные процедуры, функции, константы и переменные Паскаля
автоматически используется во всех программах, его не требуется указывать в операторе uses
Модуль System содержит базовые средства языка, которые поддерживают ввод-вывод, работу со строками, операции с плавающей точкой и

Слайд 4Примеры переменных System
var HeapOrg: Pointer
Указывает на конец динамической памяти.
var HeapPtr:

Pointer
Указывает на начало динамической памяти.
var InOutRes: Integer
Содержит код последней операции

ввода-вывода. Его можно получить с помощью вызова функции IOResult.
var Input: Text
Назначает стандартный файл ввода.
var RandSeed: Longint
Содержит начальное значение встроенного генератора случайных чисел.
Примеры переменных Systemvar HeapOrg: Pointer	Указывает на конец динамической памяти.var HeapPtr: Pointer	Указывает на начало динамической памяти.var InOutRes: Integer	Содержит

Слайд 5Примеры подпрограмм System
var RandSeed: Longint
function Abs(x)
procedure Assign(var f; Name)
procedure Continue
function

Cоpy(s: String; Indx: Integer; Count: Integer): String
procedure Dec(var x:

тип> [; n: Longint])
function Eof[ (var f) ]: Boolean
procedure Exit
function Exp(x: Real): Real
procedure Моvе(var Src, Dst; Count: Word)
procedure MkDir(s: String)
procedure Randomize
procedure Writeln([var f: Text;] v1, [,v2, ..., vn] )
Примеры подпрограмм Systemvar RandSeed: Longintfunction Abs(x)procedure Assign(var f; Name)procedure Continuefunction Cоpy(s: String; Indx: Integer; Count: Integer): Stringprocedure

Слайд 6Модуль Crt
позволяет:
выполнять вывод в заданное место экрана заданным цветом

символа и фона;
открывать на экране окна прямоугольной формы и выполнять

вывод в пределах этих окон;
очищать экран, окно, строку и ее часть;
обрабатывать ввод с клавиатуры;
управлять встроенным динамиком.
Модуль Crt позволяет:выполнять вывод в заданное место экрана заданным цветом символа и фона;открывать на экране окна прямоугольной

Слайд 7Текстовый режим монитора

Текстовый режим монитора

Слайд 8Константы цветов текста

Константы цветов текста

Слайд 9Подпрограммы модуля Crt
procedure ClrScr;
procedure Delay(Msec: word)
procedure GoToXY(X, Y: Byte)
function

KeyPressed: Boolean
procedure NoSound
function ReadKey: Char
function Sound(Herz: Word)
procedure TextBackGroud(Color: byte)
procedure TextColor(Color:

Byte)
function WhereX: Byte
function WhereY: Byte
procedure Window(X1, Y1, X2, Y2: Byte)

Подпрограммы модуля Crt procedure ClrScr;procedure Delay(Msec: word)procedure GoToXY(X, Y: Byte)function KeyPressed: Booleanprocedure NoSoundfunction ReadKey: Charfunction Sound(Herz: Word)procedure

Слайд 10Модуль Graph
Модуль (файл Graph.tpu) обеспечивает работу с экраном в

графическом режиме :
вывод линий и геометрических фигур заданным цветом и

стилем ;
закрашивание областей заданным цветом и шаблоном;
вывод текста различным шрифтом, заданного размера и направления;
определение окон и отсечение по их границе;
использование графических спрайтов и работу с графическими страницами.
Модуль Graph Модуль (файл Graph.tpu) обеспечивает работу с экраном в графическом режиме :вывод линий и геометрических фигур

Слайд 11Текстовый и графический режимы.
В текстовом режиме минимальным объектом, отображаемым на

экране, является символ (80 символов по горизонтали и 25 символов

по вертикали, то есть всего 2000 визуальных объектов);

Экран в графическом режиме представляется в виде совокупности точек — пикселов (pixel, сокращение от picture element). Цвет каждого пиксела можно задавать отдельно.

Количество точек по горизонтали и вертикали (разрешение экрана) и количество доступных цветов зависят от графического режима. Графический режим устанавливается с помощью служебной программы — графического драйвера расширение .bgi имени файла (EGAVGA.BGI) (Видеоадаптера)
Режим устанавливается при инициализации графики либо автоматически, либо программистом. Самый "мощный" режим, поддерживаемый модулем Graph, — 640х480 точек, 16 цветов. Модуль Graph обеспечивает (307 200 графических элементов)
Размер пикселя можно приблизительно получить, разделив размер экрана на разрешение. Геометрические размеры пикселя определяют степень детализации изображения, его качество.

Текстовый и графический режимы.В текстовом режиме минимальным объектом, отображаемым на экране, является символ (80 символов по горизонтали

Слайд 12Графические координаты.
Допустимый диапазон изменения графических координат составляет [0,rx-1] для х-координаты

и [0,ry-1] для y-координаты, где rx – количество пикселей на

экране по горизонтали, а ry – количество пикселей по вертикали
Точкой отсчета является верхний левый угол экрана. Значения х-координаты отсчитываются слева направо, а y-координаты – сверху вниз. Последнее отличает графические координаты от обычных декартовых координат, принятых в математике :
1. Графические координаты принимают только целочисленные значения.
2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения).
3. Графическая координата y отсчитывается сверху вниз.
Декартовы координаты точки (x,y) для отображения ее на экране следует пересчитать в графические (xg,yg) по формулам
Графические координаты правого нижнего угла экрана равны (GetMaxX, GetMaxY). Функции GetMaxX и GetMaxY, возвращающие наибольший номер пикселя по горизонтали и по вертикали соответственно.




Графические координаты задают положение точки на экране дисплея.
Начало координат находится в левом верхнем углу экрана и имеет координаты (0, 0).

xg=|sx * x|+dx;
yg=ry-|sy * y|-dy,
где |x| - целая часть х; sx и sy – масштабные множители, выбираемые из условия
rx=|sx * xmax|+1, (640)
ry=|sy * ymax|+1. (480)

Графические координаты.Допустимый диапазон изменения графических координат составляет [0,rx-1] для х-координаты и [0,ry-1] для y-координаты, где rx –

Слайд 13Использование графики
подключение модуля Graph;
перевод экрана в графический режим;
установка параметров

изображения;
вывод изображения;
возврат в текстовый режим.

Использование графики подключение модуля Graph;перевод экрана в графический режим;установка параметров изображения;вывод изображения;возврат в текстовый режим.

Слайд 14Переключение между текстовым и графическим режимами
Переключение в графический режим и

работа в нем реализованы в Турбо Паскале в виде набора

процедур, находящихся в специальном модуле graph.tpu. Работа этого модуля основана на использовании так называемого графического интерфейса Борланд (BGI – Borland Graphics Interface), специализированной графической библиотеки:
Модуль Graph должен явно подключаться к программе с помощью оператора использования Uses, записываемого после заголовка программы:
Program Grafics;
Uses Graph;
Переключение в графический режим работы дисплея выполняется вызовом процедуры InitGraph из модуля Graph.

InitGraph(var gd:Integer; var gm:Integer;путь_драйвер:string)

Первый параметр в этой процедуре задает тип видеоадаптера, второй определяет режим. И параметр gd, и параметр gm являются параметрами-переменными (var). Параметр "путь_драйвер" определяет путь доступа к каталогу (маршрут), в котором находятся графические драйверы.

Переключение между текстовым и  графическим режимамиПереключение в графический режим и работа в нем реализованы в Турбо

Слайд 15 Процедура InitGraph инициализирует графическую систему и переводит аппаратуру в графический

режим.

Примеры:

Program Grafics; Program Grafics;
Uses graph; Uses graph;
Var gd,gm:Integer; Var gd,gm:Integer;
Begin Begin
gd:=9; gm:=1; gd:=vga; gm:=VGALo;
InitGraph(gd,gm,' ');

InitGraph(gd,gm,'c:\tp\bgi')
. . . . . . . . . .
Процедура InitGraph инициализирует графическую систему и переводит аппаратуру в графический режим.Примеры:Program Grafics;		Program Grafics;Uses graph;			Uses graph;Var gd,gm:Integer;		Var gd,gm:Integer;Begin				Begingd:=9;

Слайд 16 Переключение в графический режим (инициализация графического режима) обычно сопровождается

обработкой возможных ошибок инициализации.
Procedure Graphinterface;
Var
driver,

mode, error:Integer; CloseGraph
s:String;
Begin
driver:=detect;
s:=' ';
Initgraph(driver,mode,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;


Uses Crt,Graph;
Var Gd, Gm: integer;
Begin
-----
Gd:=detect;
InitGraph(Gd, Gm, '' );
……
Repeat Until Keypressed;
CloseGraph;

End.
выгружает драйвер из памяти и восстанавливает предыдущий видеорежим.

Переключение в графический режим (инициализация графического режима) обычно сопровождается обработкой возможных ошибок инициализации.Procedure Graphinterface;  Var

Слайд 17Переключение между текстовым и графическим режимами
Процедура RestoreCrtMode перезагружает первоначальный экранный

режим перед инициализацией графики.
Процедура RestoreCrtMode и процедура SetGraphMode позволяют переключаться

между текстовым и графическим режимами, не закрывая графический режим.
Uses Crt,Graph;
Var Gd, Gm: integer;
Begin
Gd:=detect;
InitGraph(Gd, Gm, '');
Outtext('Для виходу з графічного режиму нажміть Enter');
Readln;
RestorCrtMode;
Clrscr;
Writeln('Тепер ви у текстовому режимі');
Write('Для переходу у графічний нажміть Enter ');
Readln;
SetGraphMode(GetGraphMode);
OuttextXY(0,0,' Ви знову у графічному режимі');
Readln;
CloseGraph
End.
RestorCrtMode – возвращает екран в начальное состояние , которое было до инициализации графики.
SetGraphMode (<режим>) - устанавливает графический режим и очищает екран. 
GetGraphMode - устанавливает поточним тот графический режим, который был установлений процедурой InitGraph.



Переключение между текстовым и графическим режимамиПроцедура RestoreCrtMode перезагружает первоначальный экранный режим перед инициализацией графики.Процедура RestoreCrtMode и процедура

Слайд 18Модуль Graph
Модуль Graph Турбо Паскаля содержит около пятидесяти различных

процедур и функций, предназначенных для работы с графическим экраном. В

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

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

Другая группа процедур предназначена для управления графическим режимом.
закрашивание областей заданным цветом и шаблоном;
вывод текста различным шрифтом, заданного размера и направления;
определение окон и отсечение по их границе;


Модуль Graph Модуль Graph Турбо Паскаля содержит около пятидесяти различных процедур и функций, предназначенных для работы с

Слайд 19Примеры констант модуля Graph
Константы образцов закрашивания
Константы шрифтов
Константы стиля линии

Примеры констант модуля Graph Константы образцов закрашиванияКонстанты шрифтовКонстанты стиля линии

Слайд 20Примеры подпрограмм модуля Graph
procedure Arс(Х, Y: Integer; Angle1, Angle2, R:

Word)
procedure Circlе(Х, Y: Integer; R: Word)
procedure CloseGraph
procedure FillPoly(N : Word;

var S)
function GetColor: Word
function GetMaxX: Integer
function GraphResult: Integer
procedure InitGraph(var GrDriver: Integer; var Mode: Integer; Path : String)
procedure Line(X1, Y1, X2, Y2: Integer)
procedure OutTextXY(Х, Y: Integer; S: String)
procedure PutImage(X, Y: Integer; var Mass; Oper: Word)
procedure Rectangle(X1, Y1, X2, X2: Integer)
procedure SetBkColor(Color: Word)
procedure SetColor(Color: Word)
procedure SetLineStyle(SType: Word; Pattern: Word; S: Word)
procedure SetVisualPage(Page: Word)
Примеры подпрограмм модуля Graphprocedure Arс(Х, Y: Integer; Angle1, Angle2, R: Word)procedure Circlе(Х, Y: Integer; R: Word)procedure CloseGraphprocedure

Слайд 21Пример
uses Graph;
const grDriver : integer = Detect;

pole = 20;
var grMode

: integer;
maxX, maxY : integer;
begin
{ -----------------------------инициализация графики ----- }
InitGraph(grDriver, grMode, 'd:\tp\bgi');
if GraphResult <> GrOK then begin
writeln('Ошибка графики: ', GraphErrorMsg(ErrCode));
exit end;

The end

pole

{ ------------------------------------------ вывод текста ----- }
SetColor(Cyan);
SetTextStyle(GothicFont, HorizDir, 4);
OuttextXY(pole, pole, 'The end'); readln;
CloseGraph
end.

{ ------------------------------------------ вывод линий ----- }
maxX := GetMaxX; maxY := GetMaxY;
Line(pole, maxY div 2, maxX - pole, maxY div 2);
Line(maxX div 2, pole, maxX div 2, maxY - pole);

Пример uses Graph; 		const grDriver : integer = Detect;     pole = 20;var

Слайд 22Пример

{Заполнение экрана отрезками случайной длины}

Uses Crt,Graph;
Var Gd, Gm: integer;
Begin
Gd:=detect;
InitGraph(Gd,

Gm, '');
Randomize;
Repeat
Line(random(640),random(200),random(640),random(200));

Until Keypressed;
Delay(1000);
CloseGraph
End.
Пример {Заполнение экрана отрезками случайной длины}Uses Crt,Graph;Var Gd, Gm: integer;Begin	Gd:=detect;	InitGraph(Gd, Gm, ''); 	Randomize;  Repeat

Слайд 23Точки и линии на экране
Процедура PutPixel
Рисует точку на экране в

заданном месте заданным цветом.
Описание: PutPixel (x, y, цвет).
Примечания:

Выводит точку на экране с координатами (x, y) заданным цветом (параметр "цвет").

Процедура Line
рисует прямую линию из точки (x1, y1) в точку (x2, y2).
Описание: Line (x1, y1, x2, y2).
Примечания: Толщина и тип линии задаются процедурой SetLineStyle, а цвет линии устанавливается процедурой SetColor.

Точки и линии на экранеПроцедура PutPixelРисует точку на экране в заданном месте заданным цветом.Описание: PutPixel (x, y,

Слайд 24Вывод изображений в относительных координатах
Для этого используется понятие "текущий указатель"

Текущий указатель (CP – Current Pointer) используется во многих графических

системах. Понятие СР аналогично понятию курсора для текстового режима, за исключением того, что текущий указатель невидим.

Процедура MoveTo
Перемещает текущий графический указатель (СР) в точку (x, y).
Описание: MoveTo(x, y).

Процедура LineTo
Описание: LineTo (x, y).
Рисует прямую линию, толщина и тип которой задаются процедурой SetLineStyle, а цвет задается процедурой SetColor.
Примечания: MoveTo (100,100); LineTo (200, 200) эквивалентно Line (100, 100, 200, 200), второй метод не изменяет значения текущего указателя.



Вывод изображений в относительных координатахДля этого используется понятие

Слайд 25Алгоритм побудови графіка y=f(x)
Задати початкове значення відрізка a,b.
Задати кількість

точок графіка n.
Обчислити крок змінення по осі х: h=(b-a)/n.
Обчислити масиви

значень х і у:
For i:=1 to n do
Begin
X[i]:=a+h*(i-1);
Y[i]:=<за формулою>
End;
Знайти крок в пікселях по осі х.
deltax := round(GetmaxX/(x[n]- x[1]));
Крок в пікселях по осі y:
знайти ymax, ymin
deltay=round(GetmaxY/(ymax-ymin));
Побудувати графік:
встановити курсор у точку з координатами (x[1],y[1]) в пікселях (MoveTo(x[1],y[1])).
lineto(x[i],y[i]) провести лінію від поточної точки в задану.
Алгоритм побудови графіка y=f(x)Задати початкове значення відрізка a,b. Задати кількість точок графіка n.Обчислити крок змінення по осі

Слайд 26String
Структурный тип данных –Строка

String Структурный тип данных –Строка

Слайд 27String СТРОКА

’Київ’ ’Маs’  ’ЗТВ-61’

String


Type
Strn = String[60];
Var
st1, st2 : Strn;

st : String;

Var
st1, st2 : String[60];

st : String;

Мах длина– 255 символов. +1 один байт

елемент масива: st[1], st[2].




String  СТРОКА’Київ’ ’Маs’  ’ЗТВ-61’StringType	Strn = String[60];Var	st1, st2 : Strn;  st     : String;Var	st1,

Слайд 28Ввод – вывод строк

st:=’. . . . . . .

.’
st:=’’
Readln ( st );
For i:=1 To 10 Do Read (

st[i] );
где st[i] – отдельный символ строки

Аналогично можно выполнить вывод строк:
Writeln ( st );
For i:=1 To 10 Do Write ( st[i] );

Ввод – вывод строкst:=’. . . . . . . .’st:=’’Readln ( st );For i:=1 To 10

Слайд 29Выражения типа Строка

операция сцепления: ’+’
’Т’+’В’+’–61’=’ТВ–61’
st1:=’ТВ–61';
st2:=’група ’+st1; - ‘ група

ТВ–61’

Операции отношения (=,,>, ’AKKORD’) = True

'TOM' > 'MIKE'

, так как 'T' > 'M'
'LOOK' < 'LOPE', так как 'P' > 'O'
'KING' < 'KINGDOM', так как нет символа = 0, 'D' > 0

сортировка



Выражения типа Строкаоперация сцепления: ’+’’Т’+’В’+’–61’=’ТВ–61’st1:=’ТВ–61';st2:=’група ’+st1;  - ‘ група ТВ–61’Операции отношения (=,,>, ’AKKORD’) = True'TOM' >

Слайд 30Выражения типа Строка

операция сцепления: ’+’
’Т’+’В’+’–61’=’ТВ–61’
st1:=’ТВ–61';
st2:=’група ’+st1; - ‘ група

ТВ–61’

Операции отношения (=,,>, ’AKKORD’) = True

'TOM' > 'MIKE'

, так как 'T' > 'M'
'LOOK' < 'LOPE', так как 'P' > 'O'
'KING' < 'KINGDOM', так как нет символа = 0, 'D' > 0

сортировка



Выражения типа Строкаоперация сцепления: ’+’’Т’+’В’+’–61’=’ТВ–61’st1:=’ТВ–61';st2:=’група ’+st1;  - ‘ група ТВ–61’Операции отношения (=,,>, ’AKKORD’) = True'TOM' >

Слайд 31Процедуры для обработки строк

Delete(St,Pos,N) – удаление N символов St, начиная

с позиции Pos.
St=’група’
Delete(St,3,1)
Результат: ’грпа’

Insert(St1,St2,Pos) – вставка строки St1 в St2, начиная

с позиции Pos.
St2=’трода’,
St1=’ян’
Insert(St1,St2,4)
Результат: ’троянда’
Insert(’ян’,St2,4)
Результат: ’троянда’



Процедуры для обработки строкDelete(St,Pos,N) – удаление N символов St, начиная с позиции Pos.		St=’група’		Delete(St,3,1)Результат:	’грпа’Insert(St1,St2,Pos) – вставка строки St1

Слайд 32Процедуры для обработки строк

Str(R, St) – преобразование числового значения величины

R в строку St.

Значение R 1500 12056
str(R:6,St) str(–R:3,St)
Результат

St: ’ 1500’ ’–12056’

Val (St, R, Cod) – преобразование значения St на величину целого или действытельного типа в зависимости от описания R

Значение St: ’1500’ ’15.2E+02‘ ’15.2A+02‘
Val(St,R,Cod) Val(St,R,Cod) Val(St,R,Cod)
Результат: 1500 Cod=0 1520 Cod=0 ? Cod=5



Процедуры для обработки строкStr(R, St) – преобразование числового значения величины R в строку St.Значение R

Слайд 33Функции для обработки строк

Length (St) – определяет текущую длину строки;
Pos

(St1, St2) – позиция первого появ. St1 в St2;
Сopy(St, Pos,

N) – выделяет из St строку длиной N символов, начиная с позиции Pos;

St1:=’целочисловой’;
St2:=Copy(St1,5,5);
Результат: St2=’число’

Concat (St1, St2, ..., StN) – выполняет сцепление строк аналогично операции + ;
UpCase (Ch) – преобразует строчную букву в прописную.


Функции для обработки строкLength (St) – определяет текущую длину строки;Pos (St1, St2) – позиция первого появ. St1

Слайд 34Фрагменти програм
Var
st : string;

i, k : integer;
 
Приклад 1.
{ Підрахувати кількість літер

а у рядку.}
-------------------------------------
k:=0;
for i:=1 to length(st) do
if st [i] =’a’ then k:=k+1;
------------------------------------
 
Приклад 2.
{ Замінити ‘раз’ на ‘роз’}
-------------------------------------
While Pos(‘раз’, st) <> 0 do
St [Pos(‘раз’, st) +1]:=’o’;
 
Приклад 3.
{ підрахувати кількість слів у рядку (між словами пробіл, в кінці крапка)}
-------------------------------------
k:=0;
for i:=1 to length(st)-1 do
if (st[i] <>’ ‘ ) and ((st[i+1] = ‘ ‘) or (st[i+1] =’.’)) then k:=k+1;
-------------------------------------


Фрагменти програмVar    st : string;    i, k : integer; Приклад 1.{ Підрахувати

Слайд 35Фрагменти програм
Var
st : string;

i, k : integer;

Приклад 4.
{ підрахувати кількість слів

у рядку (між словами пробіл, в кінці крапка), які починаються на а}
-------------------------------------
st:=’ ‘ + st;
k:=0;
for i:=1 to length(st)-1 do
if (st[i] = ’ ‘ ) and ((st[i+1] = ‘a ‘) or (st[i+1] = ‘A ‘)) then k:=k+1;
-------------------------------------
 
Приклад 5.
{ видалити пробіли на початку рядку }
-------------------------------------
While st[1] = ‘ ‘ do Delete (st, 1, 1);
-------------------------------------
 
Приклад 6.
{ видалити зайві пробіли між словами}
-------------------------------------
While Pos (“ “, st) <> 0 do Delete (st, Pos (“ “, st), 1);
-------------------------------------


Фрагменти програмVar    st : string;    i, k : integer;Приклад 4.{ підрахувати

Слайд 36Фрагменти програм
Var
st : string;

i, k : integer;

Приклад 7.
{Поділити рядок на слова}
-------------------------------------
st:=’

слово його довжина’;
i:=1;
Repeat
k:=1;
while (i <= length(st)) and (st[i] <> ‘ ‘ ) do
begin
i:=i+1;
k:=k+1
end;
writeln (Copy(st, i-(k-1), k-1)),‘ ‘, k-1); {k-1 – довжина слова }
{i-(k-1) – початoк слова}
i:=i+1
Until i>length(st);
Протокол роботи:
слово 5
його 4
довжина 7


Фрагменти програмVar    st : string;    i, k : integer;Приклад 7.{Поділити рядок

Слайд 37Фрагменти програм
Var
st : string;

i, k : integer;

Приклад 8.
{ замінити слово точка

на слово крапка}
-------------------------------------
k:= Pos (‘точка’, st);
while k<>0 do
begin
Delete(st, k,5);
Insert(‘крапка’,st,k);
k:= Pos (‘точка’, st);
end;
-------------------------------------
 
Приклад 9.
{вивести перші входження літер}
-------------------------------------
st1 := ‘’;
for i:=1 to length(st) do
if Pos( st[ i ], st1) = 0 then st1:=st1+st[i];
writeln(st1);
-------------------------------------


Фрагменти програмVar    st : string;    i, k : integer;Приклад 8.{ замінити

Слайд 38Фрагменти програм
Рядок можна описати як масив слів, наприклад:
Var

st : array[1..5] of string [10];
В цьому випадку окреме

слово позначається - st [ i ], а окремий символ - st [ i, j ] , де j – індекс символа у слові.
 
Приклад 12.
{підрахувати кількість літер а у кожному слові}
-------------------------------------
 
for i:=1 to 5 do read(st[i]);
for i:=1 to 5 do
begin
k:=0;
for j:=1 to length ( st[ i ] ) do
if st [ i, j ] =’a’ then k:=k+1;
writeln ( ‘ у слові ’, st[ i ], ’ ‘, k, ’ літер а’);
end;
-------------------------------------
Рядок можна описати як масив символів, наприклад:
Var
st : array[1..10] of char;
і обробляти його за відповідними правилами.


Фрагменти програмРядок можна описати як масив слів, наприклад:Var   st : array[1..5] of string [10];В цьому

Слайд 39Павловская Т.А. (СПбГУИТМО)
Параметы строки
Строки можно передавать:
по значению;
на место параметра-константы.
по

ссылке

type s20 = string[20];
var s1 : string[40];
s2 : s20;
s3 :

s20;
procedure P(const x : s20; y : string; var z : s20);
...
begin ... P(s2, s1, s3); ...
end.
Павловская Т.А. (СПбГУИТМО)Параметы строки Строки можно передавать:по значению;на место параметра-константы.по ссылкеtype s20 = string[20];var	s1 : string[40]; 	s2

Слайд 40Павловская Т.А. (СПбГУИТМО)
ПРИКЛАД ЗАВДАННЯ ПРОГРАМИ
Тема: „Рядки”,.
Завдання: дано: послідовність, яка вміщує

від 1 до 30 слів, у кожному з яких від

1 до 5 рядкових латинських букв; поміж сусідніми словами кома, за останнім словом – крапка. Надрукувати: усі різні слова та показати для кожного з них кількість його входжень у послідовність.
Тема: „Множини”.
Завдання: вивести в алфавітному порядку усі рядкові голосні.

Павловская Т.А. (СПбГУИТМО)ПРИКЛАД ЗАВДАННЯ ПРОГРАМИТема: „Рядки”,.Завдання: дано: послідовність, яка вміщує від 1 до 30 слів, у кожному

Слайд 41Павловская Т.А. (СПбГУИТМО)
ПРИКЛАД ПРОГРАМИ

Програма:
PROGRAM LAB2;
uses crt;
type st=array[1..30] of string[5];
var

str:string;
mas:st;
kol:integer;
 
PROCEDURE VVOD(var stroka:string);
BEGIN
writeln('Vvedite

stroku');
readln(str);
END;
 
PROCEDURE MAS_1(str:string; var mas:st);
var i,j:integer;
BEGIN
i:=0;
j:=1;
REPEAT
i:=i+1;
if (str[i]<>',') and (str[i]<>'.') then
mas[j]:=mas[j]+str[i]
else
j:=j+1;
UNTIL str[i]='.';
kol:=j-1;
END;
 

PROCEDURE MAS_2 (str:string;mas:st);
var i,n:integer;
BEGIN
FOR i:=1 to kol do
BEGIN
n:=0;
WHILE pos(mas[i],str)<>0 do
BEGIN
n:=n+1;
str[pos(mas[i],str)]:='';
END;
if n<>0 then
writeln(mas[i],' - ',n);
END;
END;
 
PROCEDURE GOLOSNI(str:string);
type mn=set of char;
var mn1,mn2:mn;
i:integer;
ch:char;
BEGIN
mn1:=['e','y','u','i','o','a'];
mn2:=[];
FOR i:=1 to length(str) do
if str[i] in mn1 then
include(mn2,str[i]);
FOR ch:='a' to 'z' do
if ch in mn2 then
write(ch);
END.
 
BEGIN
clrscr;
VVOD(str);
MAS_1(str,mas);
MAS_2(str;mas);
GOLOSNI(str);
readln;
END.
 


Павловская Т.А. (СПбГУИТМО)ПРИКЛАД ПРОГРАМИПрограма:PROGRAM  LAB2;uses crt;type st=array[1..30] of string[5];var str:string;  mas:st;  kol:integer; PROCEDURE VVOD(var stroka:string);

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

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

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

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

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


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

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