28637

Базисные конструкции языка

Лекция

Информатика, кибернетика и программирование

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

Русский

2013-08-20

89.5 KB

9 чел.

Лекции 3-4: Базисные конструкции языка.

1.Общая характеристика языка Pascal.

2. Алфавит языка, основные конструкции языка.

3. Структура программы.

4. Стандартные типы данных, операции, выражения.

1.Общая характеристика языка Паскаль.

Язык Паскаль в его современном воплощении (TURBO PASCAL 7.0, OBJECT PASCAL 9.0) -это весьма мощный язык, содержащий многие десятки различных и весьма полезных конструкций. Изучить все его возможности в таком кратком курсе, как наш, нереально.

Одним из фундаментальных свойств Паскаля является его сильная типизация. Это означает, что каждый  элемент обрабатываемых данных жёстко связан с соответствующим типом данных, т.е. каждый элемент данных имеет один и только один тип, а каждая операция имеет фиксированные типы для своих операндов и результата. Типизация данных помогает контролировать (в том числе автоматически) многие ошибки в данных и операциях, оптимально распределять память, что упрощает создание высокоэффективных  трансляторов. Не все языки программирования поддерживают сильную типизацию (например, Basic, C её игнорируют).

     Замечание

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

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

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

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

Однако не следует обольщаться! Программирование на Паскале (как впрочем, и на любом другом языке) не даётся само собой! Для программирования необходимо овладеть основами языка и методики разработки программ. Необходимо научиться "читать" программы (понимая смысл написанного!), а затем и "писать" собственные (пусть вначале и несложные) программы. Не следует думать, что вы легко сможете постичь и то и другое сразу. Поэтому важно на первых этапах сосредоточиться на изучении основ языка, т.е. научиться "читать программы". Этот процесс естественен при изучении любого языка.

К изучению Паскаля следует относиться как к изучению нового для вас языка (аналогичного скажем английскому) и понять, что означают отдельные его слова, а затем и фразы (операторы и другие фрагменты) и как правильно их записывать. Если ассоциация с английским языком вызывает у вас волнения, то хочу успокоить. Паскаль много проще английского языка, и изучить его основы можно за относительно небольшой срок и с несравненно меньшими усилиями. В нём нет двусмысленных или расплывчатых конструкций, времён, склонений или спряжений.  Паскаль, как язык программирования, - это язык записи действий (алгоритмов и структур данных). Каждой его конструкции приписывается однозначный смысл (часто независящий от "окружения"), а правила записи конструкций во многом сходны с императивами (командами, указаниями, инструкциями) естественного языка.

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

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

2. Алфавит языка, ключевые слова, идентификаторы.

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

Алфавитом Паскаля являются некоторые символы кодовой таблицы ASCII, которым в Паскале приписан определённый (и фиксированный смысл), а также некоторые цепочки символов. В алфавит входят все латинские (большие и малые) буквы, десятичные цифры, специальные символы и зарезервированные (ключевые) слова. К специальным символам относятся символы операций (+,-, *, /), бинарных отношений (=,>,<,), скобки (простые, квадратные, фигурные), разделительные символы (., :; ), кавычки (''), а также символы ^,@, $, #.  Кроме того, к алфавиту относятся некоторые пары символов (рассматриваемые как неделимые): <> - символ неравенства, >=  и <= - больше или равно (меньше или равно), := - символ присваивания.

Дополнительную группу символов алфавита составляют ключевые слова (зарезервированные слова). Их в Паскале несколько десятков и мы будем знакомиться с ними постепенно по мере изучения конструкций языка. Примерами ключевых слов (которые потребуются нам в ближайшее время) являются program, begin, end, var. Эти и некоторые другие последовательности символов ASCII зарезервированы в Паскале, им приписан фиксированный смысл (например, begin - открывающая операторная скобка) и использовать их в другом смысле нельзя. Мы будем выделять ключевые слова полужирным шрифтом.

