Вход

Turbo pascal

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 271858
Дата создания 22 марта 2015
Страниц 68
Мы сможем обработать ваш заказ (!) 21 мая в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
3 560руб.
КУПИТЬ

Описание

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

Содержание

Введение 2
Глава 1. Знакомство со средой Турбо Паскаля 5
1.1 Структура программы 11
1.2 Условие и постановка задачи 41
1.3 Входная и выходная информация 41
1.4 Промежуточная информация 43
1.5 Формализация задачи 44
Глава 2. Алгоритм решения задачи 45
2.1 Словесный алгоритм 45
2.2 Блок-схема 48
2.3 Описание блок-схемы 55
2.4 Составление программы 55
2.5 Контрольный пример 62
Заключение 66
Список литературы 68

Введение

Turbo Pascal - это среда разработки для языка программирования Паскаль. Используемый в Turbo Pascal диалект базировался на более раннем UCSD pascal получившем распространение, в первую очередь, на компьютерах серии Apple II. Компилирующая компонента Turbo Pascal была основана на компиляторе Blue Label Pascal, первоначально созданном в 1981 году Андерсом Хейлсбергом для операционной системы NasSys микрокомпьютера Nascom. Позднее он был переписан как Compass Pascal для операционной системы CP/M, затем как Turbo Pascal для DOS и CP/M. Одна из версий Turbo Pascal была доступна под Apple Macintosh примерно с 1986 года, но её разработка прекратилась примерно в 1992.
В 1982 году Филипп Кан приобрёл компилятор у Андерса Хейлсберга и перебрался из Парижа в Калифорнию, где основал компанию Borland.
Когда в 1983 году появилась первая версия Turbo Pascal, такой тип среды разработки был относительно новым. Во время дебюта на американском рынке, Turbo Pascal продавался по цене в 49,99 долл. Помимо привлекательной цены, встроенный компилятор Паскаля также был очень высокого качества. Приставка "Turbo" намекала как на скорость компиляции, так и на скорость производимого им исполняемого кода. Turbo Pascal создавал машинный код за один проход, без шага компоновки.
После рекламной кампании за первый месяц поступило заказов на 150 тыс. долларов - так много, что местные банки отказывались оплачивать чеки и кредитные карточки, подозревая мошенничество.

Фрагмент работы для ознакомления

