Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB2.DOC
Скачиваний:
26
Добавлен:
03.06.2015
Размер:
155.65 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 2

Разработка программы линейной структуры

Цель работы:

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

- алфавит, имена и числа;

- базовые типы данных и операторы;

- переменные и константы;

- арифметические и булевские выражения;

- ввод и вывод данных;

- структура программы.

Используемое оборудование:

- персональная ЭВМ, совместимая с IBM PC.

Используемое программное обеспечение:

- операционная система Windows98 и выше;

- интегрированная среда программирования Turbo Pascal 7.0 .

1. Порядок выполнения работы

1. Запустить ИСП ТР.

2. Написать программу для расчета электрической цепи (по заданию преподавателя) и ввести текст этой программы в режиме редактирования.

3. Сохранить текст программы в рабочем каталоге диска в файле.

4. Произвести трансляцию программы с последующим её выполнением.

5. Убедиться в правильности работы программы путем расчета вручную тестового примера и сравнения результатов расчета с результатами, полученными при выполнении программы.

6. Закончить работу ИСП ТР.

2. Содержание отчета

1. Наименование лабораторной работы, цель и используемые оборудование и программное обеспечение.

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

3. Метод решения задачи.

4. Схема алгоритма.

5. Текст программы.

6. Тестовая задача.

7. Выводы по выполненной работе.

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

1. Запишите на языке Паскаль следующие числа:

а) 13/4;

б) 1/1000;

в) -6,86.

2. Есть ли с точки зрения языка Паскаль разница между числами:

а) 20 и 20.0;

б) 20.0 и 2Е1.

3. Что определяет тип переменной и константы?

  1. Какова общая структура программы на языке Паскаль?

  1. Найдите ошибки в описании переменных:

var

x,y : integer; z : '1'..2; true : real; t,x : 1..100;

a : 1.0 .. 2.0;

6. Когда переменная имеет неопределенное значение?

7. Для чего нужны стандартные функции trunc и round?

8. Найдите ошибки в следующих операторах присваивания (переменные x и y принадлежат к вещественному, а переменные k, m - к целому типу):

a) x:=x/(k+m) mod 2;

b) m:=2round(x/y)/2;

c) x:=5.0+trunc(abs(k+2)).

9. Для чего нужны переменные ограниченных типов?

10. Вычислите значение выражений:

56 div 4 mod 5;

round(7/2)+trunc(5/2).

11. Какой тип (целый или вещественный) имеют следующие выражения языка Паскаль:

a) 51.0;

b) 33/3;

c) sqrt(4);

d) sqrt(2);

e) 01.0.

12. Пусть x и y - булевские переменные, x=true, y=false. Вычислить значения следующих булевских выражений:

a) x and (not y or not x);

b) (1<2) and false or not x;

c) (2=3) or (y<x).

13. Запишите в виде булевского выражения условие того, что из трех отрезков длины a, b, c можно построить треугольник.

14. Пусть x - булевская и a - целочисленная переменные. Эквивалентны ли следующие операторы:

a) if a=1 then x:=true else x:=false; и

x:=a=1;

b) if x then a:=1 else a:=2; и

case x of

true: a:=1;

false: a:=2

end;

15. Запишите следующие условия в виде булевских выражений языка Паскаль:

a) целое m кратно 5;

b) число a - наибольшее из чисел x и y;

c) год k - високосный;

  1. числа a, b, c равны между собой;

  2. целое x - положительное и нечетное.

4. Основные понятия языка Паскаль

4.1. Общее описание языка. Алфавит, данные и операторы. Имена и числа

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

+ - * / : = < > . , ; ( ) [ ] ^ @ ‘ # $ { }

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

:= <= >= <> *) (* ..

Следующие специальные символы являются эквивалентными:

(* - {

*) - }

[ - (.

] - .)

Текст программы на языке Паскаль записывается в виде последовательности строк. Каждая строка текста программы может занимать одну строку на экране дисплея. Максимальная длина строки в разных реализациях языка имеет разное значение, обычно рекомендуют, чтобы длина строки текста не превышала 80 символов, так как иначе нет возможности одновременно видеть на экране дисплея всю строку сразу. Считается, что при переходе с одной строки на следующую в текст программы автоматически вставляется символ пробела (важность этого правила будет видна ниже).

Выполнение программы на языке Паскаль происходит в два этапа: компиляции исходного текста программы в машинные коды, и собственно выполнения компилированной программы на машинном языке.

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

Длина имени не ограничивается, но только первые 63 символа имени являются значимыми (в ТР). Таким образом, если у двух имен совпадают первые 63 символа, они считаются одним и тем же именем. Имена не могут включать в себя пробелы и, следовательно, не могут переноситься с одной строки на другую.

Примеры правильных имен:

А_6 В123 Variable bissektrisa

Примеры неправильных имен:

1А - имя начинается с цифры;

Primer 1 - имя содержит пробел;

Name-1 - имя содержит символ ’’-’’.

Некоторое множество имен зарезервировано для написания служебных слов языка Паскаль, которые входят в операторы, описания и другие конструкции языка. Использовать служебные слова в каком–либо ином смысле (например, в качестве имен переменных) не разрешается. При вводе текста программы в ЭВМ служебные слова программы никак специально не выделяются по сравнению с другими именами программы. Ниже приводятся служебные слова языка Паскаль:

absolute, do, implementation, or, then,

and, downto, in, packed, to,

array, else, inline, private, type,

asm, end, interface, procedure, unit,

assembler, external, interrupt, program, until,

begin, file, label, record, uses,

case, for, mod, repeat, var,

const, forward, nil, set, virtual,

constructor, function, not, shl, while,

destructor, goto, object, shr, with,

div, if , of , string, xor.

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

SIN COS REAL TRUE

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

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

0 +25 22222 -009

Примеры вещественных (дробных) чисел:

+0.000 3.1415Е+1 -2Е-35 3Е4

Обратите внимание, что целая часть вещественного числа отделяется от дробной не запятой, а точкой. Как видно, тип числа однозначно определяется его записью: в состав вещественных чисел обязательно входят точка и/или символ Е. Буква Е (латинская), целое значение за которой образует масштабный множитель, обозначает умножение на 10 в степени этого множителя. Например, запись 2Е-4 обозначает число 0.0002.

Целые числа точно представляются в памяти ЭВМ, и арифметические операции над целыми числами выполняются быстрее и дают точные результаты. Для вещественных чисел допускается приближенное представление в памяти машины, например, число 5.3 может иметь приближенное представление 5.299999. Поэтому результаты операций над вещественными числами являются приближенными.

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

0,2 - запятая вместо точки (правильно 0.2);

1 000 - содержит пробел (правильно 1000);

Е3 - нет числа перед Е (правильно 1Е3);

08 - нет целой части (правильно 0.08);

120 - нет дробной части для вещественного (правильно 120.0 или 12Е1).

Каждый тип числа (как целый, так и вещественный) имеет диапазон допустимых значений (см. таблицы 1 и 2).

Таблица 1

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