Заметим, что русские буквы не являются элементами алфавита Паскаля, как и некоторые другие символы кодовой таблицы. Это не значит, что их нигде нельзя использовать, но их использование в программах на Паскале ограничено только определенными конструкциями, о которых мы  ещё поговорим особо.

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

     Замечание

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

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

Для описания синтаксиса мы будем использовать простые формальные средства - нотацию Бэкуса-Наура, а для описания семантики - пояснения на естественном языке.

Нотация Бэкуса-Наура (называемая также БНФ) описывает синтаксис конструкций языка через небольшое число примитивов:

Метаопределение - заключённое в угловые скобки название конструкции (название может рассматриваться как комментарий конструкции). Примеры: <буква>, <ключевое слово>, <литерал>, <комментарий>. При этом последовательность символов, не заключенная в угловые скобки, рассматривается буквально (т.е. только как последовательность написанных символов).

Равенство по определению  будем обозначать сочетанием 3 символов  ::= 

Альтернативный выбор (союз "или") будем обозначать символом |

Необязательный выбор конструкции будем заключать в квадратные скобки [ ]

Повторяющуюся (нуль или более раз) конструкцию будем заключать в фигурные скобки {  }.

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

Синтаксическое определение понятия "цифра":

<цифра> ::= 0|1|2|3|4|5|6|7|8|9

Синтаксическое определение понятия "литерал ":

<литерал> ::= ' {< символ кодовой таблицы >} '

Синтаксическое определение понятия "комментарий":

{ < строка символов ASCII, не содержащая символов { и } > }

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

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

Имена (кроме стандартных имён) выбирает программист в процессе разработки программы и этот выбор должен облегчать чтение текста программы: имя должно "говорить само за себя" - пояснять смысл используемого объекта. При этом имена должны быть одновременно и достаточно выразительными и достаточно лаконичными (краткими). Синтаксические ограничения в выборе имени даёт определение имени:

<имя> ::= <латинская буква или символ _> { < латинская буква >| <цифра >| _ }

Примеры имён: alfa, F1, test_1m; неправильные имена:  тест1, 2_vol.

Некоторые имена являются стандартными именами Паскаля. К их числу относятся имена стандартных функций, процедур, типов и др. Следует особо отметить, что стандартные имена не являются ключевыми словами (т.е. они могут быть использованы в ином смысле, хотя это не следует делать без особой надобности !). Примеры таких стандартных имён: write, odd, integer, boolean. Заметьте, что русские буквы нельзя использовать в именах Паскаля!

Существуют только три конструкции Паскаля, в которых разрешено использовать любые символы (в том числе и русские буквы):- это символьные константы, строковые константы (литералы) и комментарии.

Символьные и строковые константы - это, соответственно, один символ или любые последовательности символов кодовой таблицы, заключенные в апострофы. Пример: ' Это - строка символов'. Литералы - важные конструкции языка, с которыми мы будем еще неоднократно иметь дело. Они используются в операторах ввода-вывода  и  при обработке строк.

Комментарии - любые последовательности символов кодовой таблицы (не содержащие фигурных скобок), заключенные в фигурные скобки. Пример комментария:   { Программа на TURBO PASCAL}. Заметим, что фигурные скобки есть ограничитель для комментариев, и использовать их ни в каком другом смысле нельзя.

     Замечание

Некоторые комментарии зарезервированы и представляют директивы компилятора. Эти комментарии начинаются символом $. Например: {$R+} -включить контроль границ диапазона.

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

3. Структура программы.

Любая программа на Турбо Паскале имеет одну и ту же общую структуру:

[ program < имя программы > ; ]

[ <раздел описаний > ]

begin

< раздел операторов >

end.

Эта структура состоит из заголовка программы (необязательного), раздела описаний (который может в особых случаях отсутствовать) и раздела операторов, содержащего хотя бы один оператор.

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

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

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

Порядок описаний произвольный (за исключением uses -описания используемых модулей, которое должно быть первым описанием в программе).

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

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

<описание переменных  одного типа > ::=  var < список переменных > : < тип > ;

