Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИНФОРМАТИКА

.doc
Скачиваний:
9
Добавлен:
18.03.2015
Размер:
485.38 Кб
Скачать

Лекция 5. Операторы повторения (цикла)

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

Для организации цикла в ТП имеются три различных оператора.

  1. Счетный оператор цикла For:

For <параметр цикла>:=<начальное значение> to <конечное значение> do Р;

P- простой или составной оператор.

При каждом прохождении цикла < параметр цикла >, начиная с <начального значения>, увеличивается на единицу. Цикл выполняется, пока <параметр цикла> не станет больше <конечного значения>.

Другой вариант записи оператора For:

For <параметр цикла >:=< начальное значение> downto <конечное значение> do Р;

В этом случае при каждом прохождении цикла < параметр цикла > уменьшается на единицу от <начального значения> до <конечного значения>.

  1. Оператор цикла While с проверкой предусловия:

While <условие> do P; {Пока выполняется условие, делать}

Цикл выполняется, пока условие истинно (true).

  1. Оператор цикла Repeat … until с проверкой постусловия:

Repeat P until <условие>; {Выполнять до тех пор, пока не будет выполнено условие}

Цикл выполняется, пока условие ложно (false).

Пример.

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

    2. Математическое описание.

    3. Структограммы и программы для каждого оператора цикла приведены в таблице:

Таблица

Структограммы и программы

Цикл For

While

Repeat

3.1.

3.2

3.3

4.1:

Program P2;

Var i,S:integer;

Begin

S:=0;

For i:=1 to 5 do

S:=S+i;

Writeln(‘S=’,S:5);

End.

4.2:

Program P2;

Var i,S:byte;

Begin

S:=0; i:=1;

While i<=5 do

Begin

S:=S+i;

I:=i+1;

End;

Writeln(‘S=’,S);

End.

4.3:

Program P3;

Var i,S:integer;

Begin

S:=0; i:=1;

Repeat

S:=S+i;

I:=i+1;

Until i>=6;

Writeln(S);

End.

Лекция 6. Условный оператор IF

- предназначен для ветвления программы на два направления.

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

Рассмотрим четыре варианта записи оператора IF:

  1. If <условие> then P1 else P2;

  2. If <условие> then P1;

  3. If (<условие1>) or (<условие2>) then P1 else P2;

  4. If (<условие1>) and (<условие2>) then P1 else P2;

где <условие>,<условие1>, <условие2> - переменные логического типа. Р1, Р2 - простые или составные операторы.

  • В первом случае если условие истинно, то выполняется оператор P1, если ложно – то P2.

  • Во втором варианте записана краткая форма оператора.

  • В третьем и четвертом примерах два условия объединены служебными словами or (или) и and (и). В результате объединения получается новая логическая переменная, истинность которой определяется согласно следующей таблицы.

Таблица

Таблица истинности сложных условий: И - истинно, Л - ложно

(<условие1>)

И

И

Л

Л

(<условие2>)

И

Л

И

Л

(<условие1>) or (<условие2>)

И

И

И

Л

(<условие1>) and (<условие2>)

И

Л

Л

Л

Пример. Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0.

Технологические операции программирования и их выполнение приведены в таблице

Таблица

N

Этапы программирования

Выполнение

1.

Постановка задачи

Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0.

2.

Математическое описание

3.

Разработка структограммы

4.

Написание программы

Program P3;

Var a,b,c,d,x1,x2:real;

Begin

a:=1;

b:=3;

c:=5;

D:=sqr(b)-4*a*c;

If D>=0 then

Begin

X1:=(-b+sqrt(D))/2/a;

X2:=(-b-sqrt(D))/2/a;

Writeln(x1,x2);

End

Else

Writeln(‘Действ.корней нет’);

End.

5.

Отладка и получение результатов

Выполнить самостоятельно

Оператор выбора (case)

Предназначен для ветвления программ на 2 или несколько направлений.

Case <ключ выбора> of <список выбора> else P end;

<ключ выбора> - идентификатор целого или символьного типа,

<список выбора> - включает в себя две или более конструкций следующего вида:

<константа выбора> : <оператор>;

<константа выбора> - это идентификатор того же типа, что и <ключ выбора>.

Пример. Для 100 целых значений x рассчитать значение .

Составить два варианта программ: с помощью условного оператора if и c помощью оператора выбора Case.

Технологические операции программирования приведены в таблице

Таблица

N

Технологическая операция

Выполнение

1.

Постановка задачи

Для 100 целых значений x рассчитать значение y,

2.

Математическое описание

Для определения четности воспользуемся оператором mod – остаток целочисленного деления:

Если x mod 2=0, то x-четное

Если x mod 2=1, то x-нечетное

3.

Разработка структограммы

4.

Написание программы

4.1

С помощью оператора If

Program P4;

Var x,y:integer;

Begin

For x:=1 to 100 do

Begin

If x mod 2 =0 then y:=2*x else y:=2+x;

Writeln(x,y);

End;

End.

4.2

С помощью оператора Case

Program P4;

Var x,y:integer;

