Язык программирования паскаль.

Железнодорожного транспорта

Белорусской железной дороги

ОСНОВЫ АЛГОРИТМИЗАЦИИ

И ПРОГРАММИРОВАНИЯ

Методическое пособие

(Теория и практика)

ОРША

СОДЕРЖАНИЕ.

Практическое занятие №1. 3

Тема занятия: Алгоритмы. 3

Цель: Дать понятие алгоритма. Сформировать умение составлять алгоритмы. 3

Программное обеспечение: Паскаль. 3

1. Краткая справка. 3

2. Контрольные вопросы. 4

3. Задания и технология выполнения. 5

Конец.. 8

4. Контрольные задания. 8

5. Рекомендуемая литература. 9

Практическое занятие № 2. 10

Тема занятия: Разработка и отладка линейных программ. 10

Цель: Получение практических навыков разработки программ для линейных алгоритмов. 10

Программное обеспечение: Паскаль. 10

1. Краткая справка. 10

2. Контрольные вопросы. 15

3. Задания и технология выполнения. 16

4. Контрольные задания. 16

5. Рекомендуемая литература. 16

Практическое занятие № 3. 17

Тема: Основы алгоритмизации и программирования. 17

Тема занятия: Разработка и отладка разветвляющихся программ. 17

Цель: Получение практических навыков разработки разветвляющихся программ. 17

Программное обеспечение: Паскаль. 17

1. Краткая справка. 17

2. Контрольные вопросы. 17

3. Задания и технология выполнения. 18

4. Контрольные задания. 19

5. Рекомендуемая литература. 19

Практическое занятие № 4. 20

Тема: Основы алгоритмизации и программирования. 20

Тема занятия: Разработка и отладка циклических программ. 20

Цель: Получение практических навыков разработки циклических программ. 20

Программное обеспечение: Паскаль. 20

1. Краткая справка. 20

2. Контрольные вопросы. 21

3. Задания и технология выполнения. 21

4. Контрольные задания. 22

5. Рекомендуемая литература. 22

Практическое занятие № 5. 23

Тема: Основы алгоритмизации и программирования. 23

Программное обеспечение: Паскаль. 23

1. Краткая справка. 23

2. Контрольные вопросы. 29

3. Задания и технология выполнения. 29

4. Контрольные задания. 33

5. Рекомендуемая литература. 33

Практическое занятие № 6. 34

Тема: Основы алгоритмизации и программирования. 34

Программное обеспечение: Паскаль. 34

1. Краткая справка. 34

2. Контрольные вопросы. 35

3. Задания и технология выполнения. 35

4. Контрольные задания. 37

5. Рекомендуемая литература. 37

Практическое занятие №1

Тема: Основы алгоритмизации и программирования

Тема занятия:Алгоритмы.

Цель: Дать понятие алгоритма. Сформировать умение составлять алгоритмы.

Техническое обеспечение: ПЭВМ

Программное обеспечение: Паскаль

Место проведения занятий: Лаборатория ПЭВМ

Продолжительность занятия: 2 часа.

1. Краткая справка

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

Свойства Алгоритма:

  • Конечность - алгоритм должен заканчиваться после конечного числа шагов
  • Определенность - каждый шаг алгоритма должен быть точно и однозначно определен.
  • Иметь некоторое (быть может, равное нулю) число входных данных, т.е. величин, заданных ему до начала работы.
  • Результатом выполнения алгоритма должна быть одна или несколько выходных величин, зависящих от исходных данных.
  • Эффективность т.е. результат должен быть получен наименьшим числом наиболее простых операций.

Описание алгоритма.

· Словесное описание алгоритма, когда последовательность операций задается перечислением действий исполнителя.

· Представление алгоритма в виде блок - схемы.

Блок - схема алгоритма – графическое представление хода решения задачи.

При выполнении схем алгоритмов и программ отдельные функции алгоритмов и программ (с учетом их детализации) отображаются в виде условных графических обозначений – символов.

Основные символы для схем алгоритмов

язык программирования паскаль. - student2.ru

— начало, конец

язык программирования паскаль. - student2.ru — ввод, вывод

 
  язык программирования паскаль. - student2.ru

— вычисление

 
  язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru — условие

 
  язык программирования паскаль. - student2.ru

— цикл

· Запись программы на алгоритмическом языке.

