Язык программирования Turbo Pascal

История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.06.2011
Размер файла 519,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РФ

ГОУ ВПО «ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра Информатики

КУРСОВАЯ РАБОТА

По дисциплине «Языки программирования»

на тему:

«Язык программирования Turbo Pascal»

Выполнил студент:

1 курса, У051 группы

Ахмедов А.Ю.

Принял преподаватель:

Эседова Г.С.

Махачкала 2011 г.

АННОТАЦИЯ

Курсовой проект выполнен с помощью языка TURBO PASCAL 7.0. Главной задачей курсового проекта является закрепления материала и способность индивидуального подхода к выполнению, поставленной задачи.

В первой программе рассмотрены некоторые возможности языка TURBO PASCAL 7.0 в работе с операторами цикла.

Во второй программе были рассмотрены и использованы возможности TP7.0 в работе с одномерными массивами.

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

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

ВВЕДЕНИЕ

История создания и развитие Pascal

Первые сложные многоцелевые вычислительные устройства появились еще в XIX веке. Тогда же возникла необходимость в разработки программ для них, и впервые с такой задачей столкнулась легендарная Ада Лавлейс, работавшая с вычислительной машиной Чарльза Бэббиджа, которая называлась «Машина для исчисления разностей» («DifferenceEngine»). Но настоящие языки программирования появились все - таки в эпоху электронных вычислительных машин (ЭВМ). Считают, что первый язык программирования - это язык ShortCode, появившийся в 1949 году. Программисты, работавшие на первых моделях ЭВМ, вынуждены были программировать в машинных кодах. Для того чтобы представить насколько это было «удобно», приведу программы, которая выводит на экране приветствие «Hello, world»:

457f464c010100010000000000000000200000300010000003d008000340000069800000000000000003400200050000280000160013000600000340000034080000000a0000a0000005000000040000000003000000d400000000d4000080000000000001300000000001300000004000000010000000001000000000000000080000000000000000004f50000000000000000004f50000000000050000010000000000000100000004f8000000014f808000000000000c40000000c800000060000001000000000000000020000000052c00000015200080000000000090000000090000000060000004000006c2f62696c2f2d64696c756e2e786f73312e0000000011000000000011000000000000000000000000000e0000000a00000000000000

Первыми языками программирования высокого уровня были Фортран, Кобол и Алгол, появившиеся в 50-е годы XX века. Первые два из них «здравствуют» и по ныне - это языки-долгожители, а Алгол стал родоначальником целого семейства языков, в числе которых и Паскаль.

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

Особое место среди языков программирования занимает АЛГОЛ, первая версия которого явилась в 1958 году. Одним из разработчиков АЛГОЛа был «отец» ФОРТРАНа Джон Бэкус. Название языка ALGorithmicLanguage подчёркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря чёткой логической структуре АЛГОЛ стал стандартным средством записи алгоритмов в научной и технической литературе. Последующими версиями языка стали АЛГОЛ 60 и АЛГОЛ 68. АЛГОЛ 68 оказался излишне громоздким, что создавало большие трудности в его реализации.

Один из членов комитета, занимавшегося разработкой спецификации, - швейцарский учёный Никлаус Вирт - протестовал против её принятия. Он оказался прав - АЛГОЛ 68 стал «лебединой песней» некогда самого популярного языка программирования, однако АЛГОЛ дал начало целой ветви языков. В 1967 году Вирт создал свою версию - АЛГОЛ W. Это было связано с необходимостью найти такой язык программирования, который можно было бы использовать для обучения студентов методам разработки программ, таким как «программирование сверху вниз», «структурное программирование» и т.д. Вирту не понравился ни один из существовавших в то время языков, и в 1968 году он приступил к разработке своего собственного. В 1970 году в мире программирования произошли, по крайней мере, два великих события - появилась операционная система UNIX и новый язык программирования. Вирт назвал его в честь великого французского математика и религиозного философа XVII века Блеза Паскаля. Паскаль изобрёл вычислительное устройство, именно поэтому новому языку было присвоено его имя. Вирт настаивал впоследствии, что название языка должно начинаться с заглавной буквы - как фамилия. Первая версия языка была создана для компьютера CDC 6000.

