Автор работы: Пользователь скрыл имя, 11 Октября 2013 в 07:27, контрольная работа
Первая версия языка Паскаль была разработана в 1968 году. Ее разработчиком является швейцарский ученый Никлаус Вирт. Свое название язык получил в честь создателя первой механической вычислительной машины француза Блеза Паскаля. На основе языка Паскаль в 1985 г. фирма Borland выпустила версию Turbo Pascal версии 3.0. С этого времени язык Паскаль используется во всем мире в учебных заведениях в качестве первого изучаемого языка программирования.
Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к объектно-ориентированному программированию.
Операция сцепления (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные. Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false).
Пример.
Var S1:string[5]; S2:string[6];S3:string[11];
S1:=’инфор’;
S2:=’матика’;
S3:=S1+S3; {получим строку: ’информатика’}
Ввод и вывод строковых данных осуществляется с помощью стандартных процедур ввода и вывода. Обращение к отдельному символу строки выполняется с помощью индекса (номера) символа в квадратных скобках.
Строковые функции
Пусть S, S1, S2, sk - выражения строкового типа; poz, n, 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,
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,’’,
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.
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) - устанавливает
стиль текущей кисти.
Процедуры для ввода текста:
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 |
Закрыть текущее окно файла |
Выход |
Выход из системы программирования |