где: < список переменных > ::= <имя переменной > {, < имя переменной > }

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

var math,phys,phil,hist:integer;{баллы по предметам}

                 average:real; {средний балл}

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

< описание константы > ::= const < имя константы> = < значение константы > ;

Например: const g = 9.8;

Допустим также промежуточный между переменной и константой вид, называемый типизированной константой. По своей сути - это переменные с начальным значением (инициализированные переменные), использование которых часто представляет большие удобства. Синтаксическая структура описания этих констант:

< описание типизированной константы > ::= const < имя >:<тип> = <значение >;

Например: const name:string = ''; { name, инициированная как пустая строка }

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

В разделе операторов (заключенных в операторные скобки begin - end) записываются операторы, реализующие алгоритм программы. В последовательности операторов один оператор отделяется от другого символом ; (точка с запятой).

     Замечание

Точка с запятой после оператора, за которым следует end, until может быть опущена.

Оператор представляет самостоятельный элемент действия. Операторы Паскаля могут быть простыми либо составными. Простые операторы – “не расщепляются” на более мелкие операторы, а составные операторы, наоборот, содержат в своем составе другие (простые или составные) операторы. Таким образом, сложные операторы (а, следовательно, и сложные действия) имеют вложенную структуру, комбинирующую в одну конструкцию более простые операторы. Для объединения операторов в сложный оператор помимо последовательного соединения используют и другие важные способы композиции (условные операторы, циклы и др.), которые мы рассмотрим ниже.

     Замечание

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

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

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

4. Стандартные типы данных, операции, выражения.

Хотя в Турбо Паскале имеется много различных стандартных типов, для простых программ (с которых мы начинаем изучение конструкций Турбо Паскаля) будет достаточно знание лишь 5 стандартных типов:

integer -  целые числа;

real - вещественные числа;

char - символьный (литерный) тип;

string - строковый тип;

boolean - булевский (логический) тип.

Целые числа типа integer - это числа диапазона -32768 .. 32767, над которыми допустимы обычные операции арифметики: сложения (+), вычитания (-), умножения (*). Для целочисленного деления предусмотрена операция div, а для получения остатка от деления (остатка по модулю) - операция mod. Примеры: 42 div 8  даёт результат 5, а операция  42 mod 8 даёт результат 2. Константы типа integer  - обычные целые числа возможно со знаком. В этих числах недопустимы точка или запятая.

Синтаксическое определение целых чисел имеет вид:

< целое число > ::= [ -| + ] { < цифра > } 

В отличие от целых чисел вещественные числа типа real представляются в памяти компьютера приближенно. Константы типа real - числа, возможно с дробной частью (отделяемой от целой части точкой). Дробная часть у этих чисел может и отсутствовать.  Например:

1.072359001E -0018 { число, соответствующее 1.072359001*10-18 }

Операции сложения, вычитания, умножения для типа real обозначаются теми же символами, что и для чисел типа integer. Операция деления обозначается символом / и является делением с остатком (результатом является также число типа real).

Типы real и integer  - это существенно различные типы чисел. Однако имеются и операции, которые преобразуют типы данных, такие как round(x) - округление вещественного числа x до ближайшего целого, trunc(x) - отбрасывание у вещественного числа  x  дробной части.

Для типов integer и real допустима также операция возведения в квадрат sqr, и извлечения квадратного корня sqrt (результатом этой операции всегда является число типа real, если этот результат существует).

Символьный тип имеет своими значениями (константами) символы кодовой таблицы ASCII (всего 256 символов). Некоторые из этих символов имеют привычное изображение и могут использоваться как элементы различных текстов (например, буквы, цифры, разделительные символы). Это - информационные символы.  Однако в кодовой таблице есть и управляющие символы - неотображаемые при печати текстов (например, символ конца страницы, конца строки, табуляции и др.). Константы информационных символов представляются как символы, заключенные в апострофы. Например: 'G', 'П',  'k', 'л', '4'. Заметим, что '4' не является числом 4, это - символ 4. Важнейшие функции над символами: это ord - преобразование символа в код (номер символа в кодовой таблице) и chr - преобразование кода в символ. Вместо функции chr можно также использовать операцию, обозначаемую знаком #. Например #9 - табуляция, #12 - прогон страницы, #68 - символ 'D'. Таким образом, операция # даёт более универсальный способ представления символов кодовой таблицы.