Благодаря своей честности, логичности и другим особенностями Паскаль надолго занял свою нишу, являясь прекрасным языком для обучения программированию. Паскаль использовался и для разработки серьёзных программ-приложений. Шутили, что Вирт разработал игрушку, но многие отнеслись к ней слишком серьёзно. В 1975 году вновь два события стали вехами в истории программирования - Билл Гейтс и Пол Ален заявили о себе, разработав свою версию бейсика, а Вирт и Йенсен выпустили классическое описание языка «Pascal UserManualandReport».

Впоследствии появились различные версии языка и его расширения. Наиболее известным расширением стал пакет Турбо Паскаль фирмы Borland, появившейся в 1983 году и сразу ставший событием в мире компьютерных технологий. Первое упоминание о нём содержалось в рекламе, опубликованный в журнале BYTE, а сам пакет предназначался для операционной системы CD/M. В начале 1984 года он был перенесён в сферу MS-DOS и приобрёл огромную популярность. С тех пор появилось несколько версий Турбо Паскаля.

Фирма Borland/Inprise завершила линию продуктов Турбо Паскаль и перешла к выпуску системы визуальной разработки для Windows - Delphi. Не смотря на это, Турбо паскаль сохраняет своё значение отличного языка для первого знакомства с миром «серьёзного» программирования. Это связано как с его чёткой логической структурой, так и с теми возможностями, которые позволяют использовать Турбо Паскаль для решения разнообразных задач. Среди них вычисления и обработка данных, компьютерная графика, работа со звуком, системное программирование. Турбо Паскаль позволяет применять приёмы объектно-ориентированного программирования, которое стало одной из ведущих современных технологий программирования.

Система программирования Turbo Pascal(версия 7.0) в состоянии удовлетворить требования, предъявляемые разработчикам прикладного программного обеспечения при работе на персональных ЭВМ в операционной системе MS-DOS. Язык Turbo Pascal является структурированным языком высокого уровня, на котором можно написать программу практически неограниченного размера и любого назначения.

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

ь Наличие системных библиотечных модулей, являющихся органической составляющей языка (модули System, Crt, Dos, Graph и др.);

ь Наличие инструментов объектно-ориентированного программирования;

ь Наличие встроенных процедур и функций;

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

ь Возможность создания отдельно компилируемых блоков (модулей), возможность условной компиляции программ;

ь Поддержка математических сопроцессоров;

ь Наличие интегрированного в среду программирования отладчика, позволяющего выполнить полную проверку переменных, структур данных и выражений по шагам или в заданных точках;

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

ОСНОВЫ ЯЗЫКА TURBO PASCAL

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

Алфавит языка

Алфавит относятся к первичной структуре языка. В языке Turbo Pascal используются символы ASCII (американский стандартный код обмена информацией). В алфавит языка входят:

1. Латинские строчные и прописные буквы

A, B, C . . .Z, a, b ,c, . . . z

2. Арабские десятичные цифры

0, 1, …9

3. Шестнадцатеричные цифры

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

4. Символ подчеркивания

“_”

5. Символ «пробел»

Является разделителем (код 32)

6. Символы с кодами ASCII от 0 до 31 (управляющие коды)

Непечатные

7. Специальные символы, участвующие в построении конструкций языка

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

8. Составные символы, рассматриваемые как единое целое (пробелы между ними не допустимы)

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

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

Зарезервированные слова

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

Список зарезервированных слов

ABSOLUTE

EXTERNAL

MOD

SHR

AND

FILE

NIL

STRING

ARRAY

FOR

NOT

THEN

BEGIN

FORWARD

OBJECT

TO

CASE

FUNCTION

OF

TYPE

CONST

GOTO

OR

UNIT

CONSTRUCTOR

IF

PACKED

UNTIL

DESTRUCTOR

IMPLEMENTATION

PROCEDURE

USES

DIV

IN

PROGRAM

VAR

