16. Составьте программу вычисления выталкивающей силы , действующей на тело объемом V, наполовину погруженное в жидкость плотностью , пользуясь формулой F=gV.

17. Составьте программу вычисления потенциальной энергии тела массой м на высоте h относительно Земли, пользуясь формулой E=gmh.

18. Составьте программу вычисления механической работы, когда тело равномерно движется под действием приложенной к нему силы, пользуясь формулой A=FS, где F – приложенная сила, а S – пройденный путь.

19. Ввести 4-значное число. Превратить его в 2-значное, отбросив первую и последнюю цифру.

20. С клавиатуры задается число К. Выбросить из записи К цифру, обозначающую сотни. Вывести полученное число на экран.

Приготовьте для проверки файлы и листинги с вашими программами. Будьте готовы ответить на следующие вопросы:

1. Почему при записи формул на Паскале их "вытягивают" в линию? Почему знак умножения всегда выписывают явно?

2) Почему на Паскале аргумент функции всегда записывают в скобках (например, ln(5), а не ln5)

3) Укажите символы, буквы, составные символы:

^, Y, <>, +, *, R, k, $, !, ф

4) Что в списке можно рассматривать как идентификаторы:

FIO, ФИО, 33719, X, Y, >=, $, &, Summa, _Rezult

5) Какие идентификаторы удобнее использовать и почему:

klass1, Klass_1, summadohoda, SummaDohoda, nomerdoma, Nomer_Doma

6) Найдите в следующем списке зарезервированные слова:

X, Program, Y, Summa, MyMoney, Произведение, Vova, begin, end, if, repeat, Read.

7) В каких случаях надо использовать переменные:

НЕ нашли? Не то? Что вы ищете?

• если в программе используется какое-то число,

• если в вычислениях какой-то операнд постоянно меняет свое значение,

• если операнд в выражении хотя бы раз меняет свое значение.

8) Какая структура программы правильна:

a) Program MyProgram; b) Program MyFirst;

Begin Begin

WriteLn(‘Привет!’); X:=Y+100;

End. End.

9) Какой из перечисленных разделов обязателен в программе?

• раздел Var

• раздел Const

• раздел Type

• раздел Begin... End

• раздел Label

10) Для чего используется слово Uses?

11) В разделе процедур и функций описываются только стандартные процедуры?

• да,

• нет, только пользовательские,

• и стандартные, и пользовательские.

12) Найдите ошибки в программах:

a) Program Ошибки1;

Begin

Summa:=6+8;

End;

b) Program Ошибки2;

Begin

Var

X:integer;

X:=6+8;

Write(X);

End;

13) С чего начинается программа?

14) Как описываются переменные?

15) С чего начинается основная программа?

16) Как выглядит оператор вывода? Для чего он служит? Какое существует различие между выводом сообщения и выводом значения переменной? Можно ли с помощью оператора вывода выполнить два действия? Если – да, то какие?

17) Что собой представляет оператор ввода? Для чего он служит? Как можно его использовать, чтобы осуществить задержку экрана?

18) Как происходит присваивание переменной какого-либо значения? Как называется этот оператор?

19) Чем заканчивается программа?

20) Как сохранить программу на диске?

21) Как сохранить программу под другим именем? Зачем это бывает необходимо?

22) Как отрыть новый файл?

23) Как отрыть уже существующий файл?

24) Как выйти из программы?

25) Какие есть способы загрузки программы Турбо Паскаля в оперативную память?

26) Что такое процедура и чем она отличается от процедуры?

27) Что означает понятие "зарезервированное слово" ?

28) Какие имена можно использовать в языке TurboPascal?

29) Из каких частей состоит программа, написанная на языке TurboPascal?

30) Для чего необходим в программе раздел описаний?

31) Какие стандартные типы вам известны?

32) Какие типы относятся к порядковым.?

33) В чем различия между данными действительного и целого типов?

34) Назовите функции горячих клавиш F1-F10.

35) С помощью какой клавиши можно выйти в главное меню?

Графика