Алгоритмический язык – формальный язык, предназначенный для записи алгоритма. Он определяется алфавитом (или словарем исходных символов), точным описанием его синтаксиса (грамматики) и семантики.

Синтаксисом языканазывается система правил, по которым из символов алфавита образуются правильные конструкции языка.

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

Схемы алгоритмов

Линейный алгоритм — это алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Согласно линейному алгоритму, прогон программы начинается с ее первого выполняемого оператора. Операторы будут задействованы последовательно, один за другим в соответствии с их расположением в тексте программ.

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

Циклический алгоритм — это алгоритм, который содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных.

2. Контрольные вопросы.

2.1. Определение алгоритма

2.2. Свойства алгоритма

2.3. Способы описания алгоритма

2.4. Основные символы для схем алгоритмов.

2.5. Определение алгоритмического языка

2.6. Синтаксис алгоритмического языка

2.7. Семантика алгоритмического языка

2.8. Схемы алгоритмов

2.9. Определение линейного алгоритма

2.10. Определение разветвляющегося алгоритма

2.11. Определение циклического алгоритма

Задания и технология выполнения.

3.1. Линейный алгоритм

Пример 1. Разработать алгоритм вычисления выражения язык программирования паскаль. - student2.ru

· Блок-схема алгоритма

язык программирования паскаль. - student2.ru Начало

язык программирования паскаль. - student2.ru

Ввод Х

 
  язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru

Вычисление У

язык программирования паскаль. - student2.ru

 
  язык программирования паскаль. - student2.ru

Вывод У

 
  язык программирования паскаль. - student2.ru

Конец

3.2. Разветвляющийся алгоритм

Пример 2. Разработать алгоритм вычисления для следующего выражения:

язык программирования паскаль. - student2.ru

· Блок-схема алгоритма

 
  язык программирования паскаль. - student2.ru

НАЧАЛО

 
  язык программирования паскаль. - student2.ru

Ввод Х

 
  язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru Нет Да

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru Х => 0

       
  язык программирования паскаль. - student2.ru   язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru Y: = X2 язык программирования паскаль. - student2.ru

 
  язык программирования паскаль. - student2.ru

Вывод Y

 
  язык программирования паскаль. - student2.ru

КОНЕЦ

Пример 3. Разработать алгоритм вычисления следующего выражения

язык программирования паскаль. - student2.ru

· Блок-схема алгоритма

 
  язык программирования паскаль. - student2.ru

НАЧАЛО

 
  язык программирования паскаль. - student2.ru

Ввод Х

 
  язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru нет да

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru Х = 1..5

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru нет да

язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru язык программирования паскаль. - student2.ru Х : = 6..10 Y : = 2*Х

           
    язык программирования паскаль. - student2.ru
  язык программирования паскаль. - student2.ru   язык программирования паскаль. - student2.ru
 

Y : = Х Y : = Х/2

язык программирования паскаль. - student2.ru

язык программирования паскаль. - student2.ru Вывод Y

 
  язык программирования паскаль. - student2.ru

КОНЕЦ

3.3.Циклический алгоритм.

Пример 4. Разработать алгоритм вычисления следующего выражения

язык программирования паскаль. - student2.ru ; при х = 1..10, h = 1.

· Первый вариант:

¨ Блок-схема алгоритма

 
  язык программирования паскаль. - student2.ru

Начало

Ввод

Хн, Хк

X : = XH, Xk, h

Y : = X2 + 4

Вывод Y

Конец

· Второй вариант.

¨ Блок-схема алгоритма

 
  язык программирования паскаль. - student2.ru

Начало

Ввод Хнк,h

X: =Xн

Х<=Xk

Y: = Х2 + 4

Вывод Y

Х : = Х + h

Конец

· Третий вариант:

¨ Блок-схема алгоритма

 
  язык программирования паскаль. - student2.ru

Начало

Х : = 1

Y : = X2 + 4

Вывод Y

Х : = Х + 1

Нет Да

Х > 10

Конец

4. Контрольные задания

4.1. Разработать алгоритм вычисления следующего выражения:

Y=sin(x)-cos(x);

Вычертите схему алгоритма, используя текстовый процессор Microsoft Word

4.2. Разработать алгоритм вычисления следующего выражения:

 
  язык программирования паскаль. - student2.ru