DO

INLINE

RECORD

VIRTUAL

DOWNTO

INTERFACE

REPEAT

WHILE

ELSE

INTERRUPT

SET

WITH

END

LABEL

SHL

XOR

Идентификаторы

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

Идентификаторы могут иметь произвольную длину, но в программе значащими является только первые 63 символа.

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

Константы и переменные

Константа - это величина, значение которой в процессе работы программы не меняется. В качестве констант используются:

® целые, вещественные и шестнадцатеричные числа;

® логические;

® символьные и др.

Логическая константа - это слова FALSE(ложь)или TRUE (истина).

Символьная константа - это любой символ, заключенный в апостроф.

Строковая константа - любая последовательность алфавитно-цифровых символов, заключенных в апострофы.

Целые числа - это числа, которые имеют диапазон от -2147483648 до +2147483647.

Вещественные числа записываются с использованием десятичной точки.

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

Комментария

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

Операции

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

1. Унарные: +, -, not, @;

2. Бинарные:* - умножение;

/ - деление;

+ - сложение;

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

Or -арифметическое или;

Xor - арифметическое исключающее или-не;

And - арифметическое и;

Div - деление на цело;

Mod - остаток от деления.

СТРУКТУРА ПРОГРАММЫ

Текст программы в системе программирования TP представляет собой обычный текстовый файл, который мы составляем в текстовом редакторе интегрированной инструментальной оболочки.

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

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

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

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

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

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

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

- Begin - начало основной программы.

- Тело программы;

- End. - конец программы.

Ш Заголовок программы

Заголовок программы состоит из зарезервированного слова programи имени программы. Завершается заголовок, так же как и любая другая строка программы, точкой с запятой. Заголовок программы в программе не обязателен и игнорируется компилятором.

Ш Тело программы

Тело программы начинается словом begin, а заканчивается словом end. После endобязательно нужно ставить точку, которая является признаком конца программы.

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

Переменными называются параметры программы, значение которых могут изменяться в процессе ее выполнения. Все переменные, используемые в программе, должны быть определены с указанием их типов в разделе объявления переменных. Этот раздел начинается служебным словом var. Например: Var <список переменных 1>: <тип 1>;

Ш Операторы ввода/вывода информации

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

Readln(a) - после набора с клавиатуры нужного символа, курсор переходить на новую строку.

Read(a) - после набора с клавиатуры нужного символа, курсор не переходить на новую строку.

Для того чтобы вывести информацию на экран используем оператор вывода:

Writeln или Writeln.

С помощью этих операторов можно вывести на экран любую информацию. Для того чтобы вывести текстовое сообщение на экран, его необходимо ограничить специальными кавычками, роль которых играет знак апострофа. Например:

Write('Эта строка, от апострофа до апострофа, будет выведена');

Можно вывести значение объявленной раннее переменной. Для этого необходимо просто указать ее имя. Например:

Write(a);

Можно вывести текстовое сообщение и значение переменной одновременно. Например:

Write('Значение переменной а равно',a);

ТИПЫ АЛГОРИТМОВ

Программирование алгоритмов линейной структуры

Константы - это величины, которые не изменяются в процессе выполнения программы. Константы бывают числовые (числа), логические и символьные.

Числовые константы подразделяются на целые и вещественные:

1. Целые константы хранятся в памяти машины точно и представляют собой последовательность цифр со знаком, например:

82 -5 0 +346 -7468

Знак "+" может быть опущен.

Диапазон представления целых констант: (-32768; 32767).

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

Вещественные константы подразделяются на константы с плавающей запятой и с фиксированной запятой.

Пример вещественных констант с фиксированной запятой: 7.4 -0.043 25.0 Пример вещественных констант с плавающей запятой:

Me+N = M*10+N, где M - мантисса числа, N - порядок числа.

Например: -2.3e+4 1e-3 -695e-2.

Диапазон представления вещественных констант по абсолютной величине: (2.9e-64; 1.7e+64).

Число = 3,141592.. является стандартной константой Pascal и обозначается “pi”.

