Язык программирования Turbo Pascal
Особое место среди языков программирования занимает АЛГОЛ, первая версия которого явилась в 1958 году. Одним из разработчиков АЛГОЛа был «отец» ФОРТРАНа Джон Бэкус. Название языка ALGorithmicLanguage подчёркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря чёткой логической структуре АЛГОЛ стал стандартным средством записи алгоритмов в научной и технической литературе… Читать ещё >
Язык программирования Turbo Pascal (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РФ ГОУ ВПО «ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра Информатики
КУРСОВАЯ РАБОТА
По дисциплине «Языки программирования»
на тему:
«Язык программирования 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 (истина).
Символьная константа — это любой символ, заключенный в апостроф.
Строковая константа — любая последовательность алфавитно-цифровых символов, заключенных в апострофы.
Целые числа — это числа, которые имеют диапазон от -2 147 483 648 до +2 147 483 647.
Вещественные числа записываются с использованием десятичной точки.
Переменная — это величина, которая в процессе работы программы может менять свое значение. Каждая переменная и константа принадлежат к определенному типу данных. Их тип должен быть описан до начала их обработки в программе.
Комментария
Комментария представляет собой фрагмент текста программы, заключенный в фигурные скобки{…}или в символы (*…*). Комментария в программе используют для удобства чтения программы и компилятором не обрабатывается.
Операции
По характеру выполняемых действий операции можно разделить на следующие группы:
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
Знак «+» может быть опущен.
Диапазон представления целых констант: (-32 768; 32 767).
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,141 592. является стандартной константой 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. Наряду сконкретным значение в качестве индекса может быть использована переменная, например, при обработке массива поэлементно в рамках цикла «FOR…TO…DO …». Так с помощью фрагмента программы
FORi:=1 TO 25 DOmas[i]: =0;
всем элементам массива присваивается значение «0».
Использование массивов вместо одиночных переменных позволяет благодаря применению циклов «FOR…TO…DO …» существенно сэкономить время и объем программы.
Многомерные массивы
При необходимости можно нумеровать массивы не одним индексом, а двумя. Двумерному массиву соответствует матрица в математике, т. е. прямоугольная таблица.
Примеры описаний многомерных массивов:
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
еслиc
Еслиx>b, тоR=3x•S-иначе еслиx=b, тоR=2,1•+иначеR=P;
Блок — схема
Текст программы
Program zadanie1;{Заголовок программы}
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
Минимальным элементом среди a, bи cявляется c, который равен -1.
Задание № 2
Задан вектор B (15). Элементы массива B расположить по убыванию. Определить индекс первого элемента кратного пяти и умножить на его последний четный элемент.
Постановка задачи.
Исходные данные: Вектор B (15);
Результат: Вектор B сортированный по убыванию;
Преобразованный вектор B;
Математическая модель:
1) Ввод вектора B (15);
2) Расположить элементы вектора по убыванию;
3) Определяем индекс первого элемента кратный пяти;
4) Найдем последний четный элемент;
5) На выше сказанный индекс умножим последний четный элемент.
Блок — схема
Текст программы
Program zadanie2;{Название программы}
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]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 среди этих сумм.
Блок — схема
Текст программы
programzadanie3; {Заголовокпрограммы}
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