Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Структура программы на языке Турбо ПаскальСтр 1 из 7Следующая ⇒
Билет№4 Программное обеспечение Совокупность программ, предназначенная для решения задач на ПК, называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией. · системное ПО (программы общего пользования), выполняющие различные вспомогательные функции, например создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.д. Пакет прикладных программ — программный пакет, комплекс взаимосвязанных программ, предназначенных для решения задач определённого класса конкретной предметной области. Служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей. По своему назначению и функциональным возможностям инструментальные программы, применяемые при проектировании экспертных систем, можно разделить на четыре достаточно большие категории. Операционная система — комплекс программ, обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнениеприкладных программ, осуществляющий ввод и вывод данных. Общими словами, операционная система — это первый и основной набор программ, загружающийся в компьютер. Помимо вышеуказанных функций ОС может осуществлять и другие, например предоставление общего пользовательского интерфейса и т.п. Сегодня наиболее известными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.
Билет№5 http: //gadzzilla.org/2004-2011/azbuka/index10.htm#002 Билет№6 Алфавит языка Турбо Паскаль включает буквы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова. Цифры — арабские цифры от 0 до 9. Каждая шестнадцатеричная цифра имеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0—9, остальные шесть — латинскими буквами A—F или a—f. + - * / =, '.: ; < > [ ] { } ^ @ $ # К специальным символам относятся также следующие пары символов: < > < = > =: = ( * * ) (..) В программе эти пары символов нельзя разделять пробелами, если они используются как знаки операций отношения или ограничители комментария. Пары символов (. и. ) могут заменять символы [ и ] соответственно. Особое место в алфавите языка занимают пробелы, к которым относятся любые символы ASCII в диапазоне кодов от 0 до 32. Эти символы рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов. Несколько следующих друг за другом пробелов считаются одним пробелом (последнее не относится к строковым константам). В Турбо Паскале имеются следующие зарезервированные слова*: and end nil shr asm file not string array for object then begin case const constructor destructor div do downto else function goto implementation if in inline interface label mod of or procedure program record repeat set shl to type unit until uses var while with xor packed Тип данных — фундаментальное понятие теории программирования. Тип данных определяет множество значений, набор операций, которые можно применять к таким значениям, и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам. 1. арифметические; 2. логические; 3. символьные; 4. строковые; 5. множественные. Арифметические константы можно классифицировать на: 1. целого типа: десятичные и шестнадцатеричные; 2. Целая десятичная константа – любое десятичное число без десятичной точки со знаком или без него. 3. Целая шестнадцатеричная константа – набор шестнадцатеричных цифр: 4. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Переменные Переменная — это именованный участок памяти, в котором хранится значение, которое может быть изменено программой. Все переменные перед их использованием должны быть объявлены. Билет№7 Структура программы на языке Турбо Паскаль Программа на Pascal начинается с заголовка, далее следует блок описаний и раздел операторов. В блоке описаний состоит из описания различных типов, массивов, меток, функций, процедур. Каждая строка должна заканчиваться точкой с запятой, а в конце всей программы должна стоять точка. Писать программы в Турбо Паскале можно как строчными, так и прописными символами. Заголовок программы начинается с ключевого слова program, после которого должен быть написан сам заголовок. Например, program raschet; Данный раздел не является обязательным и легко может быть исключен, однако его присутствие желательно, чтобы программу можно было легко узнать. После заголовка, обычно с новой строки, идет список используемых в программе модулей. Этот список начинается с ключевого слова uses, после которого через запятую перечисляются модули. В модулях Turbo Pascal (или Delphi) содержаться функции, облегчающие работу программиста. Они могут быть стандартными или пользовательскими. К стандартным модулям относятся system (этот модуль подключается автоматически к каждому проекту), crt, overlay, printer, graph, dos. Все эти модули находятся в файле turbo.tpl и только модуль graph, расположен в graph.tpu. Пользовательские модули написаны самим программистом для облегчения собственной работы. Их использование позволяет избавиться от копирования кода из одного проекта в другой. Данный раздел также не является обязательным. После описанных модулей следует блок описание. Он также не является обязательным, однако без него трудно написать полезную программу. В блоке описания могут быть использованы следующие ключевые слова: Const – для описания констант. Константы перечисляются через точку с запятой, и имею вид «имя константы»=«значение». Например, const min=0; max=100; Type – описывают типы. Запись типов имеет вид «название типа»=«тип». Например, Type dni=1..31; bukva=‘a’..’z’; Label – описывает метки которые можно установить перед любым оператором, для перехода к нему из любого места программы. Для перехода необходимо использовать оператор goto. Пример записи меток: Label M1, M2; Var – встречается практически в каждой программе. Описывает используемые переменные. Запись переменных имеет следующий вид «имя переменной»= «тип переменной». В качестве типа переменной могут использоваться стандартные типы или типы, описанные в разделе описания. Пример. Var x, y: real; t: integer; Также в программе могут использоваться процедуры и функции – это подпрограммы, имеющие аналогичную структуру. Отличия между ними состоит в том, что функция возвращает всегда только одно значение, а процедура способно возвращать несколько значений. Последним обязательным разделом является раздел операторов. В нем записываются все действия, которые должны происходит в программе. Данный раздел начинается с ключевого слова begin и заканчивается ключевым словом end. Раздел описания констант Константа - это величина, которая не изменяет своего значения в процессе выполнения программы. С константами мы с Вами уже встречались, так как в общем случае константой является любое целое или вещественное число, символ, идентификаторы false и true, а также идентификаторы, обозначающие значения переменных перечисляемого типа. Но константа может быть обозначена и именем. В этом случае она должна быть описана в разделе описания констант. Раздел описания констант начинается словом Const от англ. constancy - постоянство). Например, Const N = 25; K = 38; D = (N + K) Div 2; Letter = 'f'; M = 5E15 Здесь n, k, d - это целочисленные, letter - константа символьного типа, а m - константа вещественного типа. Следует заметить, что константа d принимает свое значение после вычисления выражения. В разделе констант можно использовать лишь некоторые стандартные функции, такие, как Abs, Chr, Pred, Succ, Odd, Ord. Присваивание имен константам делает программу более удобной для понимания и внесения исправлений в программу. При изменении констант достаточно будет изменить соответствующие значения в разделе описания констант. Раздел описания переменных Одним из центральных понятий любого языка програмирования является переменная. Const N: Integer = 15; ch: Char = #87. Типизированные константы являются, собственно говоря, переменными. В частности, они могут изменять своё значение в процессе выполнения программы. К преимуществам можно отнести и то, что они инициализируются в начале программы. Раздел описания типов В языке Паскаль все данные, используемые программой, должны принадлежать к какому-либо заранее известному типу данных. Тип данных определяет:
Билет№8 Функции в Паскале Набор встроенных функций в языке Паскаль достаточно широк (ABS, SQR, TRUNC и т.д.). Если в программу включается новая, нестандартная функция, то ее необходимо описать в тексте программы, после чего можно обращаться к ней из программы. Обращение к функции осуществляется в правой части оператора присваивания, с указанием имени функции и фактических параметров. Функция может иметь собственные локальные константы, типы, переменные, процедуры и функции. Описание функций в Паскале аналогично описанию процедур. Отличительные особенности функций: - результат выполнения - одно значение, которое присваивается имени функции и передается в основную программу; Билет№9 Оператор ввода read При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо. Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter. Если в программе имеется несколько операторов read, то данные для них вводятся потоком, т.е. после считывания значений переменных для одного оператора read данные для следующего оператора читаются из той же строки на экране, что и для предыдущего до окончания строки, затем происходит переход на следующую строку. Другой вариант оператора ввода с клавиатуры имеет вид: readln(< список ввода> )Этот оператор отличается от read только тем, что после считывания последнего в списке значения для одного оператора readln данные для следующего оператора будут считываться с начала новой строки.
Оператор вывода write Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или логическому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки. При выводе на экран нескольких чисел в строку они не отделяются друг от друга пробелами. Программист сам должен позаботиться о таком разделении. Его действие отличается от оператора write тем, что после вывода последнего в списке значения происходит перевод курсора к началу следующей строки. Оператор writeln, записанный без параметров, вызывает перевод строки. Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода, определяемой конкретной реализацией языка. Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE. Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А: К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А: К: М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой. Билет№10 Оператор ветвления (условная инструкция, условный оператор) — оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения. Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого словаif. Встречаются следующие формы условного оператора: Определение Понятие составного оператора появилось в языке программирования Алгол. Введённые в этом языке структурные операторы (ветвление, цикл) были организованы таким образом, что в них могла использоваться только одна команда языка. Чтобы не ограничивать программиста, в язык было введено понятие составного оператора: любой набор операторов, размещённый между ключевыми словами begin и end, с точки зрения транслятора становился одной командой (оператором) и мог использоваться в любом месте программы, где следует использовать один оператор.
Билет№11 Цикл – это многократно повторяющиеся фрагменты программ.Алгоритм циклической структуры – это алгоритм, содержащий циклы. · цикл с предусловием; · цикл с постусловием; · цикл с параметром. Для всех циклов характерны следующие особенности: · значения переменных используемых в цикле, и не изменяющиеся в нем д.б. определены до входа в цикл; · вход в цикл возможен только через его начало; · выход их цикла осуществляется как в результате его естественного окончания, так и с помощью операторов перехода.
Билет№12 Табулирование функции — это вычисление значений функции при изменении аргумента от некоторого начального значения до некоторого конечного значения с определённым шагом. Алгоритм табулирования Применяется для составления всевозможных таблиц, которыми могут быть как абстрактная таблица значений математической функции, так и конкретная таблица стоимости товара или платежей, совершенных абонентом сотового оператора. 1. до цикла задается начальное значение управляющей переменной, условием выхода из цикла служит достижение управляющей переменной конечного значения; В качестве примера составим таблицу синусов в пределах от 0 до π с шагом по аргументу 0.25. Обозначим аргумент как x, значение синуса от x обозначим как y. В простейшем случае программа табулирования может выглядеть так: var x, y: real; begin writeln('x': 10, 'sin(x)': 10); {печать заголовка таблицы до цикла} x: =0; {начальное значение аргумента} while x< =pi+1e-6 do begin y: =sin(x); {вычисление функции} writeln (x: 10: 2, y: 10: 2); {печать строки таблицы} x: =x+0.25; {шаг по x} end; end.
Билет№13 Рекуррентная формула (от лат. recurrens, родительный падеж recurrentis — возвращающийся), формула приведения, формула, сводящая вычисление n-го члена какой-либо последовательности (чаще всего числовой) к вычислению нескольких предыдущих её членов. Обычно эти члены находятся в рассматриваемой последовательности " недалеко" от её n-го члена, число их от n не зависит, а n-й член выражается через них достаточно просто. Однако возможны Р. ф. и более сложной структуры. Рекуррентная формула — формула вида , выражающая каждый член последовательности через p предыдущих членов.
Билет№14 Массив — упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа. Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д. Одномерный массив нестрого соответствует вектору в математике, двумерный — матрице. Чаще всего применяются массивы с одним или двумя индексами, реже — с тремя, ещё большее количество индексов встречается крайне редко. ??? Билет№15 Одномерный массив – это массив, в котором каждый элемент определяется с помощью одного номера. Номер элемента массива называется индексом. Массив задается с помощью слова array.
Билет№16 Билет№17 Билет№18 Билет№19
Билет№20 Нахождение наибольшего элемента в заданной строке матрицы Пусть задана матрица А из действительных чисел размера 3х4. Найти наибольший элемент во второй строке данной матрицы. Программа решения задачи: Program max_st; Type Matr=array[1..3, 1..4] of real; Var max: real; a: Matr; i, j: integer; begin for i: =1 to 3 do for j: =1 to 4 do begin readln(a[i, j]); end; max: =a[2, 1]; for j: =2 to 4 do if max< a[2, j] then max: =a[2, j]; writeln(‘Наибольший элемент второй строки=', max: 8: 2); end. Данная программа представляет собой реализацию алгоритма нахождения наибольшего элемента вектора, полученного путем фиксирования одного из индексов двумерного массива. Билет№21 Файл - это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами. Использование файлов целесообразно в случае: 1. долговременного хранения данных; 2. доступа различных программ к одним и тем же данным; 3. обработки больших массивов данных, которые невозможно целиком разместить в оперативной памяти компьютера. В Паскале определены текстовые файлы, типизированные и нетипизированные. Файл, не содержащий ни одного элемента, называется пустым. Создается файл путем добавления новых записей в конец первоначально пустого файла. Длина файла, т.е. количество элементов, не задается при определении файла. Все файлы должны быть описаны в программе либо в разделе переменных VAR, либо в разделе типов TYPE. Под чтением файла понимают ввод данных из внешнего файла, находящегося на диске, в оперативную память машины. Запись в файл - вывод результатов работы программы из оперативной памяти на диск в файл. Работа с файлами выполняется следующими процедурами: Assign – устанавливает связь между именем файла в программе (файловой переменной ) и физическим именем файла, принятым в ОС. Текстовые файлы Текстовые файлы – файлы на диске, состоящие из символов ASCII. Для разделения строк используются символы «конец строки». Текстовые файлы являются файлами с последовательным доступом. В любой момент времени доступна только одна запись файла. Другие записи становятся доступными лишь в результате последовательного продвижения по файлу. Текстовые файлы внутренне разделены на строки, длины которых различны. Для разделения строк используется специальный маркер конца строки. Объявляются текстовые файлы переменной типа text. Обрабатывать их можно только последовательно и с помощью процедур и функций: Readln (f, st )- чтение строки st из файла f и переход на начало следующей; Типизированные файлы Типизированные файлы – это файлы, состоящие из нумерованной последовательности объектов (записей) любого типа. С такими файлами можно работать в режиме прямого доступа, при котором выполняется непосредственное об ращение к любой записи файла. Каждая запись файла имеет свой номер, начиная с 0 и т.д. 1) Write и Read- записывают и читают информацию из указанного файла и перемещают указатель файла к сле дующей записи. Для добавления записей в конец файла используются процедуры: Readln (a ); Билет№22 Любые идентификаторы, введенные внутри какого-либо блока (процедуры, функции) для описания переменных, констант, типов, процедур, называются локальными для данного блока. Такой блок вместе с вложенными в него модулями называют областью действия этих локальных переменных, констант, типов и процедур. Функции. Функция или процедура может быть уже включена в сам язык программирования, а может входить в модуль, который требуется «подключить» к программе. 1. Арифметические функции 2. Функции преобразования типов 3. Функции для величин порядкового типа Формальные параметры – это наименование переменных, через которые передается информация из программы в процедуру либо из процедуры в программу.
Билет№23 Процедуры. В большинстве языков структурного программирования подпрограммы существуют только в виде функций. В Паскале же их два типа: процедуры и функции. Их заголовки выглядят соответственно так: procedure имя (параметры); function имя (параметры): тип результата; Между функциями и процедурами есть существенное отличие. Значение, полученное в результате выполнения кода функции, жестко соотносится с ее именем путем присвоения этому имени конкретного значения. Тип, который может принять вычисляемое значение, указывается в заголовке функции (тип результата). И в теле основной программы функция вызывается только в том случае, если ее имя фигурирует в каком-либо выражении. В то время как процедура вызывается отдельно. Параметр-значения. Если в качестве формального параметра указана переменная, то такой параметр и есть параметр-значение. Примерами таких параметров служат параметры a, b и с в процедуре sq: procedure sq((a, b, c: real; var x1, x2: real);Для параметров-значений машина при вызове процедур производит следующие действия: выделяет место в памяти для каждого формального параметра, вычисляет значение фактического параметра и записывает его в ячейку, соответствующую формальному параметру. Если фактический параметр есть имя переменной, например, r, то значение этой переменной пересылается в соответствующий формальный параметр, например, a. На этом всякая связь между a и r обрывается. Параметры-переменные. Если перед именем формального параметра стоит ключевое слово var, то такой параметр есть параметр-переменная. Примерами таких параметров служат x1 и x2 в заголовке procedure sq(a, b, c: real; var x1, x2: real);Фактический параметр, соответствующий параметру-переменной, может быть только переменной (не константой и не выражением). При вызове процедур (функций) параметры-переменные обрабатываются так: для формального параметра используется именно та ячейка, которая содержит соответствующий фактический параметр. Пример. При вызове процедуры sq оператором sq(p, q, r, y, z) для переменных x1 и x2 используются непосредственно те ячейки, которые отведены для y и z. Поэтому оператор присваивания x1: = (-b + sqrt(d)) / (2 * a) засылает полученное значение в y. Под формальные и фактические параметры-значения транслятор отводит разные области памяти. Поэтому результат выполнения процедуры может быть передан только через параметр-переменную. Билет№24 Модуль (программирование) — функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части. Структура модулей Структура модуля аналогична структуре программы, однако есть несколько существенных различий.
Билет№25 Метод половинного деления Его ещё называют методом дихотомии. Этот метод решения уравнений отличается от выше рассмотренных методов тем, что для него не требуется выполнения условия, что первая и вторая производная сохраняют знак на интервале [a, b]. Метод половинного деления сходится для любых непрерывных функций f(x) в том числе недифференцируемых. Разделим отрезок [a, b] пополам точкой . Если (что практически наиболее вероятно), то возможны два случая: либо f(x) меняет знак на отрезке [a, c] (Рис. 3.8), либо на отрезке [c, b] (Рис. 3.9)
Выбирая в каждом случае тот отрезок, на котором функция меняет знак, и продолжая процесс половинного деления дальше, можно дойти до сколь угодно малого отрезка, содержащего корень уравнения. Билет№26 Билет№27 Численные методы решения алгебраических уравнений имеют самостоятельное значение для исследования статических моделей. Уравнение вида х = f(х) называют заданным в неявной форме, если неизвестная переменная х входит в обе части уравнения, а f — функция, не содержащая интегрирования, дифференцирования или запаздывания х. Если решение уравнения х =f(x) существует и находится в области вещественных чисел, то оно может быть найдено по простой итерационной формуле
Метод Ньютона Основная идея метода заключается в следующем: задаётся начальное приближение вблизи предположительного корня, после чего строится касательная к исследуемой функции в точке приближения, для которой находится пересечение с осью абсцисс. Эта точка и берётся в качестве следующего приближения. И так далее, пока не будет достигнута необходимая точность.
Пусть — определённая на отрезке и дифференцируемая на нём вещественнозначная функция. Тогда формула итеративного исчисления приближений может быть выведена следующим образом: где α — угол наклона касательной в точке . Следовательно искомое выражение для имеет вид: Билет№28 Численные методы. Постановка задачи Пусть есть функция . Билет№29 Метод Зейделя Метод Зейделя (иногда называемый методом Гаусса-Зейделя) является модификацией метода простой итерации, заключающейся в том, что при вычислении очередного приближения x(k+1) (см. формулы (1.13), (1.14)) его уже полученные компоненты x1(k+1), ..., xi - 1(k+1) сразу же используются для вычисления xi(k+1). В координатной форме записи метод Зейделя имеет вид: |
Последнее изменение этой страницы: 2017-03-14; Просмотров: 860; Нарушение авторского права страницы