Логические (булевские) константы: TRUE (истина), FALSE (ложь).

Символьные константы - произвольный символ, взятый в кавычки, например: 'g', '4', '*', ' ' , 'N', 'д'.

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

Имя переменной (идентификатор) - последовательность букв латинского алфавита и цифр количеством не более 8 и начинающаяся с буквы. В имени переменной может встречаться подчеркивание “_”.

В языке Turbo Pascal соответствующие заглавные и строчные буквы в именах и служебных словах не различаются.

В качестве имен переменных нельзя использовать служебные слова (например: PROGRAM, BEGIN, END и т.д.) и желательно не использовать названия функций и т.п. (например: SIN, COS, TRUE, REAL...).

Переменные, так же как и константы могут быть целого типа (INTEGER), вещественного (REAL), логического (BOOLEAN), символьного(CHAR).

К величинам целого и вещественного типов могут применяться арифметические операции:

“+” - сложение;“*” - умножение;

“-“ - вычитание;“/” - деление.

Для величин целого типа могут применяться операции:

DIV - целочисленное деление (дробная часть отбрасывается),

MOD- остаток от целочисленного деления.

Стандартные функции:

Математические

На языке PASCAL

sin x

cos x

arctg x

x2

ln x

eX

|x|

SIN(x)

COS(x)

ARCTAN(x)

SQR(x)

SQRT(x)

LN(x)

EXP(x)

ABS(x)

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

Программирование алгоритмов разветвляющейся структуры

Логические выражения

Значением логического или булевского выражения являются логические (булевские) константы: или TRUE, или FALSE. Логическое (или булевское) выражение, как и арифметическое, строится из операндов и знаков операций. Простейшими являются следующие операции отношения (сравнения):

= равно <> не равно

> больше >= больше или равно

< меньше <= меньше или равно

Для работы с логическими операндами введены следующие логические функции:

AND (логическое И - логическое умножение);

OR (логическое ИЛИ - логическое сложение);

XOR(исключающее или );

NOT (логическое НЕ - логическое отрицание).

Значение логического выражения вычисляется путем выполнения указанных в нем операций с учетом их старшинства и расставленных круглых скобок.

Операции в порядке убывания старшинства:

1. NOT

2. * / MOD DIV AND

3. + - OR XOR

4. = <><= >= ><

Операции в одной строке имеют одинаковое старшинство, выполняются слева направо.

Оператор условия

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

IF <условие> THEN <оператор 1> ELSE <оператор 2>;

Здесь IF /если/ - служебное слово;

THEN /то/ - служебное слово;

ELSE /иначе/ - служебное слово;

Условие - это логическое (или булевское) выражение, которое может принимать одно из двух значений: или TRUE (истина), или FALSE (ложь).

Оператор 1- это оператор, который выполняется, если условие выполняется.

Оператор 2 - это оператор, который выполняется, если условие выполняется.

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

Программирование алгоритмов циклической структуры

Операторы цикла

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

В языке PASCAL существует 3 типа циклов:

Цикл с предусловием

WHILE <логическое выражение> DO <оператор>;

Здесь WHILE /до тех пор, пока/ - служебное слово.

DO /делать/ - служебное слово.

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

Цикл с постусловием

REPEAT <операторы>

UNTIL <логическое выражение>;

Здесь REPEAT /повторять/ - служебное слово.

UNTIL /пока не/ - служебное слово.

Логическое выражение является условием окончания оператора цикла.

Операторы тела цикла между служебными словами REPEAT и UNTIL выполняются, затем вычисляется логическое выражение. Если его значение истинно, то цикл заканчивается и выполняется следующий за ним оператор. Если значение логического выражения ложно, то цикл выполняется сначала. Таким образом, тело цикла выполняется один или более раз.

Цикл с параметром

FOR N := N1 TO N2 DO <оператор>

Здесь FOR /для/ - служебное слово;

N - параметр цикла, переменная любого типа, кроме вещественного;

TO /до/ - служебное слово;

N1, N2 - начальное и конечное значения параметра цикла; переменные, константы или выражения того же типа, что и параметр цикла N;

