Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 12.doc
Скачиваний:
48
Добавлен:
18.08.2019
Размер:
1.7 Mб
Скачать

Конструирование блок-схем алгоритмов

Рассмотрим несколько типов задач, которые понадобятся Вам при решении контрольной работы. За основу построения блок-схем возьмем алгоритмы, построенные в разделе «Алгоритмы».

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

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

a=2,68; b=1,75.

х=1,27.

Решение.

Как уже говорилось, сам алгоритм и принцип его построения приведет в разделе «Алгоритмы». Поэтому здесь мы приведем лишь готовую блок-схему, сконструированную на основе алгоритма приведенного выше.

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

PROGRAM <имя>; {Заголовок программы}

{РАЗДЕЛ ОПИСАНИЙ}

CONST - раздел констант

VAR - раздел переменных

PROCEDURE, FUNCTION - раздел описания собственных процедур и функций

{РАЗДЕЛ ОПЕРАТОРОВ ИЛИ ТЕЛО ПРОГРАММЫ}

BEGIN

оператор 1;

оператор 2;

оператор n

END.

При написании программы нужно помнить, что жестко задаются только названия и последовательность разделов. Причем разделы CONST, VAR и PROCEDURE-FUNCTION вовсе не обязательны. Операторы не привязаны к определенной позиции в строке и могут начинаться после нескольких пробелов. Каждый оператор заканчивается символом «;». В одной строке можно указать несколько операторов или описаний. Допускается перенос с одной строки на другую частей описания или операторов, но не разрешается разделять слова, константы и составные символы.

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

Типы данных и операторы

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

  • целые числа (integer);

  • вещественные числа (real) - числа, имеющие дробную часть. В математике Вы наверняка изучали стандартную форму представления дробного числа (числа с плавающей точкой): например, 3,456х1023 или 3,14159 или 6,12х1025;

  • символы (char) - это любые символы алфавита языка, а также любые символы, которые Вы можете ввести с клавиатуры;

  • строки (string) - символы могут объединяться в символьные строки.

Примеры описания переменных:

VAR

X : INTEGER;

Y,Z,T : REAL;

C1,C2 : CHAR;

S1 : STRING;

I, J, K : INTEGER;

Кроме основных типов, в Паскале используется зарезервированной слово для организации массивов переменных - ARRAY. Примеры описания массивов:

X : ARRAY [1..5] OF INTEGER; - одномерный массив из 5 целых чисел,

Y : ARRAY [1..5,1..10] OF REAL - двухмерный массив вещественных чисел размером 5x10.

Для того, чтобы обратиться к элементу массива с определенным номером, используются квадратные скобки: X[2] - второй элемент массива X, Y[3,7] - элемент массива Y из строки 3 с номером 7.

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

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

Оператор присваивания. Основной операцией в программе, как правило, является операция присваивания. В Паскале этот оператор обозначается символом «:=».

Примеры.

X := 5;

Y := SQRT(X+10);

После выполнения этого оператора, переменной, стоящей слева от оператора (всегда одна!) присваивается значение выражения, записанного справа от знака присваивания.

Операторы арифметических операций.

  • сложение (+);

  • вычитание (-);

  • умножение (*);

  • деление (/);

  • деление целых чисел без остатка (DIV);

  • остаток от деления целых чисел (MOD).

Приоритет выполнения операций в выражении точно такой же, как и в арифметике, изучаемой Вами в школе: сначала выполняются операции *, /, затем - +, -. Изменить приоритет операций можно с помощью круглых скобок.

Операторы отношения.

Операторы данного класса сравнивают два значения, возвращая в результате одно из двух значений: TRUE или FALSE (истина или ложь, в блок-схемах алгоритмов мы обозначали эти значения соответственно «да» или «нет»).

  • > - больше, чем;

  • >= - больше или равно;

  • < - меньше, чем;

  • <= - меньше или равно;

  • = - равно;

  • <> - не равно.

Логические операторы.

Если Вам потребовалось в Паскале проанализировать несколько условий, то можно воспользоваться логическими операторами AND и OR - соответственно «И» и «ИЛИ». Каждое условие при этом берется в круглые скобки.

Примеры:

IF (X<>0) AND (X<10) THEN Y := 6; - если Х не равен нулю и меньше 10 - то Y присвоить значение 6;

IF (A[1]=0) OR (A[10]=0) THEN X := 10; - если первый или десятый элемент массива A равны нулю, то Х присвоить значение 10.

Вывод.

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

Формат команды: WRITELN(выражение 1, выражение 2, …, выражение n);

Выражением может быть любая константа или переменная, строка (для вывода строки ее надо взять в одинарные кавычки, например WRITELN(‘Привет’);). Нужно помнить, что при выводе нескольких элементов пробелы между ними не проставляются, поэтому их надо учитывать самим.

Иногда для вывода информации используется процедура WRITE. Ее отличие видно из примеров, приведенных ниже

Примеры использования процедуры WRITELN для различных типов переменных:

VAR

A, B, C : INTEGER;

X : REAL;

NAME : STRING;

BEGIN

A := 15; B := 2; C := 32;

X := 15.5678;

NAME := ‘СВЕТА’;

WRITELN(A, B, C); 15232

WRITELN(A,’ ‘,B,’ ‘,C); 15 2 32

WRITELN(A:2, B:2, C:2); 15 232 { - с заданием позиций вывода для каждого числа}

WRITELN(A:3, B:3, C:3); 15 2 32

WRITELN(A, B:2, C:3); 15 2 32

WRITELN(‘ПРИВЕТ’,NAME); ПРИВЕТСВЕТА

WRITELN(‘ПРИВЕТ, ’,NAME); ПРИВЕТ, СВЕТА

WRITELN(X); 1,5567800000E+02 { - такой вид имеет число внутри машины}

WRITELN(X:4); 1,5567E+02

WRITELN(X:4:3); 15,567

WRITELN(X:5:2); 15,567

WRITELN(X:7:6); 15,567800

WRITELN(A);WRITELN(B);WRITELN(C); 15

2

32

WRITE(A);WRITE(B);WRITE(C); 15232

END.

Ввод.

В Паскале существует стандартная процедура ввода любой переменной с клавиатуры - READLN.

Пример.

READLN(X);

READLN(A);

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]