Среда языка программирования Pascal ABC

Автор работы: Пользователь скрыл имя, 11 Октября 2013 в 07:27, контрольная работа

Описание работы

Первая версия языка Паскаль была разработана в 1968 году. Ее разработчиком является швейцарский ученый Никлаус Вирт. Свое название язык получил в честь создателя первой механической вычислительной машины француза Блеза Паскаля. На основе языка Паскаль в 1985 г. фирма Borland выпустила версию Turbo Pascal версии 3.0. С этого времени язык Паскаль используется во всем мире в учебных заведениях в качестве первого изучаемого языка программирования.
Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к объектно-ориентированному программированию.

Файлы: 1 файл

Язык программирования Pascal ABC.doc

— 401.50 Кб (Скачать файл)

Операция сцепления (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные. Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false).

Пример.

Var S1:string[5]; S2:string[6];S3:string[11];

S1:=’инфор’;

S2:=’матика’;

S3:=S1+S3; {получим строку: ’информатика’}

Ввод и вывод строковых  данных осуществляется с помощью  стандартных процедур ввода и  вывода. Обращение к отдельному символу строки выполняется с помощью индекса (номера) символа в квадратных скобках.

Строковые функции

Пусть S, S1, S2, sk - выражения строкового типа; poz, n, code - целого типа.

  1. Length(S): integer; - вычисляет длину строки S в символах;
  2. Concat(s1, s2,…,sk):string; - выполняет объединение строк s1, s2, …sk;
  3. Copy(s, poz, n):string: - выделяет из строки S подстроку , начиная с позиции pozл длиной n;
  4. Pos(s1, s2):byte; - отыскивает первое появление в строке s2  подстроки s1. Результатом работы этой функции становится номер (индекс) позиции в строке s2, с которой начинается строка s1. Если результат равен 0, то подстрока не найдена.

Строковые процедуры

  1. Delete(S, poz, n); - удаляет из строки S n символов, начиная с позиции poz;
  2. Insert(S1, S2, poz): - вставляет строку S1  в строку S2, начиная с позиции poz;
  3. Str(v, S):- преобразует числовое значение  v в строковое представление; если v – целое число, то может быть указано общее число символов 1, например str(v:1:s); если v  принимает вещественное значение, то дополнительно может быть указано число m символов после десятичной точки, например str(v:1:m:s);
  4. Val(S,v,code); - преобразует строку S в число,  и переменной v присваивается это числоn; тип числа зависит от типа переменной v – целый или вещественный. Если такое преобразование выполнено успешно, то переменной code присваивается значение 0, в противном случае  code содержит номер позиции первого ошибочного символа.

Пример.

Пусть st - строка типа string[6] и st=’klmn’, S – строка string[5]. x - переменная целого типа, fs – строкового типа.

Функция

Результат

X:=Leght(st)

4

Fs:=copy(st,2,2)

‘lm’

X:=pos(‘mn’,st)

3

Процедура

Результат

Delete(st,1,1)

‘lmn’

Insert(‘ab’,st,1)

‘abklm’

Str(15,s)

‘15’

Val(‘-3’, x, code)

-3  0


 

Пример. Дано слово ’золотопромышленник’, из которого постройте слова ’золото’, ’промышленник’, ’пленник’, ’мышление’, используя процедуры и функции обработки строк.

Var S, rs1, rs2, rs3, rs4, temp:string;

Begin

S:= ’золотопромышленник’;

Rs1:=Copy(s,1,6);   {выделим слово ‘золото’}

Rs2:=Copy(s,length(rsl)+1,length(s)-length(rsl));{слово ‘промышленник’}

Temp:=S;

Delete(temp,1,12);  {оставим часть слова ’ленник’}

Rs3:=S[7]+temp;    {построим слово ‘пленник’}

Rs4:=S;

Delete(rs4,1,9);       {оставим часть слова ‘мышленник’)

Delete(rs4,7,1);       {оставим часть слова ‘мышленик’}

Rs4[length(rs4)]:=rs4[5];   {заменим ‘к’ на ‘е’, получим ‘мышление’}

