PASCAL |
Паскаль | ||
<< Графика в Pascal | PASCAL >> |
Автор: user. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «PASCAL.ppt» со всеми картинками в zip-архиве размером 4388 КБ.
Сл | Текст | Сл | Текст |
1 | PASCAL. 2006. Введение в язык | 47 | изменяющегося в диапазоне от -4 до 4 |
программирования. | включительно с шагом 0,5. Упражнение. | ||
2 | Структура курса. Интерфейс и основные | Используемый материал: Оператор цикла | |
определения; структура программы; вывод на | Repeat: Repeat <тело_цикла> Until | ||
экран текстовой информации; ввод данных с | <условие> Цикл Repeat сначала | ||
клавиатуры; подключение и использование | выполняет тело цикла, а лишь затем | ||
системных модулей; работа с основными | проверяет условие. 47. | ||
типами данных (целый, вещественный, | 48 | Прерывание циклов. 48. Для гибкого | |
строковый, массив, файловый) работа с | управления циклическими операторами | ||
графикой; использование подпрограмм | используются процедуры: • Break — выход из | ||
(процедуры и функции); использование | цикла; • Continue — завершение очередного | ||
модулей. 2. | прохода цикла; Примеры: Найти минимальное | ||
3 | Интерфейс среды pascal. Язык | число i, для которого сумма чисел от 1 до | |
программирования Turbo Pascal 7.0 заключён | i больше 100. Как только s (сумма чисел от | ||
в инструментальную оболочку. Она включает | 1 до i) становиться больше 100 срабатывает | ||
в себя: многооконный текстовый редактор; | оператор break и происходит выход из | ||
компоновщик программ; отладчик программ; | цикла. S:=0; for I := 1 to 100 do begin if | ||
систему помощи; компилятор. 3. | s>100 then break; s := s + i; end; | ||
4 | Список открытых файлов: Alt + 0 | writeln (‘минимальное число i, такое, что | |
Быстрый доступ к откры- тым файлам: Alt + | ( 1+2+..+I )>100 равно ’,i); С | ||
<№ окна> Интерфейс среды pascal. 4. | клавиатуры вводятся 10 чисел и в цикле | ||
5 | Основные определения. | считается сумма только положительных. Если | |
Зарезервированное слово – это специальное | число отрицательное, то выполняется | ||
слово, используемое языком | оператор continue, который начинает | ||
программирования для отделения логических | следующий проход цикла. s:=0; for I := 1 | ||
областей программы. Оператор – это команда | to 10 do begin Readln (k); if k<0 then | ||
языка выполняющая какое-либо действие | Сontinue; s := s + k; end; Writeln (‘Сумма | ||
(проверка условия, организация цикла и | положительных чисел равна ’,s); | ||
пр.) Идентификатор – это имя, свободно | 49 | Массивы. | |
избираемое программистом для элементов | 50 | A =. Массивы. Переменная массива. | |
программы. Тип данных – это характеристика | Индекс. Значения. Простые типы: одна | ||
идентификатора, определяющая множество | переменная – одно значение | ||
значений, которые он может принимать | Структурированные типы: одна переменная – | ||
(целые или дробные числа, строки символов, | несколько значений. 0. 1. 2. 3. Структура | ||
логически выражения и пр.). 5. | массива: 9. 7. 0. 0. Доступ к массиву: | ||
6 | Общая структура программы. Program | <Имя массива> [ <Индекс> ]. | |
Имя_программы; Uses раздел подключаемых | A[1] := 7; 50. Массив – это фиксированное | ||
модулей; Label раздел описания меток; | количество значений одного типа. Доступ к | ||
Const раздел описания констант; Type | конкретному значению осуществляется через | ||
раздел описания собственных типов данных; | индекс. | ||
Var раздел описания переменных; Begin | 51 | {Имя} : Array [ {нач_зн} .. {кон_зн} ] | |
Основное тело программы; End. Минимальный | of {тип} ; Массивы. Массив объявляется в | ||
код: 6. | разделе Var: Примеры объявления массивов: | ||
7 | F9 – Компиляция + проверка Ctrl+F9 – | Var A : array [1..4] of string; b : array | |
Запуск. F9 ? ctrl+f9 – избежание ошибок. | [0..662] of real; с : array [1..10] of | ||
Вывод на экран. Для вывода информации на | integer; Примеры заполнения массивов | ||
экран, используются операторы: Write или | значениями: A[1]:=‘Вася’; A[2]:=‘Петя’; | ||
Writeln. Отображение результатов | A[3]:=‘Маша’; A[4]:=‘Олеся’; Write (A[3]); | ||
выполнения программы. 7. | For f:=1 to 10 do C[f] := f*2; For f:=1 to | ||
8 | Результат применения операторов: WRITE | 10 do WriteLn ( C[f] ); 51. | |
WRITELN. Вывод на экран. «Пустой» оператор | 52 | Упражнение. Напишите программу, | |
WRITELN добавляет пустую строку. 8. | которая запрашивает у пользователя 7 целых | ||
9 | Hello! Nice to see you! Call me | чисел и заносит их в массив. В массиве | |
computer. Выведите информацию на экран | находится максимальный элемент и | ||
так, как показано ниже. Упражнение. | отображает-ся на экране. Например: | ||
Используемый материал: Операторы вывода: | Используемый материал: Объявления массива: | ||
Write, WriteLn «Пустой» оператор WriteLn; | <Имя> : Array [<нач_зн> … | ||
вставляет пустую строку. 9. | <кон_зн> ] of <тип> ; Доступ к | ||
10 | … Подключение дополнительных модулей. | массиву: <Имя массива> [ | |
Дополнительные модули расширяют | <Индекс> ]. 52. Введите 1 число: 4 | ||
возможности ваших программ, путём введения | Введите 2 число: 8 Введите 3 число: 9 | ||
дополнительных операторов. Модули | Введите 4 число: 2 Введите 5 число: 4 | ||
подключаются в разделе Uses. Модули: | Введите 6 число: 5 Введите 7 число: 0 | ||
Системные Собственные. Program My; Uses | Максимальное число: 9. | ||
Модуль1, Модуль2 ; | 53 | Генератор случайных чисел (гсч). Для | |
______________________________. МОДУЛЬ 1 | генерации в про-грамме случайных чи-сел, | ||
Набор ресурсов 1. Подключённый модуль с | используют следу-ющие операторы: Randomize | ||
именем CRT. МОДУЛЬ N Набор ресурсов N. | – инициализация ГСЧ. Объявляется только в | ||
Очистка текстового экрана. Ожидание | самом начале программы; Random – | ||
нажатия на клавишу. 10. | генерирует слу-чайное число от 0 до 1 | ||
11 | Вывод в произвольное место экрана. | (вещественный тип); Random (N) – | |
GotoXY (X, Y : Integer) Где X, Y – | генерирует случайное число от 0 до N-1 | ||
координата знакоместа на экране. X может | (целый тип); 53. | ||
принимать значения от 1 до 80, а Y от 1 до | 54 | Многомерные массивы. {Имя} : Array [ | |
25. Например: Программа выводит по углам | {нач_зн} .. {кон_зн} , {нач_зн} .. | ||
экрана символ “?” (код 177). 11. Program | {кон_зн} , {и т.д.} ] of {тип} ; Var A : | ||
My_program; {Подключение модуля} Uses Crt; | Array [1..4,1..6] of Integer; For i:=1 to | ||
Begin {Очистка экрана} ClrScr; {Вывод | 4 do For j:=1 to 6 do A[i,j] := i+j; | ||
данных} GotoXY(1, 1); write('?'); | Список интервалов для каждой размер-ности | ||
GotoXY(80, 1); write('?'); GotoXY(1, 25); | массива. Пример объявления двухмерного | ||
write('?'); GotoXY(80, 25); write('?'); | массива (матрицы, таблицы) на 4 строки и 6 | ||
{Задержка экрана} ReadKey; End. | столбцов: Пример заполнения массива: 54. | ||
12 | Вывод в цвете. TextColor (Color); | 55 | Напишите программу, которая заполняет |
Определяет цвет символов. TextBackground | двух-мерный массив случайными числами от | ||
(Color); Определяет цвет знакоместа. 12. | -10 до 20 и выводит суммы элементов | ||
Program MyProgram; Uses Crt; Begin | расположенных по диагонали таблицы. | ||
TextColor(Red); TextBackGround(Blue); | Упражнение. Используемый материал: | ||
Write('На дворе '); TextColor(White); | Инициализация ГСЧ: Randomize Случайное | ||
Write('трава, '); TextColor(Green); | число от 0 до N-1: Random (N). 55. | ||
TextBackGround(Yellow); Write('на траве | 56 | Работа с файлами. | |
'); TextBackGround(Magenta); | 57 | Переменная. Работа с файлами. Файл: | |
Write('дрова.'); End. Цвета Black – чёрный | Создание, чтение, запись, закрытие. Начало | ||
Blue – синий Green – зелёный Cyan – | файла. Указа-тель. 57. ? - Признак конца | ||
циановый Red – красный Magenta – сиреневый | строки ? - признак конца файла. | ||
Brown – коричневый LightGray – | )A@$ku?|"hd9v*9(l*m=бygrmxduв ? | ||
светло-серый DarkGray – тёмно-серый | 8e*вotcdrtvzhgj1abd>@б\(r8se} ? | ||
LightBlue – голубой LightGreen – | :wcjvamra'v/.Wai;$`swi=y2]sub ? | ||
светло-зелёный LightCyan – светло-циановый | ?Hq>vf(lmbcv^adz4p4.6b]o{qkв8 ? | ||
LightRed – розовый LightMagenta – | cu<6`8z':m^1;:8anwak;,b2-4…u5 ? | ||
светло-сиреневый Yellow – жёлтый White – | 2]sub?Hq>vf(lmbcadz4wcp]o{qkв ? | ||
белый. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 8c8df]e"v,su>+),vaefбjfv,w$q- ? | ||
15. | y0g1gjn$-eб|sqz0`qnв%\бd%y ? ? | ||
13 | Работа с данными. | 58 | <Имя> : File of <тип> ; |
14 | Работа с данными. Задание типа данных. | <Имя> : Text; Assign ( <ФП>, | |
Задание значений. Объявление | <имя файла> ); Работа с файлами. 1. | ||
идентифи-каторов. 14. Идентификация | Объявление ФП. Var f: Text; h: File of | ||
данных. Однозначность операций над | Integer; 2. Ассоциация ФП с файлом. Assign | ||
данными. Операции с данными. | (f, ‘c:\my\Data.ghm’). 58. | ||
15 | Идентификаторы. Термин идентификатор | Последовательность действий, при работе с | |
применяется к константам, переменным, | файлами: Объявление файловой переменной | ||
функ-циям, процедурам, компонентам и | (ФП); Ассоциация ФП с файлом; Открытие | ||
другим объектам, определяемым | файла для чтения/записи; Операции с | ||
пользователем. Разрешённые символы: | файлом; Закрытие файла (так же разрывается | ||
латинские буквы; цифры; знак | связь между файлом и ФП); | ||
подчёркивания. Ограничения: не должны | 59 | Reset ( <ФП> ); - открывает файл | |
начинаться с цифры, но могут начинаться со | для чтения Rewrite ( <ФП> ); - | ||
знака подчёркивания. не могут состоять из | открывает файл для записи. Read ( | ||
нескольких слов. не могут совпадать с | <ФП>, <П1> , <П2> , …); | ||
каким-либо из ключевых слов. В | - считывает в переменные <П1>, | ||
идентификаторах не учитывается регистр | <П2> и т.д. по одному элементу с | ||
символов. 15. Ошибочные идентификаторы: | позиции указателя. Write ( <ФП> , | ||
Данные { Используются русские символы } My | <П1> , <П2> , …); - записывает | ||
name { Есть пробел } 2Array { Начинается с | в файл значения переменных <П1>, | ||
цифры } Var { Совпадает с ключевым словом | <П2> и т.д. по одному элементу с | ||
}. | позиции указателя. EoLn ( <ФП>); - | ||
16 | Типы данных. Тип данных – это | возвращает True, если достигнут конец | |
характеристика идентификатора, | строки. EoF ( <ФП>); - возвращает | ||
опреде-ляющая множество значений, которые | True, если достигнут конец файла. Close ( | ||
он может принимать (целые или дробные | <ФП> ); Работа с файлами. 3. | ||
числа, строки символов, логически | Открытие файла для чтения/записи. 4. | ||
вы-ражения и пр.). 16. | Операции с файлом. 5. Закрытие файла. 59. | ||
17 | Целый тип данных. Конечный набор | 60 | Работа с файлами. Упростите программу, |
возможных значений. ! Выход за пределы | если известно, что матрица размером 5x5 | ||
диапазона приводит к ошибке ! 17. | (используйте цикл For). 60. | ||
18 | Объявление переменных. Переменная – | 61 | Упражнение. Ольга любит Сергей Олег |
это идентификатор, способный хранить | хочет видеть Романа Катя уважает Настю И | ||
какое-либо значение (число, строку и т.п.) | т.д. Напишите программу «ДОМ-3». В первом | ||
и менять его в процессе работы программы. | файле содержаться имена участников в | ||
Синтаксис: Var <имя переменной> : | именительном падеже. Во втором, те же | ||
<тип переменной> ; Program | самые имена, но в винительном. В третьем – | ||
Имя_программы; Uses раздел подключаемых | список выражения чувств или какое-то | ||
модулей; Var раздел описания переменных; | действие (любит, не любит, целует, хочет | ||
Begin Основное тело программы; End. | укусить, обожает, уважает, ненавидит, | ||
Зарезервировано место в памяти компьютера | хочет видеть, обнимает). Программа должна | ||
под 3-и переменных. 18. | случайно брать информацию из этих файлов и | ||
19 | <Переменная> := <Значение> | создавать новый по следующему принципу: | |
; Для задания значения переменной, | <имя в им. пад> | ||
необходимо воспользо-ваться оператором | <чувство/действие> <имя в вин. | ||
присваивания :=. Задание значений | пад> Используемый материал: Название | ||
переменым. В переменную (целочисленную) с | операторов: Assign, Rewrite, Reset, Write, | ||
именем А заносится значение 3. 19. | Read, Close. 61. | ||
Синтаксис записи: | 62 | Графика. | |
20 | Операции с целыми переменными. | 63 | Графика. Для работы с графикой в |
Арифметические операции: + - * / | Pascal необходимы два файла – модуль | ||
Стандартные операции: div | mod | sqr. В | graph.tpu и драйвер графического адаптера | ||
переменную с именем S заносится сумма | egavga.bgi. Первый находится в каталоге | ||
значений, которые хранятся в переменных X | \UNITS, а второй – в \BGI. ! Драйвер | ||
и Y. Значение, хранящееся в переменной с | egavga.bgi. Необходим при работе exe файла | ||
именем S выводится на экран. 20. Нельзя | ! Чтобы рисовать, надо: подключить модуль | ||
использовать с целыми типами. | GRAPH (в разделе Uses); инициализировать | ||
21 | Напишите программу, которая выводит на | графику (InitGraph); что-нибудь | |
экран результат умножения чисел 15 и 20. | нарисовать; закрыть графический режим | ||
Напишите программу, которая выводит на | (CloseGraph). 63. | ||
экран значение функции , при x=11, y=3. | 64 | Графика. PROGRAM Primer_1; Uses Graph, | |
Упражнение. Используемый материал: | crt; Var Gd,Gm: Integer; BEGIN Gd:=0; | ||
Переменные объявляются в разделе Var Целый | InitGraph (Gd,Gm,‘d:\BP\bgi'); Line | ||
тип называется Integer Синтаксис | (0,0,639,479); ReadKey; CloseGraph; END. | ||
присвоения переменной значения: | Инициализация графического режима. | ||
<Переменная> := <Значение> ; | Рисование линии. Перо переходит из точки | ||
После каждого оператора ставится знак ; | (0,0) в точку (639, 479). Закрытие | ||
(кроме begin и последнего end). 21. | графического режима. 64. | ||
22 | ? ? Вещественный тип данных. ! Выход | 65 | Упражнение. Изобразить в центре экрана |
за пределы диапазона и несоблюдение правил | прямоугольный треугольник Изобразить в | ||
совместимости приводит к ошибке ! 22. | центре экрана прямоугольник с сторонами в | ||
Множество значений. Односторонняя | двое меньшими, чем соответствующие стороны | ||
совместимость: Вещественный Целый Целый | экрана. Используемый материал: 65. | ||
Вещественный. Порядковый тип. Вещественный | Графический модуль: Graph Инициализация | ||
тип. | графики: InitGraph Закрытие графического | ||
23 | Операции с вещественными переменными. | режима: CloseGraph; | |
Стандартные операции: pi | Sqrt | Sin | | 66 | Графика + цвет. 66. SetColor(Color: | |
Cos | Abs | Exp | Ln Round | Trunc | word); Устанавливает цвет пера. GetColor: | ||
(вещественный ? целый) Например (X, S – | word; Возвращает цвет пера. | ||
тип Real): В переменную с именем S | SetBkColor(color: word); Устанавливает | ||
заносится отношение значений, которые | цвет фона. GetBkColor: word; Возвращает | ||
хранятся в переменных X и Y. Позиция числа | цвет фона. Цвета Black – чёрный Blue – | ||
и число символов в дробной части числа. E | синий Green – зелёный Cyan – циановый Red | ||
– обозначает степень числа. 5.6e-5 = | – красный Magenta – сиреневый Brown – | ||
5.6·10-5. 23. X := pi/3; S := Sin( X ) * | коричневый LightGray – светло-серый | ||
100; Write ( Round(S) ); | DarkGray – тёмно-серый LightBlue – голубой | ||
24 | Строковый тип данных. Строки – | LightGreen – светло-зелёный LightCyan – | |
упорядоченный набор символов. Строки | светло-циановый LightRed – розовый | ||
заключены в апострофы. Строки не | LightMagenta – светло-сиреневый Yellow – | ||
совместимы с целыми и вещественными | жёлтый White – белый. | ||
типами. S := X; X := S; Тип. Диапазон. | 67 | Графические примитивы. 67. Line (x, | |
String. 255 символов. 24. { Основные | y); Чертит линию от текущей координаты | ||
операторы для строк } + { конкатенация } | пера до координат (x,y). MoveTo (x, y); | ||
Length ( S ); { длина строки }. Например: | Устанавливает перо в координаты (x,y). | ||
X := ‘Вася’; Write( ‘В вашем имени’, | PutPixel (x, y, Color); Рисует точку с | ||
Length(X), ‘букв.’); | координатами (x,y) цветом Color. GetPixel | ||
25 | Первое число разделить на второе число | (x, y): word; Возвращает цвет точки с | |
= результат write (X:1:3, ‘ razdelit na ’, | координатами (x,y). Rectangle (x1, y1, x2, | ||
y:1:3, ‘ = ’ z:1:3 ). Напишите программу, | y2); Строит контур прямоугольника. Circle | ||
которая выводит на экран результат деления | (x, y, r); Рисует окружность с центром в | ||
чисел 12.89 и 0.22 с отображе-нием только | (x,y) и радиусом r. SetLineStyle (Ln, 0, | ||
трёх значащих цифр после запятой в | T) Изменяет параметры контуров. Ln - стиль | ||
следующем формате: Упражнение. | линии (0..3): T - толщина линии: 1 = | ||
Используемый материал: Строковый тип | нормальная; 3 = толстая. FillEllipse (x, | ||
называется String Строки заключаются в | y, Xr, Yr); Рисует закрашенный эллипс с | ||
опострафы Конкатенация строк происходит | центром в (x,y) и радиусами Xr и Yr. | ||
через знак + В операторе вывода на экран, | SetFillStyle (Type, Color); Устанавливает | ||
разные типы отделяются запятой. 25. | тип (0..11) и цвет штриховки замкнутых | ||
26 | Синтаксис: Read (N1, N2, … Nn); Где | фигур ClearDevice; Очищает графический | |
N1, N2, … Nn – переменные (целые, | экран закрашивая его в текущий цвет фона. | ||
вещественные, строковые). Ввод данных с | 68 | Графические примитивы. 68. | |
клавиатуры. Для того, чтобы ввести | 69 | Упражнение. Напишите программу, | |
информацию с клавиатуры, необхо-димо | рисующее на экране монитора домик; | ||
воспользоваться оператором ввода: Read или | Напишите программу, рисующая на экране | ||
ReadLn. 26. В переменную Х, заносится | монитора звёздное небо со звёздами | ||
значе-ние введенное с клавиатуры. После | случайного радиуса (от 1 до 5 пикс.) и | ||
ввода значения, необходи-мо нажать клавишу | случайным расположением. Цвет тоже | ||
Enter Если переменных в операторе указано | случайный (белый, светло-серый, | ||
несколько, то они вводятся через пробел, | тёмно-серый); Используемый материал: 69. | ||
либо через нажатия клавиши Enter. | SetColor (Color: word); - Устанавливает | ||
27 | Напишите программу «мини-калькулятор», | цвет рисования SetBkColor (color: word); - | |
которая вычисляет сумму двух чисел, | Устанавливает текущий цвет фона. Line (x, | ||
введенных с клавиатуры. Напишите | y); - Чертит линию от текущей координаты | ||
программу, которая спрашивает как Вас | пера до координат (x,y). MoveTo (x, y); - | ||
зовут, а после того как Вы напишите свое | Устанавливает перо в координаты (x,y). | ||
имя выводит приветствие. Например, если Вы | PutPixel (x, y, Color); - Рисует точку с | ||
ввели имя Ваня, то программа выведет | координатами (x,y) цветом Color. Rectangle | ||
фразу: Привет, Ваня!!! Упражнение. | (x1, y1, x2, y2); - Строит контур | ||
Используемый материал: Операторы ввода: | прямоугольника из линий текущего цвета. | ||
Read, ReadLn. 27. | Circle (x, y, r); - Рисует окружность с | ||
28 | Операторы. | центром в (x,y) и радиусом r. FillEllipse | |
29 | Условный оператор. Условный оператор | (x, y, Xr, Yr); - Рисует закрашенный | |
реализует «ветвление», т.е изменяет | эллипс с центром в (x,y) и радиусами Xr и | ||
порядок выполнения операторов в | Yr. | ||
зависимости от истиннос-ти или ложности | 70 | Графика + анимация. Пауза в мСек. 70. | |
некоторого условия. Нет. Да. 29. Проверка | 71 | Подпрограммы. | |
условия. Действие 2. Действие 1. Действие | 72 | Подпрограммы. Program My; Подпрограмма | |
3. | 1. [Код подпрог-мы 1]. [Код подпрог-мы 1]. | ||
30 | Операции сравнения: > - больше < | Подпрограмма 2. [Код подпрог-мы 2]. [Код | |
- меньше = - равно >= - больше или | подпрог-мы 2]. [Код подпрог-мы 2]. Begin | ||
равно <= - меньше или равно <> - | Подпрограмма 2 Подпрограмма 1 Подпрограмма | ||
не равно. Логические операции: Not - Не | 2 End. Подпрограммы позволяют выделять | ||
And - И Or - Или. Например: Если Мой рост | повто-ряющуюся часть кода в отдельные | ||
> Роста Пети, То я выше Пети Если (идёт | фрагмен-ты и вставлять из в нужные места | ||
дождь) Или (идёт снег), То я останусь дома | программы. Процедуры. Функции. 72. | ||
Если Не ( (идёт дождь) И (ветер) ), То я | Функция, в отличие от процедуры возвращает | ||
пойду гулять. Проверка условий. При | результат вызова. Пример системных | ||
использовании логических операций, условия | подпрограмм: Подпрограммы: пишутся между | ||
заключаются в скобки. 30. | ключевыми словами Begin End; | ||
31 | Краткая форма: If <условие> then | идентифицируются по именам, которые | |
<оператор>; If X<0 Then X := 1; | пишутся по правилам задания | ||
Полная форма: If <условие> then | идентификаторов; могут иметь входные и | ||
<оператор_1> else <оператор_2> | выходные параметры; полностью повторяют | ||
; If X>5 Then X := X - 1 Else X := X + | структуру основной программы. Write(“Ок”); | ||
1; Синтаксис записи условного оператора. | // процедура с одним параметром ClrScr; // | ||
Перед словом Else, знак ; отсутствует. | процедура без параметров Length (S); // | ||
Например, если в переменной Х значение | функция с одним параметров Random; // | ||
меньше чем 0, тогда в эту же переменную | функция без параметров. | ||
записывается значение 1: После слов Then и | 73 | Подпрограммы (ппр). Вложенность | |
Else можно использо-вать только один | подпрограмм. Область доступности | ||
опе-ратор. Например: 31. | переменных. Переменные программы | ||
32 | Упражнение. Напишите программу, | называются глобальные, А переменные | |
которая получает на вход сумму в долларах | подпрограмм – локальные. 73. Переменные, | ||
и сумму в евро, а затем выводит на экран в | описанные в некоторой ППР, известны в | ||
какой валюте сумма больше (1 доллар=28 | пределах её тела, ВКЛЮЧАЯ и все вложенные | ||
руб., 1 евро=35 руб.) Напишите программу, | ППР (переменная описан-ная в ППР1 будет | ||
которая получает на вход три числа, а | доступна и в ППР3,4). Имена переменных, | ||
затем выводит на экран максимальное из | описанных в ППР, могут совпадать с именами | ||
них. Используемый материал: Формы записи | переменных из других ППР (в каждой из ППР | ||
условного оператора: If <условие> | может быть объявлена одинаковая | ||
Then <оператор>; If <условие> | переменная). Имя переменной, описанное в | ||
Then <оператор_1> Else | ППР, экра-нирует одноимённые переменные из | ||
<оператор_2> ; Перед Else знак ; не | ППР, объемлющих данный (если в ППР1 и ППР3 | ||
ставится Операции сравнения: > < = | объявлены одинаковые переменные, то в | ||
<> >= <= Логические операции: | каждой ППР эти переменные будут | ||
Not Or And. 32. | уникаль-ны). | ||
33 | Операторные скобки. Если после слов | 74 | Процедуры без параметров. 74. |
Then или Else необходимо записать | Синтаксис записи: Procedure {имя | ||
нес-колько операторов, то их заключают в | процедуры}; {Раздел переменных, констант, | ||
операторные скобки (составной оператор). | типов, меток, модулей} Begin {Тело | ||
Операторные скобки начинаются словом | процедуры}; End; Пример использования | ||
Begin, а заканчи-ваются словом End; If Z | процедуры без параметров: | ||
> 0 Then Begin X := 1; Y := -1; | 75 | Процедуры без параметров. Пример | |
WriteLn( ‘Информация принята’ ); End Else | экранирования одноимённых переменных: 75. | ||
WriteLn( ‘Ошибка’ ); Например: 33. | Program My_program; Uses Crt; Var | ||
34 | Оператор выбора case. Оператор выбора | A:String; // Описание процедуры Procedure | |
используется для замены конструкций из | My_Procedure; Var A:String; Begin A := | ||
вложенных условных операторов. Case | 'Подпрограмма'; Writeln(A); End; Begin A | ||
<порядковая_переменная> of | := 'Тело'; Writeln(A); My_Procedure; // | ||
<значение_1> : <оператор_1> ; | Вызов процедуры Writeln(A); End. | ||
<значение_2> : <оператор_2> ; | 76 | Процедуры с параметрами. Синтаксис | |
……… <значение_n> : | записи процедуры с параметрами. Для того, | ||
<оператор_n> else | чтобы подпрограммы были более | ||
<оператор_n+1> ; end; В операторе | универсальными, применя-ются специальные | ||
выбора можно использовать операторные | механизмы обмена данными между программой | ||
скобки. Не обязательная строка. Синтаксис | и её подпрограммами. Системные процедуры с | ||
записи. 34. | параметрами: 76. Любая из областей может | ||
35 | Оператор выбора case. Case x of | отсутствовать. SetColor (Red); { Процедура | |
-128..-1: writeln(‘Отрицательные’); 0: | с одним параметром } Rectangle (0, 0, 639, | ||
writeln(‘Ноль’); 1..127: | 479); { Процедура с несколькими | ||
writeln(‘Положительные’) Else | параметрами } InitGraph | ||
WriteLn(‘Выход из диапазона’); End; Case | (Gd,Gm,‘d:\BP\bgi'); { Процедура с | ||
Рост ученика of 16..30 : Вы ученик | несколькими разнотипными } { параметрами | ||
начальных классов ; 31,32,33 : Вы учитесь | }. Procedure {Имя} ( {Область входных | ||
в классе 5-6 ; 34..50 : Вы старшекласник | переменных} Var {Область выходных | ||
Else Вы явно не ученик ; End; Для | переменных (для каждой переменной свой | ||
перечисления значений используется | Var)} ); Структура областей: Переменная_1, | ||
запятая, для выбора диапазона – двоеточие. | Переменная_2, … : Тип; | ||
35. | ........................ Переменная_N-1, | ||
36 | Упражнение. Напишите программу, | Переменная_N, … : Тип; | |
которая получив число, выводит на экран | 77 | Процедуры с параметрами. Использование | |
соответствующий день недели. Например, | входных параметров. Без параметров. С | ||
ввели число 2, программа должна вывести | параметрами. Процедура рисования | ||
‘Вторник’. Если число выходит за пределы | окаймляющего экран прямоугольника, | ||
1..7, то должно быть выведено сообщение, | заданного цвета. 77. Вызов процедуры в | ||
что такого дня нет. Используемый материал: | программе: Вызов процедуры в программе: | ||
Оператор выбора: Case | Procedure Cir; Begin SetColor (i); | ||
<порядковая_переменная> of | SetBkColor (b); Rectangle (0, 0, 639, | ||
<значение_1> : <оператор_1> ; | 479); End; Procedure Cir (i, b:Integer); | ||
……… <значение_N> : | Begin SetColor (i); SetBkColor (b); | ||
<оператор_N> ; Else | Rectangle (0, 0, 639, 479); End; i:=6; | ||
<оператор_N+1> ; End; 36. | b:=12; Cir; Cir(6, 12); | ||
37 | Циклы. Циклическими называются | 78 | Процедуры с параметрами. Использование |
алгоритмы, у которых выпол-нение некоторых | выходных параметров. Процедура | ||
операторов осуществляется многократно с | преобразования угла из градусной меры в | ||
одними и теми же модифицированными данными | радианную. 78. PROGRAM EX_26_3; VAR x,a: | ||
(например, процедура умножения чисел через | real; PROCEDURE Rad(alfa: real; var betta: | ||
их много-кратное сложение). В языке | real); {выходная переменная} BEGIN Betta | ||
Паскаль имеются три оператора цикла: For | := pi*alfa/180; END; BEGIN Write('Введите | ||
(цикл с параметром или на заданное число | угол в градусах: '); Readln(x); Rad(x, a); | ||
повторений) While (цикл ПОКА) Repeat (цикл | {Вызов процедуры} Writeln('Ему равен угол | ||
ДО) Если число повторений известно, то | в радианах = ',a:6:4); END. | ||
лучше воспользоваться операто-ром цикла с | 79 | Упражнение. Напишите процедуру, | |
параметром. 37. | рисующую треугольник, в следующем формате: | ||
38 | Цикл с параметром. Тело цикла. For | Triangle (x1,y1, x2,y2, x3,y3, Color) | |
{парам} := {нач_зн} to {кон_зн} do | Напишите процедуру вычисления площади | ||
{оператор} ; 38. Цикл на заданное число | прямоугольника в следующем формате: SRect | ||
повторений с возрастающим или убывающим | (a, b, S) где, S – выходной параметр | ||
значени-ем параметра. Замечания. Параметр | процедуры. Используемый материал: 79. | ||
– целый тип; В цикле можно использовать | Procedure {Имя} ( {Область входных | ||
операторные скобки; В теле цикла нельзя | переменных} Var {Область выходных | ||
менять параметр цикла; Параметр цикла | переменных} ); Структура областей: | ||
увеличивается на единицу; Начальное | Переменная_1, Переменная_2, … : Тип; | ||
значение > конечного, иначе тело цикла | ........................ Переменная_N-1, | ||
игнорируется; Для уменьшения параметра, за | Переменная_N, … : Тип; | ||
место To, использовать DownTo. | 80 | Функции. Синтаксис записи функции. | |
39 | Цикл с параметром. Написать программу, | Оформление функции. Оформление процедуры. | |
которая запрашивает целые числа (a, b), | Оформлять некоторую подпрограмму как | ||
причём a<b, а затем выводит на экран | функцию целесообразно только в том случае, | ||
сумму чисел от a до b. 39. В S записываем | если ожидается некоторый результат её | ||
её предыдущее значение и прибавляем к ней | работы. Если подпрограмма ориентирована | ||
значение переменной f. Обнуляем | только на выполнение некоторой | ||
переменную. | последовательности действий (вывод на | ||
40 | Упражнение. Используемый материал: 40. | экран, рисование и т.д.), лучше оформить | |
Написать программу, которая 15 раз выводит | её как процедуру. 80. Function ( {Область | ||
на экран ваше имя и фамилию (в столбик). | входных переменных} Var {Область выходных | ||
Написать программу, которая выводит на | переменных} ): {Тип} ; Procedure | ||
экран таблицу квадратов первых 10 чисел. | S(a,b:real; var s:real); Begin s := a+b; | ||
Число Квадрат 1 1 2 4 … … … … Написать | End; Function Sum (a,b: real): real; Begin | ||
программу, которая выводит на экран | Sum := a+b; End; Вызов процедуры. Вызов | ||
таблицу Пифагора 1 2 3 4 5 6 7 8 9 1 1 2 3 | функции. S(10, 20, A); Write (A); A := | ||
4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 … … … | S(10, 20); WriteLN (A); WriteLN ( S(20, | ||
… … … … … … … Оператор цикла For: For | 30) ); | ||
<парам> := <нач_зн> To | 81 | Упражнение. Напишите функцию | |
<кон_зн> Do <оператор> ; | вычисления площади прямоугольника в | ||
Параметр – целый тип (обычно, Integer); В | следующем формате: SRect (a, b). | ||
цикле можно использовать операторные | Используемый материал: 81. Function {Имя} | ||
скобки; Параметр цикла увеличивается на | ( {Область входных переменных} Var | ||
единицу. | {Область выходных переменных} ): {Тип} ; | ||
41 | Цикл while («пока»). While {условие} | Структура областей: Переменная_1, | |
do {оператор}; 41. Цикл While сначала | Переменная_2, … : Тип; | ||
проверяет условие, и только если оно | ........................ Переменная_N-1, | ||
истинно выполняет тело цикла. В теле кода, | Переменная_N, … : Тип; | ||
написанном ниже цикл не выполниться ни | 82 | Модули. | |
разу: Можно получить бесконечный цикл. | 83 | Модули. Модуль (UNIT) - | |
Например: x:=1; While x>1 do x:=x-1; | самостоятельная программная единица, | ||
X:=1 while x>0 do х:=х+1; | ресурсы (процедуры и функции) которой | ||
42 | Цикл while («пока»). While not | могут быть использованы другими | |
keypressed do begin Delay(2000); End; | программами. Модули подключаются к | ||
Программа, вывода на экран суммы чисел от | программе через раздел USES. 83. | ||
a до b. Цикл работает, пока изменяюща-яся | 84 | Модули. Структура. Модуль состоит из | |
переменная f не станет больше значения b. | следующих частей: Заголовок модуля. | ||
42. | Интерфейсная часть. (описания видимых | ||
43 | Упражнение. Космонавты решили на луне | объектов) Реализационная часть. (описания | |
садить берёзы, причем каждый год | скрытых объектов) Инициализационная часть | ||
увели-чивать число берёз в два раза, в | (не обязательна). Unit {Имя модуля}; | ||
первый год посадили 3 берёзы. Выведите на | Interface { Раздел глобальных переменных, | ||
экран через, сколько лет число берёз | констант, типов} { модулей } { Список | ||
превысит 10 000. Напишите программу, | заголовков процедур и функций } | ||
которая определяет максимальное из | Implementation { Раздел локальных | ||
введенных чисел с клавиатуры (ввод чисел | переменных, констант, типов} { Реализация | ||
заканчивается числом 0). Ниже представ-лен | процедур и функций } Begin {Часть | ||
рекомендуемый вид экрана: Используемый | инициализации } End. ! Имя заголовка | ||
материал: Оператор цикла While: While | модуля должно совпадать с именем файла | ||
<условие> do <оператор> ; Цикл | модуля ! 84. | ||
While сначала проверяет условие, и только | 85 | Модули. 85. Пример модуля: Unit | |
если оно истинно выполняет основное тело | My_Unit; Interface Var ms: Array [1..100, | ||
цикла. 43. Введите числа. Для завершения | 1..10] of Real; { Глобальный массив } | ||
ввода введите 0. 89 15 0 Максимальное | Function Cub(x:integer):Integer; { Функция | ||
число 89. | Cub = x^3 } Function | ||
44 | Цикл repeat («до тех пор»). Repeat | ext4(x:integer):Integer; { Функция ext4 = | |
{тело_цикла} until {условие}; Нет | x^4 } Implementation Function | ||
необходимости в цикле Repeat использовать | Cub(x:integer):Integer; { Реализация | ||
составной оператор, т.к. данная | функции Cub } Begin Cub := x*x*x; End; | ||
конструкция предусматривает выполне-ние не | Function Ext4(x:integer):Integer; { | ||
одного, а нескольких операторов, | Реализация функции ext4 } Begin Ext4 := | ||
заключенных между словами Repeat и Until. | x*x*x*x; End; End. | ||
44. Цикл Repeat сначала выполняет тело | 86 | Упражнение. Напишите модуль одной | |
цикла, а лишь затем проверяет условие. | функцией и одной процедурой: { Функция | ||
45 | Цикл repeat («до тех пор»). Программа, | вычисление X1=1/x } X1(a:real):real; { | |
вывода на экран суммы чисел от a до b. | Процедура печати на экране слова S, в | ||
Цикл работает, пока изменя-ющаяся | позиции X, Y } WriteXY(S:String; | ||
пере-менная f не станет больше значения b. | X,Y:Iteger); Используемый материал | ||
45. | (структура модуля): 86. Unit {Имя модуля}; | ||
46 | For. While. Repeat. Сравнение циклов. | Interface { Раздел глобальных переменных, | |
Выбор модели цикла, зависит лишь от | констант, типов} { модулей } { Список | ||
удоб-ства его использования в конкретной | заголовков процедур и функций } | ||
ситуации. Мы практически всег-да можем | Implementation { Раздел локальных | ||
вместо одно-го вида цикла восполь-зоваться | переменных, констант, типов} { Реализация | ||
другим. 46. | процедур и функций } Begin {Часть | ||
47 | Вычислите значение функции для x | инициализации } End. | |
PASCAL.ppt |
«Язык Pascal» - Язык программирования Паскаль (Pascal). Пример задачи. QBasic Pascal. В первом случае параметр с каждой итерацией увеличивается на единицу, во втором - уменьшается. Циклы "До" и "С параметром" созданы для удобства программирования. Составление и отладка таких программ было чрезвычайно трудоемким делом.
«Pascal графический режим» - Заполненные фигуры. Меню. По умолчанию установлен черный цвет фона. «Паровоз». Цвета и заполнения. Практическое задание. Автор: Казначей, учитель информатики. Урок по теме: «Введение в графику в языке программирования Turbo Pascal». SetBkColor (N); - установить цвет N для пикселей фона. Контрольные вопросы и задания.
«Язык программирования Паскаль» - назван в честь английского ученого Блеза Паскаля. Гибок и развит в отношении типов данных. Язык программирования Паскаль. Обучает хорошему стилю программирования, воспитывает дисциплину структурного программирования. ЯП Паскаль выбран как наиболее удовлетворяющий целям обучения: Алгоритмический язык Паскаль.
«Массивы в Паскале» - Нижняя граница не может превосходить верхнюю. Каждому массиву, используемому в программе, выделяется место в памяти. Поиск максимального (минимального) элемента массива. Заполнение массива. Массив в Паскале имеет фиксированное количество элементов. Нижняя граница отделяется от верхней двумя точками; 4) Тип элементов массива.
«Оператор присваивания» - Запишите инструкцию, которая увеличивает на единицу значение переменной. Вывод информации на экран. Инструкция присваивания (:=)используется для изменения значений. Написать программу, которая выводит на экран четверостишие. Запишите инструкцию, которая присваивает переменной SUMMA нулевое значение.
«Рисование графики» - Примеры программ. Рисование линий. Использование случайных чисел. Эллипсы. Убегающий многоугольник. Параметрическое задание кривых. Движение с изменением цвета. Графики функций. Движение человечка. График функции. Графики тригонометрических функций. Салфетка. Линия, соединяющая графики синуса и косинуса.