Строковый тип имеет своими значениями (константами) последовательности символов кодовой таблицы (в том числе и одиночные символы). Строковые константы, как и символьные константы,  заключаются в апострофы. Тип string включает все строки длиной до 255 символов, в том числе пустую строку, обозначаемую  как ''. В строковом типе можно указывать максимальную длину строки, меньшую 255 в форме string[<длина>], где <длина> - целое число без знака, не превышающее 255. Основная операция над строками - операция сцепления (конкатенация), обозначаемая символом +. Она присоединяет к концу первой строки вторую строку. Например: 'Турбо' +' Паскаль'  дает результатом строку 'Турбо Паскаль'.

     Замечание

Символ апостроф ' в строке символов представляется парой апострофов. Например: 'Это  есть '' - апостроф'.

Булевский (логический) тип Boolean содержит всего лишь два значения - true и false, обозначающие соответственно истинное и ложное значение. Значение типа Boolean часто используется для результата бинарных отношений между числами (типов integer или real), символами или строками. Это уже упоминаемые выше 6 отношений: <, <=, >, >=, =, <>.  

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

Для символов  - это отношения между кодами символов  как целыми числами.   Для строк - отношения для лексикографического порядка на строках. Лексикографический порядок строк - упорядоченность строк в соответствии с порядком кодов символов при сравнении строк посимвольно слева направо (короткая строка выравнивается до длинной строки добавлением пробелов справа).

Например: 'Турбо' < 'Турбо Паскаль' даёт результатом true, а 'F'>'G' - false.

Для  данных типа Boolean  допустимы булевские операции and, or, xor, not , представляющие связки "И", "ИЛИ", "ИСКЛЮЧИТЕЛЬНО ИЛИ", "НЕ" в соответствии с таблицей:

Таблица 1. Таблица истинности булевских операций.

x1

x2

     x1 and x2

   x1 or x2

    x1 xor x2

   not x1

True

true

      true

    true

    false

   false

True

false

      false

    true

    true

   false

False

true

      false

    true

    true

   true

False

false

      false

    false

    false

   true

 

Эти операции позволяют представлять более сложные отношения, в частности цепочки бинарных отношений. Например: (4<7) and (7<10) представляет цепочку отношений 4<7<10.

     Замечание

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

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

Например: (4+ alfa)*3*(5-sqr(x-1)) - выражение типа integer (если alfa и x - переменные типа integer) либо типа real (если хотя бы одно из alfa и x имеют тип real).

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

Для некоторых из рассмотренных выше операций типы операндов не являются строго фиксированными. Это имеет место в частности, для арифметических операций (+, -, *, sqr) и для сцепления строк (+). В этих случаях действуют правила автоматического преобразования типов в выражениях:

Если в арифметических операциях или в бинарных отношениях между числами операнды имеют различные типы (real и integer), то операнд типа integer автоматически преобразуется к типу real;

Если в операции сцепления строк или в бинарных отношениях между строками операнды имеют различные типы (string и char), то операнд типа char автоматически преобразуется к типу string[1].

Заметим, что автоматические преобразования типов односторонние:

integer real  или char string[1] .

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

Str(x, st)             -преобразование числа х  (вещественного или целого типов) в           строку st.

Val(st, x, err)    -преобразование строки st в число х (целое или вещественное)        (err =0 при отсутствии ошибки преобразования).


 

А также другие работы, которые могут Вас заинтересовать