Writeln(rs1,’’,rs2,’’,rs3,’’,rs4,);

End.

Пример. Дан текст, состоящий из слов, разделенных одним пробелом. Удалите все вхождения данного слова в строку.

Var K, M:byte; Sl, Wr:string;

Begin

Writeln(‘введите строку текста из слов’); Readln(Sl);

Sl:=’ ’+ Sl +’ ’;

Writeln(‘введите удаляемое слово’); Readln(Wr);

Wr:=’ ‘ + Wr + ‘ ‘ ;

K:=length(Wr);       {определяем длину слова}

Repeat

M:=pos(Wr,Sl);      {номер позиции удаляемого слова}

If (M<>0) then delete(Sl,M + 1,K-1) {удаляем слово из текста}

Until M:=0

Writeln(Sl)        

End.

Пример. Дана слово. Необходимо определить, является ли это слово палиндромом. (потоп, Анна)

Var  D, G:byte; Tet:string; F:boolean;

Begin

Writeln(‘введите слово’); Readln(Tet);

D:=length(Tet);     {определим длину слова}

F:=true;     {признак, фиксирующий, что слово является палиндромом}

G:= D div 2;

While G>=1 do Begin

If Tet[G]<>Tet[d – G + 1] then F:=false;

G:=G – 1

End;

If F Then Writeln(‘ слово является палиндромом’)

Else Writeln(‘слово не является палиндромом’)

End.

Задания для практической работы.

Составить программы на языке Pascal.

  1. Подсчитать, сколько раз в заданном тексте встречается заданный символ.
  2. Заменить в заданном тексте буквосочетание "min" на "ma".
  3. В заданном тексте подсчитать общее количество букв "x" и "y".
  4. Удвоить каждую букву в заданном тексте.
  5. Вычеркнуть из заданного слова все буквы "а".
  6. Заданную строку А переписать в обратном порядке в строку В.
  7. В заданной последовательности слов найти все слова, начинающиеся с заданной приставки.
  8. Найти самое длинное и самое короткое слово в заданном предложении.
  9. В заданном тексте подсчитать наибольшее количество подряд идущих пробелов.

 

 

 

11. Использование графических возможностей языка программирования

 

При работе в графическом  режиме изображение на экране строится из точек (пиксель). Каждый пиксель на экране имеет координаты (X,Y), которые образуются номерами столбцов (Х) и строк (Y). Нумерация начинается в верхнем левом углу. Именно в этом углу расположен пиксель с координатами (0,0). Координата Х растет вправо, координата Y - вниз.

Любая графическая картинка формируется из простых геометрических фигур. Это точки, отрезки  (линии), прямоугольники, окружности и т.д. Графические  координаты принимают только целочисленные  значения.

Рисование различных  геометрических фигур осуществляется с помощью специальных стандартных команд (процедур). Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAbc, который описывается в разделе описаний с помощью зарезервированного слова Uses. В модуле GraphAbc с помощью команды setwindowsize(X,Y) можно задавать  размеры графического окна. По умолчанию графическое окно будет принимать размеры экрана компьютера

Пример.

Program t1;

uses graphabc;  {подключение модуля GraphAbc}

Begin

setwindowsize(640,480); {устанавливает размеры графического окна}

End.

Команда setpixel(x,y,c) - рисует точку с координатами (х,у) цветом с. Стандартные цвета с задаются символическими константами:

clBlack

черный

clYellow

желтый

clWhite

белый

clNavy

темно-синий

clRed

красный

clMaroon

темно-красный

clGreen

зеленый

clPurple

фиолетовый

clBrown

коричневый

clCream

кремовый

clBlue

синий

clAqua

бирюзовый

clSkyBlue

голубой

clOlive

оливковый

clFuchsia

сиреневый

clTeal

сине-зеленый

clGray

темно-серый

clMedGray

серый

clLime

ярко-зеленый

clSilver

серебряный


Процедура Line(x1,y1,x2,y2) вычерчивает прямую линию из точки (х1,y1) в точку (x2,y2) цветом установленным процедурой SetPenColor(c).