DO /делать/ - служебное слово;

<оператор> - тело цикла;

Оператор тела цикла выполняется несколько раз для всех значений параметра цикла, начиная от N1 до N2, изменяющегося с шагом 1.

МАССИВЫ

В выше изложенных материалах мы сталкивались с простыми типами данных. Типы данных в TP делятся напростые и сложные. К простым типам относятся:

Ш Стандартные;

Ш Перечисляемые;

Ш Ограниченные.

К сложным типам относятся:

Ш Массивы;

Ш Множества;

Ш Записи;

Ш Файлы.

Рассмотрим структурированные типы данных с массивов "ARRAY". Массив объединяет элементы одного типа данных. Массивы бывают одномерными и многомерными. Размер массива ограничивается только объемом рабочей памяти ПЭВМ.

Одномерные массивы

В математике и информатике массив называется одномерным, если для получения доступа к его элементам достаточно одной индексной переменной.

Объявление одномерного массива выглядит следующим образом:

Var

имя_массива:ARRAY [m..n] ofтип данных;

где m - начальный индекс, n-конечный индекс.

Объявление массивов может производиться и другим способом. Сначала объявляется тип пользователя, а затем и переменная на основе этого типа данных. Например:

Typemas=array [m..n] of тип данных;

varA:mas;

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

Извлечение и присвоение в массивах.

В отличие от стандартных переменных массивы не могут обрабатываться целиком. Но можем получить доступ к каждому элементу - ячейке массива. Это выполняется путем указания значения индекса в квадратных скобках. Например:

mas[2]:=34;

Здесь элементу массива с индексом 2 присваивается значение 34. Оператор Writeln(mas[2]);

вызовет на экран значение хранящегося в элементе - ячейке №2 массив mas. Наряду сконкретным значение в качестве индекса может быть использована переменная, например, при обработке массива поэлементно в рамках цикла «FORTODO ….». Так с помощью фрагмента программы

FORi:=1 TO 25 DOmas[i]:=0;

всем элементам массива присваивается значение «0».

Использование массивов вместо одиночных переменных позволяет благодаря применению циклов «FORTODO ….» существенно сэкономить время и объем программы.

Многомерные массивы

При необходимости можно нумеровать массивы не одним индексом, а двумя. Двумерному массиву соответствует матрица в математике, т.е. прямоугольная таблица.

Примеры описаний многомерных массивов:

var имя_массива: array[1..4,1..3] of тип данных;

ЗАДАНИЯ ДЛЯ ПРАКТИЧЕСКОГО ВЫПОЛНЕНИЯ

Задание 1

(с точностью )

Задание 2

Задан вектор B(15). Элементы массива B расположить по убыванию. Определить индекс первого элемента кратного пяти и умножить на его последний четный элемент.

Задание 3

Задана матрица A(3,3). Найти произведение элементов столбца, где расположены max четный элемент матрицы. Найти сумму элементов каждой строки и определить min среди них

Задание 1

(с точностью )

Постановка задачи.

Исходные данные: a, b, c, x, ;

Результат: R.

Математическая модель:

(с точностью )

S=0, i=4, V=4!=24;

поканц

S=S+; i=i+1; V=V•i; кц

T=1; дляiот 1 до 7, T=T*i;

P=1; для kот 2 до 6, P=P•

min=a;

еслиb<min, тоmin=b;

еслиc<min,тоmin=c.

Еслиx>b, тоR=3x•S-иначе

еслиx=b, тоR=2,1•+иначеR=P-

Блок - схема

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

Program zadanie_1;{Заголовок программы}

Var e,R,min,S,x,a,b,c,p:real;{Раздел объявления переменных}

i,T,V,k:integer;

Begin{Начало программы}

Writeln('Введите исходные данные');

Readln(x,a,b,c);{Вводданных}

e:=1e-3;

s:=0; i:=4; v:=24;{Находим сумму}

While 15*x/(V+sqr(i))>=e do begin

s:=s+15*x/(v+sqr(i));{Формул анакопления суммы}