Begin

For x:=1 to 100 do

Begin

Case x mod 2 of

0: y:=2*x;

1: y:=2+x;

end;

Writeln(x,y);

End;

End.

5.

Отладка и получение результатов

Выполнить самостоятельно

ФУНКЦИЯ И ПРОЦЕДУРА

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

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

Описание функций и процедур включает заголовок и основную часть описания.

  1. Заголовок:

Function F1(<С.Ф.П.>): тип; {для функций},

Procedure Pr(<С.Ф.П.>); {для процедур},

где Function, Procedure – служебные слова, показывающие, что далее следует описание функции и процедуры соответственно,

F1 и Pr – имена функции и процедуры, которые записываются как идентификаторы ТП, <С.Ф.П.> - список формальных параметров.

Входные параметры от выходных при описании процедуры разделяются служебным словом var. Выходным параметром у функции является имя функции.

  1. Основная часть описания функции и процедуры полностью повторяет структуру программы (см. лекцию 3).

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

Пример. Написать программу вычисления площади круга с помощью функции и процедуры.

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

Таблица

N

Этап программирования

Выполнение

1

Постановка задачи

Написать программу вычисления площади круга с помощью функции и процедуры

2

Математическое описание

Формула для площади круга S=π∙R2

3

Разработка структограммы

3.1

С использованием функции

3.2

С использованием процедуры

4.

Написание программы

4.1

С использованием функции

Program PY;

Var R,S:real; Function PL(R:real):real;{Описание функции }

Begin PL:=p*sqr(R);

End;

Begin

R:=3; S:=PL(R); {Обращение к функции}

Writeln(R,S);

End.

4.2

С использованием процедуры

Program PY;

Var R,S:real; Procedure PL(R:real;var S:real); {Описание процедуры }

Begin S:=p*sqr(R);

End;

Begin

R:=3; PL(R,S); {Обращение к процедуре}

Writeln(R,S);

End.

5.

Отладка и получение результатов

Выполнить самостоятельно

Лекция 7. Графика Турбо Паскаля

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

Графические процедуры

Arc(x,y:integer;St,En,R:word); {рисование дуги, где x,y - коорд. центра дуги, R - радиус, St, En - нач. и конечный углы.}

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

Circle(x,y:integer;R:word); {окружность радиуса R

cцентром в точке (x,y)}

CloseGraph; {закрытие графики}

InitGraph(gd,gm:integer;Path:string); {инициализация графики, где

gd - графический драйвер,

gm - графический режим,

Path - путь размещения файла

с расширением .bgi.}

Line(x1,y1,x2,y2:integer); {рисование линии, проходящей через две точки:

с координатами (x1,y1) и (x2,y2) }

LineRel(dx,dy:integer); {рисование линии: dx, dy – приращения

координат к координатам текущей

позиции курсора}

LineTo(x,y:integer); {рисование линии, проходящую через текущую

позицию курсора и точку с координатами (x,y)}

Moveto(x,y:integer); {задание координат текущей точки}

OutText(T:string); {вывод текста в текущую точку}

OutTextXY(x,y:integer;T:string);{вывод текста в точку с координатами х,у}

Rectangle(x1,y1,x2,y2:integer); {рисование прямоугольника: (x1,y1) и (x2,y2) - координаты противоположных вершин}

PutPixel(x,y:integer;c:word); {выводит точку с координатами (х,у) цветом с}

Графические функции

GetMaxX - определяет максимальный размер экрана по оси x.

GetMaxY - определяет максимальный размер экрана по оси y.

GetX - координата текущей позиции курсора по оси x.

GetY - координата текущей позиции курсора по оси y.

Машинные координаты

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

На рисунке приведена также машинная (xm, ym) и физическая (x,y) системы координат. Для изображения на экране точки с физическими координатами (x,y) необходимо определить ее машинные координаты (xm, ym). Расчетные формулы имеют следующий вид (попробуйте самостоятельно получить эти формулы):

xm=x0+x*Mx ,

ym=y0-y*My,

где Mx, My-масштабы соответственно по осям x и y, которые показывают число пикселей в одной физической единице,

x, y- физические координаты точки,

xm, ym- машинные координаты точки,

x0, y0- машинные координаты начала физической системы координат.

Пример. Нарисовать через весь экран горизонтальную и вертикальную линии, пересекающиеся в центре монитора.

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

Таблица

N

Этапы программирования

Выполнение

1.

Постановка задачи

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

2.

Математическое описание

Изобразим вид экрана с указанием координат

требуемых линий

3.

Разработка структограммы

4.

Написание программы

Program P5;

Uses graph; {подключение граф.модуля}

Var gd,gm:integer;

Begin

gd:=detect;{определение граф. драйвера}

InitGraph(gd,gm,’ ‘);{инициализация

графики}

Line(0, round(GetMaxY/2), GetMaxX,

Round(GetMaxY/2));{гориз. лин.}

Line(round(GetMaxX/2), 0,

Round(GetMaxX/2), GetMaxY);

{вертик. лин.}

Readln; {пустой ввод}