Вычертите схему алгоритма, используя текстовый процессор Microsoft Word

4.3. Разработать алгоритм (два варианта) вычисления следующего выражения: язык программирования паскаль. - student2.ru

Вычертите схему алгоритма, используя текстовый процессор Microsoft Word

5. Рекомендуемая литература

5.1. Докунина Т.К. Программирование и алгоритмические языки.

- М.: Машиностроение, 1988.- с.85- 111.

Практическое занятие № 2

Тема: Основы алгоритмизации и программирования

Тема занятия:Разработка и отладка линейных программ.

Цель: Получение практических навыков разработки программ для линейных алгоритмов.

Техническое обеспечение: ПЭВМ

Программное обеспечение: Паскаль

Место проведения занятий: Лаборатория ПЭВМ

Продолжительность занятия: 2 часа.

1. Краткая справка

ТИПЫ ДАННЫХ

Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретной версии языка программирования.

Тип данных - это множество значений, которые могут принимать объекты программы, и совокупность операции, допустимых над этими значениями. Например, значения 1 и 2 относятся к целочисленному типу, их можно складывать, умножать и выполнять другие арифметические операции. В языке Паскаль для описания типа в общем случае используется зарезервированное слово Type.

Формат: Type

<Имя типа> = <значения типа>;

Все типы данных разделяются на две группы:

· скалярные (простые)

· структурированные (составные).

Скалярные типы в свою очередь подразделяются на:

· Стандартные

· Пользовательские.

Стан­дартные типы предлагаются пользователям разработчиками системы Turbo Pascal.

СТРУКТУРА ПРОГРАММЫ

Программа реализует алгоритм решения задачи. Она объединяет последовательность действии, выполняемых над определенными данными с помощью определенных операции для реализации заданной цели.

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

После заголовка следует программный блок, состоящий в общем случае из 7 разделов: списка имен подключаемых библиотечных модулей (он определяется зарезервированным словом Uses), описания меток, описания констант, определения типов данных, описания переменных, описания процедур и функций, операторов.

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

Program <имя> (Input,Output);

Uses <имя1, имя2,...>;

Label ...;

Const ... ;

Тyре ... ;

Var ... ;

Procedure «имя»;

<тело процедуры>;

Function «имя»;

<Тело функции>;

Begin

<опepaтopы>

End.

Любой раздел, кроме раздела операторов, может отсутствовать. Разделы описаний (кроме uses, который всегда расположен после заголовка программы) могут встречаться в программе любое количество раз и. следовать в произвольном порядке. Главное, чтобы все описания объектов программы были сделаны до того, как они будут использованы.

ВВОД-ВЫВОД

Решение самой простои задачи на ЭВМ не обходится без операции ввода-вывода информации. Ввод данных - это передача информации от внешнего носителя в оперативную память для обработки. Вывод -обратный процесс, когда данные передаются после обработки из оперативной памяти на внешний носитель. Внешним носителем может служить терминал ввода-вывода, принтер, жесткий (винчестер) магнитный диск и другие устройства.

Для выполнения операций ввода-вывода служат четыре процедуры:

read, readln, write и writeln.

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

Формат: read (XI, Х2,...,Хп); или read (FV, XI, Х2,...,Хп);, где Х1,Х2,...,Хп - переменные допустимых типов данных, FV - переменная, связанная с файлом, откуда будет выполняться чтение. В данной главе мы рассмотрим в основном первый вариант формата.

Значения Х1,Х2,...,Хп набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одной процедуры read нажимается клавиша ввода <Enter>. Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушено (например, X1 имеет тип integer, а при вводе набирается значение типа char), то возникают ошибки ввода-вывода.

Процедура ввода readLN аналогична процедуре read, единственное отличие заключается в том, что после считывания последней в списке значения для одной процедуры readln данные для следующей процедуры readln будут считываться с начала новой строки.

Процедура вывода write производит вывод числовых данных, символов, строк и булевских значений.

Формат: write (Yl,Y2,...Yn); или write (FV.Y1,Y2,...,Yn);

где Yl,Y2,...,Yn - выражения типа integer, byte, real, char, boolean и т.д.

fv - имя файла, куда производится вывод. Для вывода на принтер fv равно Lst.

Простые операторы:

: = — присваивания;

GoTo — безусловного перехода;

VPI — оператор вызова процедуры;

— пустой оператор.

Ctrl + F9 — Запуск программы.

Alt + F5 — Просмотр результатов выполнения программы.

Alt + X — Выход из Turbo Pascal.

Функции языка ПАСКАЛЬ

Abs(X) - вычисление абсолютной величины X. Тип результата совпадает с типом параметра.

ArcTan(X) - вычисление угла, тангенс которого равен X; значение угла представлено в радианах и может находиться в диапазоне от -Pi/2 до Pi/2. Для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/Pi. Результат имеет вещественный тип.

Cos(X) - вычисление косинуса X; параметр задает значение угла в радианах, для преобразования значений угла из градусной меры в радианную значение выражения IBR умножается на Pi/ISO. Результат имеет вещественный тип.

Ехр(Х) - вычисление экспоненты X, т. е. значение е в степени X. е является основанием натурального логарифма и равно 2.718282. Результат имеет вещественный тип.

Frac(X) - вычисление дробной части X. Результат имеет вещественный тип.

Int(X) - вычисление целой части X. Если IBR >= 0, функция возвращает ближайшее целое, большее или равное IBR. Если IBR < О, возвращает ближайшее целое, меньшее или равное IBR. Результат имеет тип real.

Ln(X) - вычисление натурального логарифма х, т. е. логарифма по основанию е (е = 2.718282). результат имеет вещественный тип.

Pi - возвращает значение числа Пи (3.141592653897932385).

Sin(X) - вычисление синуса X. Параметр задает значение угла в радианах. Для перевода значения угла из градусной меры в радианную Х умножается на Pi/180. Результат имеет вещественный тип.

Sqr(X) - возведение в квадрат значения X. Тип результата совпадает с типом параметра.

Sqrt(X) - вычисление квадратного корня из X. Тип результата вещественный.

Random - генерирует значение случайного числа из диапазона 0..0.99. Тип результата вещественный.

Random(I) - генерирует значение случайного числа из диапазона 3..I. Тип результата целочисленный.

Чтобы случайные числа были "более случайными", необходимо периодически менять базу генерации. Для этого используется процедура Randomize, которая при инициализации загружает новую базу в генератор случайных чисел.

Скалярные процедуры и функции обрабатывают данные любого скалярного типа, кроме вещественного.

Процедуры

Dec(X(,n)) - уменьшает значение целочисленной переменной Х на n. При отсутствии необязательного параметра n значение Х уменьшается на 1.

Inc(X(,n)) - увеличивает значение целочисленной переменной Х на n. При отсутствии необязательного параметра n значение Х увеличивается на единицу.

Функции

Succ(S) - возвращает значение, следующее за S в списке значений типа. Тип результата совпадает с типом параметра. Если следующее за S значение отсутствует, возникает программное прерывание.

Odd(I) - возвращает значение булевского типа, равное True, если I нечетное, и False, если I четное.

Функция Succ нашла широкое использование в программах обработки скалярных типов данных, образованных пользователем, её применение для пользовательских типов аналогично приведенным выше примерам.

2. Контрольные вопросы.

2.1. Из чего состоит алфавит языка Паскаль?

2.2. Что включает в себя словарь языка Паскаль?

2.3. Тип данных.

2.4. Как подразделяются типы данных?

2.5. Структура программы.

2.6. Процедура ввода.

2.7. Процедура вывода.

2.8. Функции языка Паскаль.

2.9. Как запустить программу на выполнение?

2.10. Как просмотреть результат?

2.11. Как выйти из программы?

Задания и технология выполнения.

3.1. Запустить программу Паскаль

Для этого выполните следующие действия:

· Активизировать Пуск

· Программы

· Активизировать Паскаль

3.3. Разработать программу вычисления выражения язык программирования паскаль. - student2.ru

с точностью до 2-х знаков.

· Программа

PROGRAM P1;

USES CRT;

VAR X,Y:REAL;

BEGIN

CLRSCR; {очистка экрана}

WRITE ( ‘ введите x’); { вывод поясняющего текста }

READ (X); {ввод значения X}

Y:= SQRT (ABS(-X)); { вычисление Y}

WRITELN (‘Y=’,Y:1:2) {вывод Y с точностью 2 знака }

END. { конец программы}

3.4. Получить результат выполнения программы

при x=25

x=36

x=49

Для этого выполните следующие действия:

· CTRL +F9 ввести 25 и ENTER