i:=i+1;

v:=v*i;

End;

t:=1;{Находим 7!}

For i:=1 to 7 do t:=t*i;

P:=1;{Находим произведение}

Fork:=2 to 6 dop:=p*sqr(x+k);{Формула накопления произведения}

Min:=a;{Находим минимальный элемент}

If min>b then min:=b;

If min>c then min:=c;

If x>b then r:=3*x*s-cos(sqr(x))*cos(x) else

If x=b then r:=2.1e-4+sqr(t+sqr(sin(x)/cos(x))) else

r:=p-abs(min);

Writeln('Ответ: R=',r:8:1);{Выводответа}

End.{Конец программы}

Тестовый пример

Для данной задачи нужно выполнить три тестовых примера.

Введем исходные данные для первого примера: x=2; a=0; b=1; c=0.

При x>bвыполняется первое условие, т.е.:

;

=

1) Введем исходные данные для второго примера: x=1; a=0; b=1; c=0.

При x=b выполняется второе условие, т.е.:

2) Введем исходные данные для третьего примера:x=1; a=0; b=2; c=-1.

При x<bвыполняется третье условие, т.е.:

Минимальным элементом среди a,bи cявляется c, который равен -1.

Задание 2

Задан вектор B(15). Элементы массива B расположить по убыванию. Определить индекс первого элемента кратного пяти и умножить на его последний четный элемент.

Постановка задачи.

Исходные данные: Вектор B(15);

Результат: Вектор B сортированный по убыванию;

Преобразованный вектор B;

Математическая модель:

1) Ввод вектора B(15);

2) Расположить элементы вектора по убыванию;

3) Определяем индекс первого элемента кратный пяти;

4) Найдем последний четный элемент;

5) На выше сказанный индекс умножим последний четный элемент.

Блок - схема

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

Program zadanie_2;{Название программы}

Var B:array[1..15] ofinteger;{Задаем размерность и тип массива}

i,j,t,f,k,z,p,pro:integer;

begin{Начало программы}

writeln('Введите элементы вектораB');

for i:=1 to 15 do read(B[i]);{Ввод элементов вектора}

fori:=1 to 15 do{Сортировка вектора по убыванию}

for j:=i+1 to 15 do

if B[i]<B[j] then begin

t:=B[i];

B[i]:=B[j];

B[j]:=t;

end;

f:=1;{Определение индекса первого элемента кратной пяти}

for i:=1 to 15 do

if (B[i]mod 5=0) and (f=1) then begin

k:=i;

f:=0;

end;

z:=1;{Определение последнего четного элемента}

for i:=15 downto 1 do

if (B[i]mod 2=0) and (z=1) then begin

p:=i;

z:=0;

end;

for i:=1 to 15 do write(B[i],' ');{Выводупорядоченноговектора}

pro:=B[k]*B[p];{Умножение индекса первого элемента кратной пяти на последний четный элемент}

writeln;

write('pro=',pro);

end.

Тестовый пример

Введем значения вектора B={0,1,2,3,4,5,6,-1,-2,-3,-4,-5,-6,-7,-8};

Упорядочим вектора В по убыванию B={6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8};

Индексом первого элемента кратной пяти является 6;

Последним четным элементом является -8;

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

Задание 3.

Задана матрица A(3,3). Найти произведение элементов столбца, где расположен max четный элемент матрицы. Найти сумму элементов каждой строки и определить min среди них.

Постановка задачи.

Исходные данные: A(3,3);

Результат: P - произведение;

Сумма элементов строк;

Min- минимальный элемент среди сумм строк;

Математическая модель:

1) Ввод матрицы A(3,3);

2) Найдем max четный элемент матрицы;

3) Найдем произведение элементов столбца;

4) Найдем сумму элементов каждой строки;

5) Найдем min среди этих сумм.

Блок - схема

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

programzadanie_3; {Заголовокпрограммы}

varsum:array[1..3] ofreal;{Разделобъявленийпеременных}

A:array[1..3,1..3] of integer;

jm,i,j:integer;

max,s,p,min:real;