CloseGraph; {закрытие графики}

End.

5.

Отладка и получение результатов

Выполнить самостоятельно

Пример. Написать программу построения графика функции y=x2 для x∈[-1;1].

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

Таблица

N

Этапы программирования

Выполнение

1.

Постановка задачи

Построить график функции y=x2 для x∈[-1;1].

2.

Математическое описание

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

3.

Разработка структограммы

4.

Написание программы

Program P6;

Uses graph;

Var gd,gm:integer;

x,y:real;

x0,y0,xm,ym,Mx,My:integer;

begin

gd:=detect;

InitGraph(gd,gm,’ ‘);

Mx:=300; x0:=320; My:=440; y0:=460;

{выбраны для монитора 640×480 пикс.}

For xm:=20 to 620 do

Begin

x:=(xm-x0)/Mx;

y:=sqr(x);

ym:=round(y0-y*My);

PutPixel(xm,ym,1);

End;

Readln;

CloseGraph;

End.

5.

Отладка и получение результатов

Выполнить самостоятельно

Лекция 8. Среда Турбо Паскаля

Среда Турбо Паскаля загружается файлом turbo.exe.

Главное меню ТП содержит оглавление дополнительных меню:

  1. - вспомогательные действия.

  2. File(файл) – действие с файлами.

  3. Edit (редактировать) – редактирование файлов.

  4. Search (искать) – поиск.

  5. Run (работа) –прогон программы.

  6. Compile (компиляция) – компиляция программы.

  7. Debug ( отладка) – отладка программы.

  8. Options (варианты) – установка параметров среды.

  9. Windows (окно) – работа с окнами.

  10. Help (помощь) –обращение к справочной службе.

Выбор пункта главного меню приводит к появлению дополнительного меню, вид и назначение которого для каждой клавиши рассмотрены ниже на примере версии Турбо Паскаля 6.0.

  1. Вспомогательные действия

    About

    Версия о Паскале

    Refresh display

    Восстановление экрана

    Clear Desktop

    Очистка экрана

  2. File (файл) – действие с файлами;

    OpenF3

    Открыть файл {A:\LB1}

    New

    Новый файл

    SaveF2

    Сохранение

    Save as …

    Сохранить как

    Save all

    Записать всё

    Change dir

    Изменение директории

    Print

    Распечатывает файл из активного окна

    Get into

    Получение информации

    Dos shell

    Временный выход в DOS (из Turbo Pascal)

    Exit Alt-X

    Выход из Turbo Pascal

  3. Edit – редактирование

    Restore Line

    Восстановление строки

    CutShift+Del

    Удаление выделенного блока из окна в буфер

    Copy Ctrl-Ins

    Копирование выделенного блока из окна в буфер

    Paste Shift-Ins

    Копирование буфера в окно редактирования

    Copy Examples

    Копирование примера

    Clear Ctrl-Del

    Удаление выделенного блока

  4. Search - поиск

    Find

    Найти

    Replace

    Заменить

    Search again

    Повторить поиск

    Go to line number

    Искать линию с номером

    Find procedure

    Поиск процедуры

    Find Error

    Поиск ошибки

  5. Run – работа

    Run Ctrl+F9

    Запуск программы

    Program Reset

    Прекращение отладки

    Go to cursor

    Начало режима отладки

    Trace into F7

    Режим отладки сначала

    Step over F8

    Следующий шаг

    Parameters

    Параметры

  6. Compile – компиляция

    CompileAlt+F9

    Создание exeфайла

    MakeF9

    Перекомпиляция измененных файлов

    Build

    Перекомпиляция всех файлов

    Destination

    Путь компиляции

    Primary File

    Имя компилируемого файла

  7. Debug – отладка

    Evaluate/Modify Ctrl+F4

    Оценка модификации

    Watches

    Наблюдение

    Toggle Break Point Ctrl+F8

    Установка контрольной точки

    Break points

    Контрольные точки

  8. Options – Опции

    Compiler

    Компилятор

    Memory size

    Размер памяти

    Linker

    Редактор связи

    Debugger

    Отладка

    Directories

    Директории

    Environment

    Окружающая среда

    Save options

    Запись опций

    Retrieve

    Загрузка опций

  9. Windows – окна

    Size/Move

    Размер и положение окна на экране

    ZoomF5

    Распахнуть

    Title

    Черепица

    Cascade

    Каскад

    Next F6

    Следующее окно

    Previous Shift+F6

    Предыдущее окно

    CloseAlt+F3

    Закрыть

    Watch

    Окно наблюдения

    Register

    Регистр

    Output

    Выходное окно

    Call stack

    Показать список

    User screenAlt+ F5

    Окно пользователя

    List

    Посмотреть содержимое экрана

  10. Help – помощь

    Contents

    Содержание

    IndexSheft+F1

    Алфавитный список

    Topic Search Ctrl+F1

    Поиск в окрестностях курсора

    Previous Topic Alt+F1

    Предыдущее сообщение

Редактирование файла

Для корректировки файла в редакторе ТП зарезервированы следующие комбинации клавиш: