Сделай Сам Свою Работу на 5

Программирование линейных алгоритмов

Кафедра общей физики

ИНФОРМАТИКА

Часть 2

Основы программирования на языке PASCAL

Лабораторная работа №1

Программирование линейных алгоритмов

Волгоград


Составитель: Глазов С.Ю., доцент кафедры общей физики ВГПУ

Информатика. ч.2. Основы программирования на языке Pascal.

Лабораторная работа №1

Программирование линейных алгоритмов

2007.


Лабораторная работа №1

Основы программирования на языке PASCAL

Программирование линейных алгоритмов

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

Назначение системы программирования

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

Система программирования представляет собой интегрированную среду, включающую: экранный редактор; компилятор; редактор связей; отладчик.

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

 

Главное меню

Обычно главное меню интегрированной среды разработки состоит из элементов: File (файл), Edit(редактор), Search(поиск), Run(выполнение), Compile(компилирование), Debug(отладка), Options(опции), Tools(средства), Options(установки), Window(окна), Help(помощь). Все они имеют собственные подменю, некоторые несколько вложенных подменю.

Подготовка и выполнение программ

Текстовый редактор в среде программирования предназначен для набора и редактирования текстов программ. Простейшие возможности текстового редактора:

1.чтобы удалить строку необходимо подвести к ней курсор и нажать <Ctrl-Y>;



2.чтобы вставить строку нужно подвести курсор к концу предыдущей строки и нажать <Enter>;

3.чтобы удалить символ в строке нужно подвести курсор к данному символу и нажать <Del>;

4.чтобы вставить символ в строке необходимо подвести курсор к тому символу, перед которым осуществляется вставка, и ввести символы (режим вставка включается нажатием клавиши Insert).

Команды (управляющие комбинации клавиш) для выделенных блоков.

<Shift+стрелки> выделить блок текста программы.

<Ctrl+Ins>копировать блок в буфер обмена (в оперативную память).

<Shift+Ins> вставить блок из буфера обмена, копия блока помещается в место с позиции указанной курсором.

<Ctrl-k-v> переместить блок, блок удаляется со старого места и помещается в новое, начиная с текущей позиции курсора.

<Ctrl-k-y> удалить блок.

<Ctrl-k-h> снять выделение с блока (если вы хотите снова ввести последний блок, повторите команду <Ctrl-k-h>).

<Ctrl-k-w> записать выделенный блок. <Ctrl-k-r> прочитать файл и вставить в текст

<Ctrl-k-p> печать блока на принтере (или <Ctrl-k-w> с именем файла prn).

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

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

 

Идентификаторы. Переменные и константы

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

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

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

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

В языке Pascal применяется несколько стандартных видов констант:

  • Целочисленные константы. Могут быть определены посредством чисел, записанных в десятичном или шестнадцатеричном формате данных. Это число не должно содержать десятичной точки.
  • Вещественные константы. Могут быть определены числами, записанными в десятичном формате данных с использованием десятичной точки.
  • Символьные константы. Могут быть определены посредством некоторого символа (заключенного в апострофы).
  • Строковые константы. Могут быть определены последовательностью произвольных символов (заключенных в апострофы).
  • Типизированные константы. Представляют собой инициализированные переменные, которые могут использоваться в программах наравне с обычными переменными. Каждой типизированной константе ставится в соответствие имя, тип и начальное значение. Например:
Const year = 2001; {целочисленная константа} symb = '?'; apostroph =''''; {символьная} limit = 2.4E-10; {вещественная с показателем степени} money: real = 57.23; {типизированная вещественная}

Типы данных. Понятие типа данных в OP

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

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

Иерархия типов в языке Pascal:

· Простые

o Порядковые

§ Целые

§ Логический

§ Символьный

§ Перечисляемый

§ Тип-диапазон

o Вещественные

· Структурированные

o Массивы

o Строки

o Множества

o Записи

o Файлы

· Указатели

Простые типы данных

Порядковые типы, из группы простых типов, характеризуются следующими свойствами:

  • все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;
  • к любому порядковому типу может быть применена стандартная функция Ord(x), которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
  • к любому порядковому типу могут быть применены стандартные функции Pred(x) и Succ(x), которые возвращают предыдущее и последующее значения соответственно;
  • к любому порядковому типу могут быть применены стандартные функции Low(x) и High(x), которые возвращают наименьшее и наибольшее значения величин данного типа.
Идентификатор типа Длина (байт) Диапазон значений
Целые типы
ShortInt -128..127
Integer -32768..32767
LongInt -2147483648..2147483647
Byte 0..255
Word 0..65535

Процедура Dес(x[,y]) - уменьшает значение переменной x на величину y.

Процедура Inс(x[,y]) - увеличивает значение переменной x на величину y.

Процедура Оdd(x) - проверяет, является ли аргумент нечетным числом.

x DIV y – целая часть от деления x на y.

x MOD y – остаток от деления x на y.

 

Логический тип
Boolean true, false

В конкретных версиях компиляторов языка Pascal могут быть свои особенности. Например, в Object Pascal 7.0 добавлено еще три логических типа ByteBool (1 байт), WordBool (2 байта) LongBool (4 байта), введенные для унификации с другими языками программирования и средой Windows.

Символьный тип
Char все символы кода ASCII
Вещественные типы
Real 2,9x10-39 – 1,7x1038
Single 1,5x10-45 – 3,4x1038
Double 5x10-324 – 1,7x10308
Extended 3,4x10-4932 – 1,1x104932

Арифметические функции

Сhr(x) - возвращает символ, заданный целым числом x.

Rоund(x) - округляет значение вещественного типа до значения длинного целого типа.

Тrunс(x) - усекает значение вещественного типа до значения длинного целого типа.

Abs(x) - возвращает абсолютное значение аргумента.

Аrctan(x) - возвращает арктангенс аргумента.

Соs(x) - возвращает косинус аргумента.

Ехp(x) - возвращает экспоненту аргумента.

Frас(x) - возвращает дробную часть аргумента.

Int(x) - возвращает целую часть аргумента.

Ln(x) - возвращает натуральный логарифм аргумента.

Рi - возвращает значение числа Pi (3,141592653897932385).

Sin(x) - возвращает синус аргумента.

Sqr(x) - возвращает аргумент в квадрате.

Sqrt(x) - возвращает квадратный корень аргумента.

Совместимость типов

В языке Pascal введены понятия эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:

  • Т1 и Т2 представляют собой одно и то же имя типа;
  • тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств. Например:
type T1 = Integer; T2 = T1; T3 = T2;

Менее строгие ограничения накладываются на совместимость типов. Так, типы являются совместимыми, если:

  • они эквивалентны;
  • являются оба либо целыми, либо действительными;
  • один тип – тип-диапазон, другой - его базовый;
  • оба тип-диапазон с общим базовым;
  • один тип - строковый, другой - символьный.

В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция

Имя_Типа(переменная или значение)

Напрмер, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.

 

Программирование линейных алгоритмов

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

Структура следования – это последовательное выполнение отдельных блоков или групп блоков в естественном порядке.

 
 

 


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

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

В программе, написанной на языке Pascal, могут быть следующие разделы:

ü заголовок программы;

Program имя_программы;

ü раздел объявления модулей

Uses unit1, unit2;

ü раздел объявления меток;

Label label1, label2;

ü раздел объявления констант;

Const name_const = value;

ü раздел объявления типов;

Type name_type=description_type;

ü раздел объявления переменных;

Var name_variable : type_variable;

ü раздел объявления процедур и функций;

перечисление процедур и функций

ü тело программы (обязательная часть).

Begin

{Операторы языка Pascal}

End.

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

, А=1.5.

Программа на языке Pascal:

Program MyProg;{в языке Turbo Pascal эта строка не обязательна}

Const A=1.5; {описание константы}

Var B,C,D,V:real; {описание переменных}

Begin

B:=4.3;

{вывод подсказки}

write('Введите вещественное число C=');

readln(C); {Ввод исходных данных}

write('Введите вещественное число D=');

readln(D);

V:=(A*Sqrt(Abs(Sin(B*C+A)))-Exp(-A*C))/Sqrt(Abs(2*B+D));

write('V=',V); {Вывод результата}

readln;

End.



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.