begin{Началопрограммы}

writeln('Введите матрицу A(3,3)');{Ввод матрицы}

for i:=1 to 3 do

for j:=1 to 3 do read(A[i,j]);

max:=a[1,1];{Находимmax четный элемент}

jm:=1;

for i:=1 to 3 do

for j:=1 to 3 do

if (max<a[i,j]) and (a[i,j]mod 2=0) thenbegin

max:=a[i,j];

jm:=j;

end;

p:=1;{Находимпроизведение}

for i:=1 to 3 do

p:=p*a[i,jm];

writeln('Произведение равна:',p:3:2);{Вывод произведения}

for i:=1 to 3 dobegin{Находимсуммустрок}

s:=0;

for j:=1 to 3 do

s:=s+a[i,j];{Формуланакоплениясуммы}

sum[i]:=s;

end;

min:=sum[1];{Находим минимальный среди сумм строк}

for i:=1 to 3 do

ifsum[i]<min then min:=sum[i];

writeln('Минимальнаясумма',min:3:2);{Вывод минимальной суммы}

end.{Коней программы}

Тестовый пример

Вводим данные в матрицу:

В данной матрице максимальным четным элементом является 8, который расположен во второй столбце. Найдем произведение элементов второго столбца: P=2•5•8=40.

В данной матрице найдем сумму строк:

1. Сумма первой строки равна: S1=1+2+3=6;

2. Сумма второй строки равна: S2=4+5+6-15;

3. Сумма третей строки равна: S3=7+8+9=24;

Найдем минимальную сумму среди выше полученных сумм. Минимальной суммой является первая сумма, которая равна 6.

И так произведение столбца, где расположен максимальный четный элемент, равна 40, а минимальная сумма среди сумм строк равна 6.

ЗАКЛЮЧЕНИЕ

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

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

Сейчас во всем мире говорят не просто о написании программ, а о производстве программных продуктов, индустрий программных продуктов, технологий программирования.

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

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

тurbo рascal программирование компилятор

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. М.М. Канаев, Т.З. Султанбекова, Программирование на языке TP: учебное пособие. Махачкала: ДГТУ, 2010 г.

2. ФроловВ.В.Turbo Pascal 7.0 Учебный курс. Москва, 2011 г.

3. Эллилот Б. Коффман, Turbo Pascal (5-е издание). Москва 2010 г.

4. Моргун А.Н.,Справочник по Turbo Pascal для студентов и школьников. Пенза 2006г.

5. Меженный О.А.,Turbo Pascal Краткое руководство. Москва 2006 г.

Размещено на Allbest.ru


Подобные документы

  • Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.

    реферат [64,0 K], добавлен 20.03.2016

  • Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.

    курсовая работа [198,1 K], добавлен 03.02.2010

  • История появления и распространения Turbo Pascal - среды разработки для языка программирования Паскаль. Общий вид объявления файлового типа. Входная, выходная и промежуточная информация. Алгоритм решения задачи: словесный алгоритм, блок-схема, программа.

    курсовая работа [359,4 K], добавлен 05.01.2010

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.

    лабораторная работа [3,7 M], добавлен 22.03.2012

  • Сущность среды программирования Turbo Pascal. Разработка программы с учетом потребительских свойств. Особенности методов современной технологии программирования (пошаговой детализации, структурный, модульный принцип, метод иерархической декомпозиции).

    курсовая работа [57,1 K], добавлен 03.03.2011

  • История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.

    курсовая работа [102,7 K], добавлен 23.12.2011

  • Характеристика используемой операционной системы, языка программирования. Структура программы на языке Turbo Pascal 7.1. Операторы языка Turbo Pascal. Проведение сортировки записей. Алгоритмы программы и подпрограмм. Причины возникновения ошибок.

    курсовая работа [454,1 K], добавлен 13.06.2014

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

  • Написание программы "телеграф", который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире. Их вывод сортируется звуковым сигналом соответствующей длительности. Программа написана на языке Turbo Pascal.

    курсовая работа [565,6 K], добавлен 18.08.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.