Занятие 1: Графический режим. Инициализация графического режима. Построение точки, линии.

Стандартное состояние компьютера после запуска Турбо Паскаля – текстовый режим. Для того, чтобы использовать его графические средства, программист должен "определенным образом инициировать режим работы дисплейного адаптера". В графическом режиме работой дисплейного адаптера управляет графический драйвер.

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

Необходимые процедуры и функции для работы с графикой собраны стандартном модуле – Graph.

Инициализация графики производится с помощью процедуры InitGraph, которая имеет вид:

InitGraph(GraphDriver, GraphMode, Path);

где переменные GraphDriver и GraphMode имеют тип Integer, а переменная Path имеет тип String.

То, что записано в скобках, называется параметрами вызова процедуры (подробнее с данным вопросом мы ознакомимся позднее в теме “Процедуры и функции”), а сейчас рассмотрим параметры GraphDriver, GraphMode и Path.

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

CGA

1

EGA

3

EGAMono

5

HercMono

7

VGA

9

MCGA

2

EGA64

4

IBM8514

6

ATT400

8

PC3270

10

Detect = 0;

Целая переменная GraphMode задает режим работы графического адаптера. Многие адаптеры могут работать в нескольких режимах. Например, переменная GraphMode в момент обращения к InitGraph может иметь одно из следующих значений для адаптера VGA:

VGALo = 0; VGAMed = 1; VGAHi = 2;

Примечание: Более подробно о переменной Mode можно узнать в справочном руководстве по TurboPascal.

Теперь представьте такой вариант: Вам нужно написать программу на языке Pascal с использованием графических возможностей компьютера. Хорошо, если это – программа для компьютера с известным адаптером. А если нет, как действовать в этом случае? Выход один. Если нам неизвестен тип адаптера или программа должна работать с любым адаптером, необходимо обращаться к InitGraph с запросом на автоматическое определение драйвера.

Это происходит следующим образом: переменной GraphDriver присваиваем значение detect. В этом случае компьютер сам определит необходимый драйвер и подберет наилучший режим.

Program Primer1;

Uses

Graph;{Подключение модуля библиотеки графических процедур}

Var

GraphDriver,

GraphMode : integer;

Begin

GraphDriver := detect; {автоопределение типа драйвера }

InitGraph(GraphDriver, GraphMode, Path);

{Инициализация графического режима}

. . .

. . .СloseGraph;{Закрытие графического режима}

End.

Для получения графического изображения нужно заставить светиться заданным цветом определенную группу пикселей (точек). Это можно делать в программе, но ваша работа тогда станет очень трудоёмкой. Чтобы облегчить труд программиста существует модуль Graph, в котором содержиться 79 полезных процедур и функций, десятки стандартных констант и типов данных (например, процедуры рисования линии, окружности и др.). Чтобы воспользоваться этим модулем нужно сначала его подключить. Для этого в программе записывают строчку: Uses Graph.

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

1) Инициализация графики, подготовительные работы, управление цветом, закрытие режима:

InitGraph

установление (инициализация) графического режима работы

CloseGraph

завершение работы с графикой

DetectGraph

определение драйвера

FloodFill

заливка замкнутого контура выбранным типом и цветом палитры

RestoreCRTMode

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

SetBkColor

выбор и установка нового цвета закраски фона

SetColor

выбор и установка нового текущего цвета

SetFillStyle

выбор и установка нового шаблона и цвета заполнения

2) Процедуры и функции для управления курсором и видеостраницами:

ClearDevice

очистка текущего устройства вывода

ClearViewPort

очистка текущего окна

GetMaxX

получение максимально доступной координаты по оси X

GetMaxY

получение максимально доступной координаты по оси Y

GetPixel

получение текущего цвета точки экрана

GetX

получить значение координаты X

GetY

получить значение координаты Y

MoveRel

переместить курсор из данной текущей точки на заданное приращение.

MoveTo

переместить курсор из данной текущей точки в заданную точку

3). Процедуры и функции для работы с "графическими примитивами":

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70