Строковая переменная занимает определённую максимальную длину байт в памяти плюс один байт, содержащий её текущую длину. Отдельные символы в строке индексируются от 1 до длины строки.Допускается смешение в одном выражении операндов строкового и литерного типа. Если при этом литерной переменной присваивается значение строкового типа, длина строки должна быть равна единице, иначе возникает ошибка выполнения. К отдельным символам строки, можно обратиться по номеру (индексу) данного символа в строке.Индекс определяется выражением целочисленного типа, которое записывается в квадратных скобках сразу за идентификатором строковой переменной или константы. ПроцедурыDelete(St,Pos,N) - удаление N символов строки St, начиная спозиции Pos. Если значение Pos > 255, возникает ошибка. Значение St Выражение Результат 'река Волга' Delete(Str, 1, 5); 'Волга' Insert(Str1,Str2,Pos) - вставка строки Str1 в строку Str2, начиная с позиции Pos. П р и м е р: Var S1, S2, S3 : string[11]; ... S1 := ' ЕС '; S2 := 'ЭВМ1841 '; S3 := Insert(S1,S2,4);Р е з у л ь т а т: 'ЭВМ ЕС 1841'.Str(IBR,St) - преобразование числового значения величины IBR и помешение результата в строку St. После IBR может записываться формат, аналогичный формату вывода. Значение Выражение Результат4.8E+03 Str(IBR:10,St); ' 4800'Val(St,IBR,Cod) - преобразует значение St в величину целочисленного или вещественного типа и помещает результат в IBR. Значение St не должно содержать незначащих пробелов в начале и в конце. Cod - целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Cod равно нулю, если ошибка обнаружена, Cod будет содержать номер позиции первого ошибочного символа, а значение IBR не определено.Записи.Запись есть структура данных,построенная из компонент,имеющих в общем случае разные типы данных.Например, чтобы описать в программе время суток (10.45 утра или 7.15 вечера) , можно использовать структуру данных следующего формата:часыминутыдо полудняв которой 10.45 утра может храниться как 105trueа 7.15 вечера :715falseСекция записи определяет одно или несколько имен полей и тип соответствующей компоненты. Если в секции перечисляется несколько имен полей, то все они однотипны.Тип компонента в секции записи может быть любым типом данных и быть именем предопределенного типа, именем ранее определенного типа.К каждому компоненту записи можно обратиться, используя имя переменной типа записи и имя поля, разделенные точкой: now.hour, later.befornoon;Рассмотрим программу bestseller ( лучший товар), которая вводит с клавиатуры данные по сбыту за несколько лет, распечатывает их и находит продукцию с максимумом сбыта.Входные данные : Каждая вводимая строка содержит информацию о продаже в следующей форме: год продажи: целое в диапазоне 1900..2099;код продукции: четырехзначное целое ;общий объем сбыта: вещественное число, обозначающее сумму в денежных единицах.Ввод заканчивается,когда введена строка с отрицатедьным значением года.Массивы записей.Ввести список студентов из 5 человек, включающий в себя фамилию (10 символов), год рождения ( четырехзначное целое), оценки ( массив из 5 целых чисел).Выдать данный список, добавив к нему средний балл. Выдать список отличников, упорядоченных по году рождения.Процедуры и функцииВ практике программирования, типичной является такая ситуация . Когда в разных местах программы приходится выполнять по сути дела один и тот же частный алгоритм , который имеет достаточно самостоятельное значение , т.е. предназначен для решения некоторой подзадачи , выделенной из основной решаемой задачи . Например нахождение наибольшего общего делителя двух натуральных чисел , упорядочение компонентов вектора и т.д. Если этот частный алгоритм достаточно сложен и представляется достаточно большим фрагментом текста , то было бы явно нерационально выписывать его каждый раз заново в том месте программы , где этот алгоритм должен использоваться.Для обеспечения большей компактности программы и повышения её наглядности язык Паскаль позволяет выделить любой частный алгоритм из программы и записать его только один раз, представив этот частичный алгоритм в качестве самостоятелной программной единицы , называемой процедурой.Описание процедур. Процедуры описываются в специальном разделе основной программы вслед за разделом переменных. Любая процедура является логически законченной программной единицей и поэтому содержит внутри себя теже разделы , что и основная программа :раздел описаний (меток , констант , типов , переменных процедур и функций);раздел операторов, представляющий собой составной оператор BEGIN-END.Процедура состоит , аналогично программе , из заголовка и тела процедуры.Заголовок процедуры имеет вид:PROCEDURE имя (список формальных параметров); где PROCEDURE-служебное слово; имя-имя процедуры , определяемое в соответствии с общими правилами образования идентификаторов; список формальных параметров-перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов.Допускается описание процедуры не содержащей формальных параметров:PROCEDURE имя;Всякая подпрограмма-процедура может содержать свои внутренние или вложенные процедуры.Степень вложенности определяется возможностями машины.Заканчивается блок процедуры точкой с запятой.В заголовке процедуры с именем STEP1 перечислены парамет ры N,X, определяющие исходные данные программы и параметр Y, обозначающий значение искомой степени-результат выполнения процедуры.Указан также тип всех формальных параметров.Подроб-ней о параметрах будет расказано ниже. Обращение к подпрограмме-процедуреОписание процедуры , расположенное в разделе описаний ,само по себе никаких действий не вызывает.Чтобы исполнить процедуру необходимо в нужном месте программы поместить обра-щение ней.Обращение производится с помощью оператора вызова процедуры или оператора процедуры , имеющего вид:имя (список формальных параметров);где имя-имя вызываемой процедуры;список формальных параметров-перечень конкретных зна чений (выражений) и имен , передаваемых из основной программы в процеду-ру на место формальных параметров. При вызове процедуры формальные параметры заменяются фактичес кими в порядке их следования.Число и тип формальных и факти-ческих параметров должны попарно совпадать.В данном примере оператор процедуры осуществляет её вызов.В теле процедуры произойдёт замена формальных переменных на фактические. Затем выполняется совокупность действий, предусмотренных операторами процедуры , и в основную программу будет возвращен результат Z.Функции.Заголовок содеpжит заpезеpвиpованное словоFUNCTION,идентификатоp(имя) функции,заключенный в кpуглые скобки,необязатель-ный список фомальных паpаметpов и тип возвpащаемого функцией значения. FUNCTION <имя> {(фоpмальные паpаметpы)}:<тип pезультата>;Имя функции-уникальный идентификатоp в пpеделах блока.Возвpащаемый pезультат может иметь любой скаляpный тип,тип string и тип “указатель”. Тело функции пpедставляет собой локальный блок,по стpуктуpе аналогичный пpогpамме: function<имя>{(фоpмальные паpаметpы)}:<тип pезультата>; <pазделы описаний> begin <pаздел опеpатоpов> end;В pазделе опеpатоpов должен находиться по кpайней меpе один опеpатоp, пpисваивающий идентификатоpу функции значение. Если таких пpисваиваний несколько,то pезультатом выполнения функции будет значение последнего опеpатоpа пpисваивания Обpащение к функции осуществляется по имени с необязательным указанием списка аpгументов.Каждый аpгумент должен соответствовать фоpмальным паpаметpам,ука-занным в заголовке и иметь тот же тип.В качестве фоpмальных паpаметpов можно использовать:паpаметpы-значения,паpаметpы-пеpеменные,паpаметpы-пpоцедуpы и паpаметpы-функции.Процедурные типы данных.В Turbo Pascale процедуры и функции можно рассматривать как некоторые параметры и можно использовать переменные, принимающие значение процедуры или функциию С этой целью вводятся процедурные типы, которые указывают , какой вид подпрограммы можно использовать в качестве параметра и с какими параметрами должны быть эти одпрограммы.Описание переменных процедурного типа: type имя_типа1=procedure( формальные_параметры); имя_типа2=function(формальные параметры): тип;var имя1:имя_типа1; имя2:имя_типа2;Все процедуры и функции , имена которых присваиваются процедурным переменным, необходимо транслировать в режиме { $F+}. Вложенные функции и процедуры, т.е. , описанные внутри других процедур , с процедурными переменными использовать нельзя.Это не должны быть также стандартные роцедуры и функции.Операторы ввода-выводаДля ввода данных в языке ПАСКАЛЬ предусмотрены стандартные процедуры READ иREADLN. Разлличают три вида операторов ввода: а) READ(a1,a2,...,aN)-каждое вводимое значение поллучают послледовательно переменные a1,a2,...,aN б) READLN(A1,A2,...,An)-переменным A1,A2,...,An присвиваются, после чего следующий оператор ввода вводит данные с новой строки. в) READLN-переход на новую строку при вводе. В языке ПАСКАЛЬ допускается вводить целые,действительные и символьные данные. Логические данные вводить не разрешается.Ввод числовых данныхЧисловые данные, целые и действительные, должны разделятся пробелом или клавишей ENTER. Пробелы и ENTER перед числом игнорируются.При выполнении программы происходит останов программы привстречеREAD(A,B,C), на клавиатуре необходимо набрать три действительных числа, после чего с новой строки два целых числа соответственно операторуREAD(K,T),например: 0.5 6.23 -7.1 [enter] 3 48 [enter]Ввод символьных данныхВвод символьных данных имеет свои особенности. Поскольку пробел относится к символьным данным то символьные данныевводятся сплошной строкой. Одной переменной можно присвоить значение только одного символа. Пример ввода: var a,b,c:char; ........... read(a,b,c); Если при вводе ввести данные -- SNR [enter] -- получим:A='S',B='N',C='R' При вводе данныхв виде: -- S N R [enter] -- получим:A='S',B=' ',C='N'Оператор ввода для чтения файлаОператор ввода для чтения файла обладает всеми свойствамии обычного оператора READ. Вкачестве параметров могут быть переменные; каждая переменная поучает значение одного эемента считанного из внешнего файа.Процедура READ(F1,X) применяется для считывания (по одному) данных из внешнего файла в переменную X.Оператор выводаОпеатор вывода данных из памяти ЭВМ на экран дисплея имеет три формы:1) WRITE(b1,b2,...bn)-выводит последовательно значения b1,b2,...,bn;2) WRITELN(b1,b2,...,bn)-выводит последовательно значения b1,b2,...,bn и осуществляет переход на новую строку;3) WRITELN-осуществляет переход на новую строку при выводе данных.В качестве параметров b1,b2,...,bn могут быть целые,действительные,символьные и логические переменные, а так же символьные константы. Допускается вывод данных с форматами и без них. Форма представления выводимых данных зависит от типа данных: значения целых переменных выводятся как целые числа ,значения действительных переменных-в виде мантиссы и десятичного порядка, значения символьных переменных- в виде отдельных символов,значения логических переменных- в виде TRUE или FALSE. Для выводимых значений переменных отводятся следующие поля: 13-для целого числа,13-для действительного, 1-для символа,6-для логических данных.Если целое число занимает позиций меньше, чем 13, то соответствующее поле перед числом заполняется пробелами.Если отсутствует формат для действительного числа, оно выводится в форме с плавающей точкой. Например число Z=10.9 при выводе в виде WRITE (`Z=`,Z) на экране будет представлено Z= 1.090000E+01Символьная константа(строка)выводится явно в том виде ,как она записана но без апострофов. Для наглядности выводимых значений прредусмотрены форматы. Они указываются за переменной в операторе WRITE через двоеточие. Для действительных переменных формат имеет вид: a:m:nгде а-переменная, m-общее поле выводимого числа(включая знак числа, целую часть числа, точку и дробную часть); n-поле дробной части.В качестве m и n могут быть как целые переменные,выражения,так и целыеконстанты. Например:WRITE (SK:M:N,FGH:7:2);Если формат указан больше,чем необходимо позиций для изображения числа, то перед целой частью числа представлены избыточные пробелы,а после дробной части-нули.Для других типов данных формат имеет вид: a:m Например: WRITE(K:5,C:4);Для вывода нескольких пробелов символ пробела указывается с форматом , Например: ` `:7Для пpопуска пустых позиций пеpед выводимыми данными или между ними можно использовать фоpмат для символа пpобела,напpимеp WRITE(` `:5,A:3,` `:7,B:4) МодулиНаличие модулей в Turbo Pascal позволяет программировать и отлаживать программу по частям , создавать библиотеки подпрограмм и данных, воспользоваться возможностями стандартных модулей , неограниченно увеличивать кодовую часть программы.Модуль состоит из следующих частей: а) заголовок модуля б) интерфейс модуля в) исполнительная часть модуля г) секция инициализацииВсе разделы модуля ,за исключением секции инициализации,являются обязательными . Обязательна также указанная последовательность рапзделов.Заголовок модуляЗаголовок модуля состоит из зарезервированного слова unit и идентификатора. Unit имя_модуля;Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas . Интерфейс модуля.Через интерфейс осуществляется взаимодействие основной программы с модулем (модуля с модулем) . В интерфейсе указываются константы, типы, переменные, процедуры и функции , которые могут быть использованы основной программой (модулем) при вызове этого модуля. Интерфейс начинается словом interface. Далее после слова uses указываются имена модулей, которые используются данным модулем (необязательная часть).После этого могут быть : раздел объявления констант, раздел объявления типов, раздел объявления переменных, раздел объявления процедур и функций. Объявление процедуры может содержать директиву inline. В разделе объявления процедур и функций указываются лишь заголовки программ ( за исключением тех, которые используют директиву inline) . Сами подпрограммы приводятся в исполнительной части. В интерфейсах различных модулей недопустимо циклическое обращение друг к другу.Исполнительная часть модуля.Исполнительная часть включает в себя все подпрограммы модуля. Она может также включать локальные метки, константы, типы и переменные.Исполнительная часть начинается словом implementation . Затем после слова uses указываются имена модулей, которые используются подпрограммами данной исполнительной части ( этот раздел необязателен). Если какой-то модуль уже указан в интерфейсе модуля, то в исполнительной части его повторять не следует. Далее может следовать раздел локальных описаний . При описании подпрограмм допустимо использовать сокращенные заголовки. Секция инициализации.В некоторых случаях перед обращением к модулю следует провести его инициализацию ( установить связь с теми или иными файлами, инициализировать какой-то переменные). Эта секция начинается со слова begin , после которого идут выполняемые операторы, а затем слово end. ( c точкой). Использование модуля в основной программе.Чтобы использовать подпрограммы, константы, типы и переменные , описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имена модулей . После этого в основной программе можно использовать идентификаторы, указанные в интерфейсах перечисленных модулей.Таким образом можно создавать собственные модули, расширяя библиотеку стандартных программ и функций.Модуль CrtMодуль Crt содержит константы, переменные и подпрограммы,предназначенные для работы с консолью.В отличие от стандартного ввода-вывода,когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS , и даже непосредственно с видеопамятью.При работе с экраном через модуль Crt весь экран разбивается на отдельные строки , а каждая строка - на отдельные позиции, в каждую из которых можно поместить один символ, (в том числе и пробел ). Т.о. весь экран разбивается на отдельные неделимые прямоугольные элементы. Для каждого элемента можно задать цвет фона и цвет символа. Кроме того , символ можно сделать мерцающим. Модуль Crt позволяет работать не только со всем экраном, но и выделять в нем прямоугольные окна . Любое окно задается своим левым верхним углом и правым нижним углом. Эти углы, как и любое положение на экране, задаются двумя координатами X и Y.Приведенные ниже процедуры и функции расширяют возможности использования текстового режима экрана, находятся в стандартном модуле CRT.TPU и будут доступны в программе после объявления USES CRT. 1)Функция без параметров KeyPressed возвращает true, если на клавиатуре была нажата любая символьная клавиша, и false в противном случае. Не задерживает выполнение программы. 2)Функция без параметров ReadKey возвращает символ нажатой клавиши без эхо повтора на экране. Приостанавливает выполнений программы до нажатия на любую клавишу.3) Функции без параметров WhereX, WhereY возвращают горизонтальную или вертикальную координату текущей позиции курсора относительно текущего окна.4) Процедура без параметров CIrEol удаляет все символы оттекущей позиции курсора до конца строки без перемещения курсора.5) Процедура без параметров DelLine удаляет строку, на которойнаходится курсор, и перемещает все строки ниже этой строки настроку вверх. Нижняя строка очищается.6) Процедура без параметров ClrScr очищает экран и помещает курсор в верхний левый угол.7) Процедура Delay приостанавливает работу программы науказанное число миллисекунд (t). DELAY(t);8) Процедура GotoX,Y перемещает курсор в точку с заданнымикоординатами X,Y текстового экрана или окна, если оно задано.GOTOXY(X,Y);Коды цветов Black 0 Черный Blue 1 Синий Green 2Зеленый Cyan 3 Голубой Red 4Красный Magenta 5Фиолетовый Brown 6Коричневый LightGray 7Светло-серый DarkGray 8Темно-серый LightBlue 9Светло-синий LightGreen10Светло-зеленый LightCyan11Светло-голубой LightRed12Розовый LightMagenta13Светло-фиолетовый Yellow14Желтый White15Белый Blink128Мерцание символовЦвета с кодами от 0 до 7 включительно можно использовать как для символов, так и для фона. Остальные цвета и код мерцания можно использовать только для символов. Pascal — это императивный язык программирования, разработанный Никлаусом Виртом в 1970 в качестве языка обучения структурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в байт-код, подобно языку Java. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком. Переменные модуля Crt.Имя ТипНазначениеCheckBreakBooleanРазрешение анализа Ctrl+BreakCheckEofBooleanРазрешение помещения признака конца файлаCytcrSnowBooleanРазрешение подавления “снега”DirectVideoBooleanРазрешение прямой адресации видеопамятиLastModeWordТекущий текстовый режимTextAttrByteТекущие атрибуты текстаWindMinWordКоординаты левого верхнего углаWindMaxWordКоординаты правого нижнего угла окнаПеременная CheckBreak управляет работой программы.