28469. Предприятие в условиях рыночной экономики, основные при 69.5 KB
  Предприятие в условиях рыночной экономики основные признаки определяющие предприятие характеристика отдельных типов предприятий туристской индустрии. При характеристике рынка туризма необходимо учитывать что основным предметом куплипродажи являются услуги. Принятие самостоятельных решений связанных со стратегией тактикой созданием структур управления предприятием. Можно выделить следующие предприятия в туриндустрии: 1.
28470. Фаза бронирования. Типы бронирования. Источники и каналы бронирования номеров. Подтверждение и аннуляция бронирования 73.5 KB
  Гостиницы объединяются с целью ускорения процесса бронирования и сокращения общих расходов. Подтверждение и аннуляция бронирования: письмо подтверждающее бронирование номера содержит намерения обеих сторон предоставить или воспользоваться услугами гостиницы. Эти № заносятся в информационную систему гостиницы во избежание несоответствий связанных с бронированием или отмены бронирования. В некоторых гостиницах форму №1Г заполняют сами администраторы на основании паспорта дополнительный сервис гостиницы.
28471. Метод найменшої вартості побудови початкового опорного плану 17.79 KB
  Для даної задачі такою є клітинка А2В2 в яку записується найменше з чисел 220 230. У звуженому полі клітинок вибирається найменша вартість в клітинці А2В1 в яку записується min 10 150 =10. В цю клітинку записується min 280300=280 проставляється прочерк в А3В3 і біля запасів А1 записується залишок в 20 од. Далі заповнюється клітинка А1B4 з найменшою вартістю числом min 20 200=20 виставляються прочерки в клітинках А1В1 А1В2 і записується залишок потреб В4 в розмірі 180 од.
28472. Метод потенціалів побудови оптимального плану 20.81 KB
  Метод потенціалів побудови оптимального плану Побудова системи потенціалів. Сформулюємо критерій оптимальності Канторовича опорного плану ТЗ:Опорний планоптимальний тоді і тільки тоді коли для цього плану існує система чиселпотенціалів u1u2.Іншими словами для оптимальності опорного плану необхідно і достатнє існування такої системи потенціалів що для заповнених клітинок виконується система рівнянь а для вільних клітинок виконується система нерівностей де К1 К2 множини пар індексів і та j які визначають...
28473. Матриці та дії над ними 25.77 KB
  Матрицею або m × nматрицею називається прямокутна таблиця m × n чисел розташованих вт рядках і n стовпцях: де а.Матриця називається прямокутною якщо m ≠ n і квадратною якщо m = n. В останньому випадку число n називається її порядком.Нульовою нульматрицею називається матриця О псі елемент якої нулі.
28474. Визначники та їх властивості 23.28 KB
  Введемо в розгляд нове поняття визначник квадратної матриці порядка n .Для цього попередньо покажемо як шукаються визначники І 3 порядків тобто визначники квадратних матриць 1 3 порядків.Визначник першого порядку це сам елемент аll :Визначником другого порядку називається число В 1 добуток елементів основної діагоналі береться із знаком а побічної діагоналі із знаком .Обчислення визначників порядку n ≥ 4 можна звести як покажемо нижче до знаходження визначників...
28475. Обернена матриця 17.08 KB
  Оберненою до даної квадратної матриці А називається така матриця А1 що А1А =АА11=Е. Для кожної невиродженої квадратної матриці існує єдина обернена. Можна довести що А1 = А 1 де А приєднана до А матриця тобто матриця того ж порядку елементами якої є алгебраїчні доповнення відповідних елементів матриці А' транспонованої до А. Визначник дає інформацію про виродженість чи невиродженість тільки квадратної матриці.
28477. Предмет математичного програмування 11.64 KB
  Для будьякої технікоекономічної задачі кожного рівня наприклад керування роботою підприємства характерними є багатоваріантність вибору тих чи інших рішень а також наявність того чи іншого критерію доцільності прийняття чи відкидання рішень наприклад мінімізація собівартості максимізація прибутку то що. При розв'язуванні будьякої задачі економічного змісту із застосуванням методів математичного програмування необхідно: 1 побудувати математичну модель задачі і проаналізувати її адекватність економічній задачі; 2 з допомогою...