Программирование линейных алгоритмов
Кафедра информатики и информатизации образования
Программирование
Часть 1
Основы программирования на языке PASCAL
Лабораторная работа №1
Программирование линейных алгоритмов
Волгоград
Составитель: Глазов С.Ю., доцент кафедры общей физики ВГПУ
Программирование ч.1. Основы программирования на языке Pascal. Лабораторная работа №1. Программирование линейных алгоритмов. 2012.
Лабораторная работа №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 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|