· Просмотреть результат ALT +F5 и ESC

· CTRL+F9 ввести 36 и ENTER

· ALT+F5 и ESC

· CTRL +F9 ввести 49 и ENTER

· ALT+F5 и ESC

4. Контрольные задания

4.1. Разработать программу вычисления следующего выражения:

4.1.1.y=tg(x); при x=0,5; x=0,7; x=0,9; с точностью 3 знака

4.1.2.y=ex ; при x=2; x=3; x=0,3; с точностью 2 знака

4.1.3. язык программирования паскаль. - student2.ru ; при x=4; x=10; x=20; с точностью 2 знака

4.1.4.y=5-sin(x); при x=0,7; x=0,8; x=0,5; с точностью 3 знака

4.1.5. язык программирования паскаль. - student2.ru ; при x=0,5; x=0,4; x=0,9; с точностью 2 знака

4.1.6.y=2*X ; при x=1; x=0,5; x=4; с точностью 3 знака

4.1.7.y=x4 ; при x=0,5; x=7; x=10; с точностью 2 знака

4.1.8.y=x2-4 ; при x=3; x=3,5; x=4; с точностью 2 знака

5. Рекомендуемая литература

5.1. Докунина Т.К. Программирование и алгоритмические языки.

- М.: Машиностроение, 1988.- с.265-268, 291-293.

Практическое занятие № 3

Тема: Основы алгоритмизации и программирования.

Задания и технология выполнения

3.1. Пример 1.

3.1.2. Разработать программу вычисления для следующего выражения:

язык программирования паскаль. - student2.ru

при x = - 4 , x = 4 с точностью до 2х знаков.

· Программа

PROGRAM K2; { заголовок }

USES CRT; { подключение библиотек }

VAR X,Y:REAL; { описание переменных }

BEGIN { начало раздела операторов }

CLRSCR ; { очистка экрана}

WRITE (‘Введите х’); { пояснительный текст }

READLN(X); {ввод х}

IF X>=0 THEN Y:=SQRT(ABS(X))

ELSE Y: =SQR(Х); { проверка условия }

WRITELN (‘Y=’,Y:1:2) {вывод Y}

END. { конец программы}

3.1.3. CTRL+F9 (запуск программы)

3.1.4. ALT+F5 ( просмотр результатов)

3.2. Пример 2.

3.2.2. Разработать программу вычисления следующего выражения

язык программирования паскаль. - student2.ru

с точностью до 2х знаков при х=3 , x=7 , x=15.

· Программа.

PROGRAM K3 ; { заголовок }

USES CRT ; { подключение библиотеки }

VAR X :INTEGER ; Y:REAL; { описание переменных }

BEGIN { начало разделения операторов }

CLRSCR; {очистка экрана }

WRITELN (‘,Введите х ‘); {пояснительный текст}

READ (X) ; { ввод х}

CASE X OF

1..5: Y: =2*X;

6..10: Y: =X/2

ELSE Y: =X

END; {выбор варианта}

WRITELN (‘Y=’, Y:1:2) {вывод Y)

END. {конец программы }

3.2.3. CTRL+F9 (запуск программы)

3.2.4. ALT+F5 ( просмотр результатов)

4. Контрольные задания.

4.1. Составить программу вычисления следующего выражения с точностью до 2-х знаков.

4.1.1. язык программирования паскаль. - student2.ru , при х = 0.5, x = 7.

4.1.2. язык программирования паскаль. - student2.ru , при х = - 0.7, x = 10.

4.1.3. язык программирования паскаль. - student2.ru , при х = -3, x = 3.

4.1.4. язык программирования паскаль. - student2.ru , при х = 0.4, x = 0.8.

4.1.5. язык программирования паскаль. - student2.ru , при х = 2, x = 10.

4.1.6. язык программирования паскаль. - student2.ru , при х = 0, x = -2, х = 2.

4.1.7. язык программирования паскаль. - student2.ru , при х = 0.2, x = 0.4, х = 0.6.

4.1.8. язык программирования паскаль. - student2.ru , при х = 0, x = 4, х = 0.5.

4.1.9. язык программирования паскаль. - student2.ru , при х = 2, x = 4, х = 6.

4.1.10. язык программирования паскаль. - student2.ru ,при х = 2, x = 4, х = 6.

5. Рекомендуемая литература

5.1. Бородич Ю.С. и др. Паскаль для персональных компьютеров.

- Мн.: Высш.шк.: БФ ГИТМП «НИКА», 1991.- с.36-39.

Практическое занятие № 4

Тема: Основы алгоритмизации и программирования

Тема занятия:Разработка и отладка циклических программ.

Цель: Получение практических навыков разработки циклических программ.

Техническое обеспечение: ПЭВМ

Программное обеспечение: Паскаль.

Место проведения занятий: Лаборатория ПЭВМ

Продолжительность занятия: 2 часа.

1. Краткая справка

Оператор повтора FOR состоит из заголовка и тела цикла. Он может быть представлен в двух форматах:

1. FOR <параметр цикла> := <S1> TO <S2> DO <оператор>;

2. FOR <параметр цикла> := <S1> DOWNTO <S2> DO <оператор>;

S1 и S2 — выражения, определяющие соответственно начальное и конечное значения параметра цикла. FOR … DO – заголовок цикла, <оператор> - тело цикла. Тело цикла может быть простым или составным оператором. Оператор FOR обеспечивает выполнение цикла до тех пор, пока не будут перебраны все значения параметра цикла от начального до конечного.

Оператор повтора REPEAT состоит из заголовка (repeat), тела и условия окончания (until).

Формат: REPEAT

<оператор;>

<оператор;>

<оператор;>

UNTIL <условие>;

Условие – выражение булевского типа. При написании условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами REPEAT и UNTIL, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат булевского выражения False, тело цикла тело цикла активизируется еще раз, если результат True — происходит выход из цикла.

Оператор REPEAT имеет три характерные особенности: выполняется, по крайней мере, 1 раз; тело цикла выполняется пока условие равно False; в теле может находиться произвольное число операторов без операторных скобок Begin … End.

Оператор повтора While осуществляет проверку условия выполнения цикла в самом начале оператора.

Формат: while <условие> do <тело цикла>;

Условие — булевское выражение, а тело цикла – простой или составной оператор. Перед каждым выполнением цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходит выход из цикла и переход к первому после While оператор. Если перед первым выполнением цикла значение выражения было равно False, тело цикла вообще не выполняется и происходит переход на следующий оператор.

2. Контрольные вопросы.

2.1. Оператор повтора FOR.

2.2. Оператор Repeat.

2.3. Оператор While.

Задания и технология выполнения.

3.1. Составить программу для вычисления следующего выражения:

язык программирования паскаль. - student2.ru ;

при х = 1..10, h = 1.

Технология работы:

3.1.1.Первый вариант:

¨ Программа:

Program K4;

Uses CRT;

Var X, Y: Integer;

Begin

ClrScr;

For X : = 1 To 10 Do

Begin

Y: = Sqr(X) + 4;

Writeln (‘Y = ‘,Y );

End;

End.

¨ <Ctrl> + <F9> — запуск программы.

¨ <Alt> + <F5> — просмотр результатов выполнения программы.

3.1.2. Второй вариант.

¨ Программа:

Program K5;

Uses CRT;

Var X,Y:Integer;

Begin

X: =1;

While X<=10 Do

Begin

Y: =Sqr(X)+4;

Writeln(‘Y=’,Y);

X: =X+1

End;

End.

¨ <Ctrl> + <F9> — запуск программы.

¨ <Alt> + <F5> — просмотр результатов выполнения программы.

3.1.3. Третий вариант:

¨ Программа:

Program K6;

Uses CRT;

Var X, Y:Integer;

Begin

X:=1;

Repeat

Y:= Sqr(X) +4;

Writeln (‘Y = ‘,Y);

X:=X+1;

Until ( X>10 );

End.

¨ <Ctrl> + <F9> — компиляция и запуск программы.

¨ <Alt> + <F5> — просмотр результатов выполнения программы.

4. Контрольные задания.

4.1. Разработать алгоритм и составить программу вычисления следующего выражения.

4.1.1. язык программирования паскаль. - student2.ru , x = 1..5, h = 1.

4.1.2. язык программирования паскаль. - student2.ru , x = 1..5, h = 0.5.

4.1.3. язык программирования паскаль. - student2.ru , x = -pi/2..pi/2, h = pi/4

4.1.4. язык программирования паскаль. - student2.ru , x = -pi..pi, h = pi/2

4.1.5. y = x3 – 2x, x = -3..3, h = 1

4.1.6. y = 2x2 + x3, x = 3..-3, h = -1

4.1.7. язык программирования паскаль. - student2.ru

4.1.8. язык программирования паскаль. - student2.ru

4.1.9. язык программирования паскаль. - student2.ru

4.1.10. язык программирования паскаль. - student2.ru

5. Рекомендуемая литература

5.1.Бородич Ю.С. и др.

Паскаль для персональных компьютеров.- Мн.: Высш.шк.: БФ ГИТМП

«НИКА», 1991.- с.39-43.

Практическое занятие № 5

Тема: Основы алгоритмизации и программирования.

Тема занятия: Использование алгоритмических структур в графике.

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

Техническое обеспечение: ПЭВМ

Программное обеспечение: Паскаль.

Место проведения занятий: Лаборатория ПЭВМ

Продолжительность занятия: 4 часа.

1. Краткая справка.

Всякое графическое изображение представляет собой совокупность точек – пикселей. Каждая из них задается своими координатами и цветом.

Количество отображаемых на экране пикселей называют разрешающей способностью (разрешением) графического экрана. Разрешение экрана может быть различным в зависимости от типа графического адаптера и графического драйвера.

Графический адаптер -печатная плата, на которой размещаются электронные компоненты видеодисплея.

Графический драйвер -специальная программа, которая осуществляет управление графическим адаптером.

Графика в стандартном видеорежиме среды программирования Borland Pascal, поддерживает следующие параметры экрана компьютера: 640 х 480 х 16 ( 640 точек по горизонтали, 480 точек по вертикали, 16 цветов).

Каждая точка (позиция) экрана задается номером пикселей по горизонтали и вертикале.

Например, пиксель (150, 120) находится в 150-м столбце и 120-й строке.

Для управления графическим экраном предназначен модуль GRAPH. Сам модуль представляет собой отдельный файл Graph.tpu. При программировании он должен быть доступным для компилятора. Также доступным (для запуска программ) должен быть драйвер EGAVGA.bgi. Файл Graph.tpu хранится в папке UNITS, а файл EGAVGA.bgi – в папке BGI, вложенной в папку BP.

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

  1. Подключить модуль GRAPH – USES GRAPH;
  2. Выполнить инициализацию графического режима (переход в графический режим):

А) в разделе описания переменных описать две целочисленные переменные для указания драйвера и режима работы графического адаптера, например gd и gr соответственно: Var gd, gr: Integer;

Б) в разделе операторов установить графический режим с помощью процедуры INITGRAPH:

….

Begin

Gd:=DETECT;

INITGRAPH (gd, gr, '');

  1. Выполнить графические построения.
  2. В конце программы выполнить возврат в текстовый режим с помощью процедуры CLOSEGRAPH:

….

Readln; {задержка результата на экране монитора}

CloseGraph;

End.

язык программирования паскаль. - student2.ru

Примечание: Общий вид процедуры INITGRAPH:

InitGraph (драйвер, режим, путь);

Здесь

«путь» - полный путь к папке, в которой хранится нужный графический драйвер. Если графический драйвер скопирован в текущую рабочую папку, путь представляется как «пустая строка».

Для задания типа драйвера можно использовать режим автоопределения DETECT.

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

InitGraph (драйвер, режим, ' С:/BP/BGI ');

В этом случае предварительное копирование файлов Graph.tru и EgaVga. bgi в рабочую папку не требуется.

Можно также соответствующим образом настроить среду программирования BP:

для этого в режиме среды Options – Directories – Unitdirectories указывается каталог, в котором размещаются требуемые файлы; например:

C:/BP/Units; /BP/BGI.

Создание изображений

Задание цвета

Прежде чем приступить к рисованию, художник готовит чистый холст и краски. При рисовании на языке Паскаль холст (фон рисунка) можно очистить с помощью процедуры ClearDevice; При этом холст заполняется фоновым цветом (по умолчанию черным).

Для выбора цвета фона, на котором будет выполняться рисунок, используется процедура SetBkColor:

SetBkColor (номер цвета);

Эта процедура изменяет цвет фона, не изменяя изображений (в отличие от процедуры ClearDevice, которая стирает все изображения).

Для выбора цвета изображения используется процедура SetColor:

SetColor (номер цвета);

язык программирования паскаль. - student2.ru Примечание:

Наши рекомендации