Для задания стиля  линии существует команда SetPenStyle (Style), где Style - стиль линии: psSolid - сплошная, psDash – штриховая, psDot – пунктирная, psClear – прозрачная.

Установить ширину текущего пера можно процедурой SetPenWidth(Width: integer).

Процедура Rectangle(x1,y1,x2,y2) рисует прямоугольник, где (х1,y1) координаты верхней левой точки, а (х2,y2) - правой нижней.

Процедура FillRect(x1,y1,x2,y2: integer) - заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.

Процедура Сircle(x,y,r) рисует окружность с центром в точке (х,y) и радиусом r.

Закрасить замкнутую фигуру можно с помощью процедуры FloodFill(х,у,c), (х,у) - координата точки внутренней области фигуры, c – цвет заливки.

Процедура СlearWindow(color) устанавливает цвет графического окна. Закрасить прямоугольник и круг можно, используя команду закраски кистью SetBrushColor (color).

SetBrushStyle(Style) - устанавливает  стиль текущей кисти. Константы  стилей кисти: bsSolid – сплошная, bsClear – прозрачная, bsHatch – штриховая, bsGradient – градиентная.

Процедуры для ввода  текста:

TextOut(x,y: integer; s: string) - выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);

SetFontSize(size: integer) - устанавливает  размер текущего шрифта в пикселях;

SetFontColor(c: Color) - устанавливает цвет текущего шрифта;

SetFontStyle(fs: integer) - устанавливает стиль текущего шрифта.

Пример. Программа рисования отрезка, прямоугольника, треугольника и окружности.

Program L;

 uses GraphAbc;

 Begin

SetWindowsize(640,480);{устанавливает размеры графического окна в пикселах}

ClearWindow(clYellow); {устанавливает желтый цвет фона}

SetPenColor(clBlue);{устанавливает синий цвет пера}

SetPenWidth(10); {устанавливает ширину пера}

Line(250,250,300,100);   {рисует линию}

Line (100,270,200,350); {рисует треугольник}

Line (200,350,300,270);

Line (300,270,100,270);

FloodFill(175,300,clgreen); {Закрашивает  треугольник}

Setpencolor(clGreen); {устанавливает зеленый цвет пера}

SetPenWidth(5);      {устанавливает ширину пера}

Rectangle(30,30,230,130);{рисует прямоугольник}

FloodFill(50,100,clSilver);

Setpencolor (clNavy);    {устанавливает красный цвет пера}

Circle(460,260,70); {рисует окружность};

FloodFill(460,260,clSkyBlue);

SetFontStyle(fsbold); {устанавливает стиль шрифта}

SetFontSize(18);     {устанавливает размер шрифта}

SetFontColor(clFuchsia); {устанавливает оливковый цвет шрифта}

TextOut(300,30,'Геометрические фигуры'); {делает надпись}

 End.

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

  • закрашенную зеленым цветом елку;
  • лодку с парусом;
  • снеговика;
  • дом;
  • придумайте свой рисунок.

 

 

Приложение к главе 3

Таблица 1.  Меню Правка

Команда

Назначение

Отменить      CTRL+Z

Отмена последней операции редакти-рования текста программы

Восстановить    Shift+Ctrl+Z

Восстановление предыдущей операции редактирования текста программы

Вырезать       CTRL+X

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

Копировать   CTRL+C

Копирование выделенного фрагмента текста из окна редактора в буфер обмена

Вставить        CTRL+V

Вставка выделенного  текста из буфера обмена в окно редактора

Найти             CTRL+F

Поиск текста

Заменить       CTRL+R

Поиск текста и замена его новым текстом

Найти далее  CTRL+L

Дальнейший поиск текста


 

Таблица 2. Меню Файл

Команда

Назначение

Новый         CTRL+N

Открытие окна для  нового файла

Открыть      CTRL+O

Открытие (загрузка) файла

Сохранить   CTRL+S

Сохранение файла с  прежним именем

Сохранить как …

Сохранение файла с  новым именем

Закрыть       CTRL+F4

Закрыть текущее окно файла

Выход

Выход из системы программирования

Информация о работе Среда языка программирования Pascal ABC