Список литературы

1. Грачева Л.Н. - Программирование в среде Turbo-Pascal 7.0: Лабораторный практикум по дисциплине: "Программирование и основы алгоритмизации". - Уфа: РИО РУНМЦ МО РБ, 2008.
2. Молодцов В.А. - Репетитор по информатике для подготовки к экзаменам. - Ростов н/Д: Феникс, 2007.
3. Острейковский В.А. - Информатика: Учеб. для вузов. - М.: Высш. шк., 1999.
4. Попов В.Б. - Паскаль и Дельфи. Учебный курс. - СПб.: Питер, 2005.
5. М.М. Канаев, Т.З. Султанбекова, Программирование на языке TP: учебное пособие. Махачкала: ДГТУ, 2010 г.
6. Фролов В.В. Turbo Pascal 7.0 Учебный курс. Москва, 2011 г.
7. Эллилот Б. Коффман, Turbo Pascal (5-е издание). Москва 2010 г.
8. Моргун А.Н.,Справочник по Turbo Pascal для студентов и школьников. Пенза 2006г.
9. Меженный О.А.,Turbo Pascal Краткое руководство. Москва 2006г.
10. Холл П. Вычислительные структуры. Введение в нечисловое программирование. М.: Мир, 1978.
11. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. СПб.:БХВ - Санкт-Петербург, 1999.
12. Прайс Д. Программирование на языке Паскаль: Практическое руководство. Пер. с англ. - М.:Мир, 1987.
13. Рюттен Т., Франкен Г. Турбо-Паскаль 7.0. - К.: Торгово-издательское бюро BNV, 1997.
14. Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. М.: "Нолидж", 1999.
15. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. М.: “Наука”, 1988
16. Вальвачев А.Н. Графическое программирование на языке Паскаль : Справочное пособие.- Мн.: Выш. шк., 1992
17. Мизрохи С.В. TURBO-PASCAL и объектно-ориентированное программирование. - М.: Финансы и статистика, 1992.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00551
© Рефератбанк, 2002 - 2024