Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_учебник_3.doc
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
937.47 Кб
Скачать

Пример 4

Написать структурную схему для вычисления значения величины L:

Решение

Структурная схема представлена на рисунке 18.

Рис. 18

Структурная схема к примеру 4

Пример 5

Написать структурную схему для вычисления значения величины V:

Решение

Структурная схема представлена на рисунке 19.

После проверки условия блока 3, если условие истинно, то переходим к блоку 5 (имеем первый случай), если ложно – к шестому (второй случай). После проверки условия блока 4, если условие истинно, то переходим к блоку 7 (имеем третий случай), если ложно – к восьмому (четвертый случай).

Рис. 19

Структурная схема к примеру 5

Задания

№10. Написать структурные схемы для вычисления значений функций при любых значениях аргументов:

а)

б)

в)

№11. Составить структурные схемы для вычисления величин:

№12. Дано L и X. Если L=1, то Х - радиус круга;

если L=2, то Х - диаметр круга.

Найти площадь круга. Считать, что исходные данные введены правильно, и переменной L соответствует значение 1 или 2 (другие значения переменная L принимать не будет).

№13. Комиссия отбирает студентов в колхоз и на Семикаракорский консервный завод (СКЗ) по следующему признаку:

если студенту нет 18 лет, он едет в колхоз;

если же есть 18 лет - на СКЗ.

Куда поедут первые 20 студентов, пришедшие на комиссию?

№14. Определить значения функции

y(x)=Sin x + 5,3

на интервале [0,1] (х[0,1]) с шагом 0,1.

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

  1. Алфавит языка pascal. Типы данных. Раздел описаний. Оператор присваивания. Ввод-вывод. Составление простейших программ

Швейцарский ученый Никлаус Вирт совместно с сотрудниками Швейцарского федерального института технологии в Цюрихе в 1968 году разработал версию языка Pascal (стандарт языка появился только в 1982 г.), названного так в честь великого французского математика и механика Блеза Паскаля, создавшего в 1642 г. первую счетную машину.

Из многочисленных реализаций языка для разных машинных архитектур наиболее удачной и популярной оказалась разработка фирмы Borland International для персональных IBM – совместимых ЭВМ. Эта реализация языка получила название Turbo/Pascal (Турбо/Паскаль) и имеет несколько версий. Мы познакомимся с версией 7.0.

Turbo/Pascal представляет собой систему программирования, включающую в себя текстовый редактор, компилятор, компоновщик, загрузчик, отладчик, файловую систему, системную библиотеку, справочную систему. Все эти компоненты объединены в интегрированную среду с многооконным интерфейсом и развитой системой меню.

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

  1. Заглавные и строчные латинские буквы и символ подчеркивания:

A, B, C, …, X, Y,Z, a, b, c, …, x, y, z, _

  1. Арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

  2. Специальные символы: + - * / = > < . , ; : @ ( ) [ ] { } # $ ^

ИЗ СИ++

  1. Знаки нумерации и специальные символы: + - * / = > < . , ; : ? ! | ' \ ( ) [ ] { } # ~ & " % ^ Эти символы используются с одной стороны для организации процесса вычислений, а с другой - для передачи компилятору определенного набора инструкций

  2. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка

Максимальная длина строки – 128 символов.

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

Длина идентификатора может быть произвольной, однако компилятор воспринимает только первые 63 символа.хотя значимыми являются.первые 32 в си

Компилятор не делает различия между прописными и строчными буквами. Следующие три идентификатора имеют один и тот же смысл:

Kati, KATI, kati

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

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

Ключевые слова - это зарезервированные идентификаторы, которые наделены определенным смыслом. Их можно использовать только в соответствии со значением, известным компилятору языка С++.

Комментарии представляют собой произвольную последовательность символов, заключенную в фигурные скобки {}. Вместо них могут использоваться пары символов (* *). Вложенность комментариев друг в друга допускается только для комментариев, заключенных в различные пары скобок.

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

В программе выделяются заголовок и «тело» программы, называемое блоком. Блок отделяется от заголовка точкой с запятой, а вся программа оканчивается точкой. Заголовок программы может отсутствовать.

Блок состоит из шести разделов:

  1. Раздел объявления меток (Label);

  2. Раздел определения констант (Const);

  3. Раздел определения типов (Type);

  4. Раздел описания переменных (Var);

  5. Раздел описания процедур и функций;

  6. Раздел операторов.

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

Раздел операторов (или выполняемая часть программы) начинается со слова

Begin

и заканчивается словом

End.,

после которого обязательно ставится точка.

Begin

………..

………..

End

(End без точки в конце) могут встретиться и в середине программы. Это составной оператор, или, как его еще называют, операторные скобки. Между Begin и End может находиться любое количество операторов.

Общий вид оператора присваивания:

R:=выражение

имя переменной

В результате выполнения оператора присваивания переменной присваивается значение некоторого выражения.

Обратите внимание, что в этом операторе стоит не знак равенства «=», а знак присваивания «:=», который состоит из двух символов. Например, следующее выражение:

S:=-5;

можно прочесть так: переменной S присвоить значение -5. А можно прочесть и так: S положить равным -5. Обратите внимание: «положить равным» - два слова; этим словам соответствуют два символа: «:=».

Раздел описания переменных начинается словом VAR. Вслед за ним идет список, записи которого имеют следующую структуру:

VAR

<список имен>:<тип>;

…………………...................

<список имен>:<тип>;

одно имя, либо несколько через запятую

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

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

Основные типы, которые мы будем использовать при описании переменных, следующие:

1. Целые (Integer, LongInt, Byte, ShortInt, Word);

2.Логический (Boolean);

3. Перечислимый;

4. Символьный (Char);

5. Ограниченный (тип-диапазон);

6. Вещественный (Real);

7. Массивы (Array [1..10] of);

8. Записи (Record);

9. Множества (Set of);

10. Строки (String);

11. Файлы (File of, Text, File).

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

Диапазоны целых и вещественных типов приведены в приложениях 1 и 2. Порядок вычислений – в приложении 3.

Над переменными целого и вещественного типов определены следующие операции:

+ - сложение;

- - вычитание;

* - умножение;

/ - деление (для вещественных чисел);

div - деление (для целых чисел);

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

Тип данных результатов арифметической операции зависит от типов данных участвующих в ней операндов. Правила здесь таковы:

а) для операций +, -, * результат является целочисленным в том случае, если оба операнда - целые числа, в противном случае, если один из операндов целого типа, а другой - вещественного, результат является вещественным;

б) для операций / результат всегда вещественный, даже когда оба операнда целые числа;

в) для операций div (целочисленное деление) и mod (остаток от де­ления) результат является целочисленным, а сами операции не могут употребляться с вещественными операндами.

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

ab=eb ln a ( exp(b*ln(a)) )

Приведенный ниже фрагмент программы демонстрирует некоторые ошибки, возникающие при неосторожном обращении с типами данных.

В этом фрагменте пытаются получить число, которое на единицу больше максимального целого числа (типа Integer). Это значение присваивают трем переменным вещественного типа: a, b и c, - и только для переменной с это сделано правильно (см. п. а), описанный выше):

var

i,j:integer;

a,b,c:real;

begin

i:=32767; {максимальное число типа INTEGER}

j:=1;

a:=i+j;

b:=i+1;

c:=i+1.0;

. . . . . . . .

end.

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

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