Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Характеристика и особенности языка 4 страница

I. Рекомендации по использованию методического пособия | Характеристика и особенности языка 1 страница | Характеристика и особенности языка 2 страница |


Читайте также:
  1. 1 страница
  2. 1 страница
  3. 1 страница
  4. 1 страница
  5. 1 страница
  6. 1 страница
  7. 1 страница

SetColor (<цвет>); – установка цвета элемента

SetBkColor (<цвет>); – установка цвета фона

SetFillStyle (<стиль заполнения>,<цвет>); – установка способа закраски элемента

В Паскале при выборе цвета он указывается в соответствии с приведенной таблицей.

Константа Цвет  
Имя Значение
Black   Черный
Blue   Синий
Green   Зеленый
Cyan   Бирюзовый
Red   Красный
Magenta   Малиновый
Brown   Коричневый
Lightgrey   Светло-серый
Darkgrey   Темно-серый
Lightblue   Светло-голубой
Lightgreen   Светло-зеленый
Lightcyan   Светло-бирюзовый
Lightred   Светло-красный
Lightmagenta   Светло-малиновый
Yellow   Желтый
White   Белый

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

Константа Тип
Имя Значение
EmptyFill   Заполнение цветом фона
SolidFill   Заполнение текущим цветом
LineFill   Заполнение линиями -----
LineSlashFill   Заполнение линиями /////
SlashFill   Заполнение линиями/////
BkSlashFill   Заполнение линиями \\\\\
HatchFill   Заполнение вертикально-горизонтальными тонкими штриховыми линиями ++++++
XHatchFill   Заполнение ХХХХХ
InterLeaveFill   Штриховка по горизонтали частыми тонкими линиями
WideDotFill   Заполнение редкими точками
CloseDotFill   Заполнение частыми точками

Пример

SetFillStyle (11,2); (11- стиль, 2 - цвет)

c) Графические примитивы

· MoveTo(x,y)

– перемещение указателя в точку с координатами (x, y)

· PutPixel(x,y,z)

– вывод точки (z – цвет)

· Line(xl,yl,x2,y2)

– отрезок с заданными координатами конца и начала.

· RecTangle(xl,yl,x2,y2)

– xl,yl,x2,y2 - координаты концов главной диагонали прямоугольника

· Bar(xl,yl,x2,y2)

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

· Circle(x,y,r)

– окружность радиусом r

· Ellipse(x,y;ul,u2;xr,yr)

х, у – центр эллипса; ul, u2 – угол. Отсчитывает против часовой стрелки и указывается в градусах; дуга вычерчивается от заданного начального угла ul до конечного u2; xr, yr – полуоси.

· FloodFill(x,y,z)

– заполнение внутренней или внешней области замкнутой фигуры стилем, заданным процедурой SetFillStyle ранее, (х, у) – точка внутри или снаружи фигуры, z - цвет.

· Delay(x)

– установка паузы перед выполнением следующей команды в миллисекундах. 1 секунда = 1000 миллисекунд.

· x:=GetMaxX

– определение максимального значения по оси ОХ

· y:=GetMaxY

– определение максимального значения по оси OY

Пример

Нарисовать возникающую из центра экрана окружность, увеличивающуюся и меняющую цвет от 0 до 15 с шагом 5 до границы экрана.

 


program circ;

uses graph, crt;

var driver, mode, i, с: integer;

begin

clrscr;

initgraph (driver, mode, ' c: \bp\bgi ');

while i<=400 do begin

inc (c);

if c=16 then c:=l;

setcolor (c);

circle (320, 240, i);

delay(l000);

setcolor (0);

circle (320, 240, i);

i:=i+5;

end;

closegraph;

readln;

end.


 

Активация графического модуля

Переход в графический режим экрана

с – цвет очередного круга

Закрытие видеорежима


Вопросы для самостоятельной работы

  1. Чем характеризуется экран, находящийся в графическом режиме?
  2. Как осуществляется переход в графический режим? Какие нюансы при этом надо учитывать?
  3. Какие основные действия возможны в графическом режиме?
  4. Как обозначаются цвета в Паскале?
  5. С помощью каких команд задается цветовое оформление в Паскале?
  6. Какие еще варианты цветового оформления, кроме заливки цветом, существуют?
  7. Какие геометрические фигуры можно изобразить в Паскале? Как они задаются?
  8. Как задается цвет контура фигуры; цвет и стиль заливки?
  9. Какая команда позволяет пользователю увидеть результат программы, т. е. задерживает на некоторое время выполнение инструкций программы?

Задачи

Уровень A

149. Написать программу, которая вычерчивает на экране домик.

150. Написать программу, которая выводит на экран флаг Олимпийских игр. Изображение флага приведено ниже (одной клетке соответствует пять пикселов).

151. Написать программу, которая вычерчивает на экране кораблик.

152. Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.

153. Написать программу, которая вычерчивает на экране шестиугольник.

154. Написать программу, которая рисует на экране Государственный флаг России.

155. Написать программу, которая рисует на экране веселую рожицу желтого цвета.

156. Написать программу, которая выводит на экран узор, изображенный ниже.

157. Написать программу, которая выводит изображенный ниже узор, причем круги должны появляться по одному.

158. Написать программу, которая выводит изображенный ниже узор, причем сначала появляются красные, а затем – синие квадраты.

Уровень B

159. Написать программу, которая выводит на экран изображение шахматной доски с заданной стороной клетки.

160. Написать программу, которая выводит на экран точечный график функции у = 0,5х2 + 4х — 3. Диапазон изменения аргумента — от —15 до 5, шаг аргумента — 0,1. График вывести на фоне координатных осей, точка пересечения которых должна находиться в центре экрана.

161. Написать программу, которая рисует окружность, движущуюся по экрану.

162. Написать программу, которая выводит на экран диаграмму успеваемости учеников класса, например, по итогам контрольной работы. Исходные данные следует ввести в алфавитно-цифровом режиме работы.

163. Написать программу, которая выводит круговую диаграмму, отражающую товарооборот (в процентах) книжного магазина. Исходные данные (объем продаж в рублях по категориям: книги, журналы, открытки и канцтовары) вводятся во время работы профаммы.

164. Написать программу, которая выводит на экран изображение работающего светофора. Рекомендуемый вид светофора и алгоритм его работы приведены ниже.

Уровень C

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

166. Написать программу, которая выводит на экран изображение идущих часов, имеющих секундную и минутную стрелки.

167. Написать программу, которая выводит на экран график функции у — 2 Sin(x) е*/5.

168. Написать программу, которая выводит на экран контур пятиконечной звезды.


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

a) с расширением txt

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

1) Установление связи с файлом

Файл связывается с программой через переменную типа text (integer, char).

assign(< переменная >, ' полный путь к файлу');

2) Определение цели открытия файла

· Только чтение

reset(< переменная >);

· Перезапись (старые данные в файле стираются).

rewrite(< переменная >);

· Дописывание в конец файла

append(< переменная >);

3) Загрузка данных из файла в переменную в Паскале

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

while not eof(< переменная >) do begin

end;

EOF – end of file – конец файла.

Собственно загрузку каждого символа из файла в переменную осуществляет оператор:

readln(< переменная >,<переменная2>);

Откуда? Куда?

Обязательно согласовывать тип переменных.

4) Запись данных в файл

write(< переменная >,<переменная3> ИЛИ '<текст>');

       
   


Куда? Что?

Также может использоваться оператор writeln (запись начнется с новой строки).

writeln(< переменная >,<переменная3> ИЛИ '<текст>');

       
   


Куда? Что?

5) Закрытие файла

Любойоткрытый (assign) файл нужно закрыть:

close(< переменная >);

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

Пример

Проверим, является ли содержимое файла in_f.txt (необходимо создать перед запуском программы) числом, и запишем ответ в файл out_f.txt (создавать необязательно).

 

Program faily;

uses crt;

var inf,outf: text; t: string; ch: longint; o: boolean; i: integer;

begin

clrscr;

assign(inf,‘c:\in_f.txt’);

assign(outf,‘c:\out_f.txt’);

reset(inf);

rewrite(outf);

while not eof(inf) do read(inf,t);

val(t,ch,o);

if o=true then write(outf,‘не является’) else write(outf,‘является’);

close(inf);

close(outf);

end.

 

Вопросы для самостоятельной работы

  1. С чего начинается работа с файлом с расширением txt? Какая команда при этом используется?
  2. Как зависит выбор команды для работы с файлом от цели его открытия?
  3. Какая команда делает возможной обработку данных, хранящихся в файле?
  4. Какая команда позволяет заносить данные в файл?
  5. Какой командой завершается работа с файлом?

 

Задачи

Уровень A

169. Написать программу, которая на сменном диске компьютера (А:) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел (каждое число – в отдельную строку).

170. Напишите программу, которая дописывает в файл a:\numbers.txt 5 введенных пользователем целых чисел. Убедитесь при помощи редактора текста, что в файле находятся 10 чисел.

171. Написать программу, которая выводит на экран содержимое файла a:\numbers.txt.

172. Написать программу, которая вычисляет среднее арифметическое чисел, находящихся в файле a:\numbers.txt.

173. Написать программу, которая позволяет просматривать текстовые файлы (выводит на экран содержимое файла), например, файлы исходных программ Turbo Pascal. Имя просматриваемого файла должно вводиться во время работы программы.

174. Написать программу, которая дописывает в файл phone.txt, находящийся на диске C:, фамилию и номер телефона, например, вашего товарища. Если файла на диске нет, то программа должна создать его.

175. Написать программу, используя которую можно за один сеанс работы добавить информацию о нескольких людях в файл a:\phone.txt.

176. Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (a:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии.

177. Напишите программу, которая объединяет возможности программ Добавление в телефонный справочник И Поиск в телефонном справочнике.

178. Написать универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Количество вопросов теста не ограничено. Однако предлагается ввести следующее ограничение: текст вопроса и альтернативных ответов не должен занимать более одной строки экрана. Программа должна выставлять оценку по следующему правилу: ОТЛИЧНО — за правильные ответы на все вопросы, ХОРОШО — если испытуемый правильно ответил не менее, чем на 80% вопросов, УДОВЛЕТВОРИТЕЛЬНО — если правильных ответов более 60%, и ПЛОХО — если правильных ответов меньше 60%.

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

IV. Список использованной литературы:

1. И. Г. Семакин, К К. Хеннер. «Информатика. Задачник-практикум в 2 томах», том 1. Издательство «БИНОМ». Москва, 2003.

2. С. А. Немнюгин. «Н50 Turbo Pascal». Издательство «Питер». Санкт-Петербург, 2000.

3. Зуев Е.А. «Язык программирования Turbo Pascal 6.0, 7.0». Издательство «Веста», 1993.

4. «Учебник по языку Turbo Pascal в задачах и примерах», Интернет-страница.

 


Дата добавления: 2015-11-14; просмотров: 59 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Характеристика и особенности языка 3 страница| Т Е Х Н О Л О Г И Я П Р О Ц Е ДУ Р Ы

mybiblioteka.su - 2015-2024 год. (0.02 сек.)