Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа № 1. Программирование последовательных вычислений↑ Стр 1 из 8Следующая ⇒ Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Введение Алгоритмизация
Решение многих задач с помощью компьютера включает ряд этапов: содержательная постановка задачи; математическая формулировка задачи; выбор метода решения задачи; разработка модели и алгоритма решения задачи; выбор языка программирования и составление программы; ввод программы и исходных данных в память компьютера; отладка и выполнение программы; получение и анализ результатов; документирование и тестирование программы. Модель – искусственный аналог объекта исследования, обладающий некоторыми существенными свойствами оригинала. Алгоритм – конечная последовательность действий, однозначно приводящая к решению задачи. Алгоритм имеет следующие свойства: дискретность (пошаговость выполнения); результативность (стремление к решению задачи); определённость (однозначность команд); массовость (применимость для класса задач). Блок-схема – графическое изображение алгоритма. Блок-схема состоит из блоков, представляющих собой геометрические фигуры, соединённые линиями. Основные блоки приведены в таблице 1. К базовым управляющим структурам алгоритмов относятся: алгоритм линейной структуры (следование), в котором все действия выполняются последовательно; алгоритм разветвляющейся структуры (ветвление), в котором происходит переход к одной из нескольких ветвей алгоритма; алгоритм циклической структуры (повторение), в котором производится многократное повторение однотипных действий. Автоматизация математических вычислений на компьютере Для автоматизации математических вычислений на ЭВМ без программирования в технических расчётах обычно используются математические системы. Математическая система – прикладная программа для автоматизации математических вычислений и аналитических преобразований (наиболее распространенные математические системы – Mathcad, MatLab, Maple, Derive, Eureka). Система Mathcad позволяет проводить линейные, разветвляющиеся (с помощью функции If) и циклические (с помощью ..) вычисления; находить значения функций, производных и интегралов; строить графики; выполнять обработку массивов (индексирование массивов начинается с 0); вычислять характеристики матриц: сумму, произведение, минимальное (функция Min), максимальное (функция Max) и среднее значение (функция Mean); решать уравнения с нулевой правой частью (с помощью функции Root); решать уравнения и системы уравнений с любой правой частью (с помощью функции Find). Главное достоинство программы Mathcad заключается в том, что формулы записываются в виде, приближенном к математической записи, что повышает наглядность и освоение действий в системе Mathcad. Пример расчётов в системе Mathcad приведён на рисунке 1. Лабораторная работа № 1. Программирование последовательных вычислений Элементы языка Pascal Программа на языке Pascal включает: заголовок программы (Program), раздел описания используемых модулей (Uses), раздел описания меток (Label), раздел описания констант (Const), раздел описания типов данных (Type), раздел описания переменных (Var), раздел описания процедур (Procedure), раздел описания функций (Function), раздел операторов (Begin…End.). К стандартным типам данных в языке Pascal относятся: целочисленный тип integer (целые числа), вещественный тип real (действительные числа), логический тип boolean (логические выражения), символьный тип char (отдельные символы), строковый тип string (строки символов). В языке Pascal используются следующие операторы (управляющие инструкции): составной оператор begin…end (начало … конец), оператор присваивания …:=… (… присвоить …), операторы ввода read(…) (с читывать) и readln(…) (с читывать до новой строки), операторы вывода write(…) (за писывать) и writeln(…) (за писывать до новой строки), оператор безусловного перехода goto… (перейти к …), оператор условного перехода (условный оператор) if…then…else… (если … то … иначе …), оператор варианта (выбора) case…of…else…end (в случае … из … иначе … конец), оператор цикла с предусловием while…do… (пока … делать …), оператор цикла с постусловием repeat…until… (повторять … пока …), операторы цикла с параметром for…:=…to…do… (для … от … до … делать …) и for…:=…downto…do… (для … от … вниз до … делать …), оператор присоединения with…do… (с … делать …). Порядок выполнения
Примеры программ на языке Pascal
Дополнительное задание 1. Вычислить , где , . 2. Вычислить , где , . Контрольные вопросы 1. Какие разделы включает программа на языке Pascal? Как они обозначаются? 2. Какие типы данных в языке Pascal являются стандартными? Как они обозначаются? 3. Какие операторы используются в языке Pascal? Какой вид они имеют и что означают? 4. Какие операции имеются в языке Pascal? Какой приоритет они имеют? Приведите примеры. 5. Какой синтаксис имеют стандартные математические функции и константа p? Приведите примеры. 6. Как зайти в Borland Pascal и выйти оттуда? Как создать новый файл и закрыть окно? 7. Как проверить программу на ошибки и запустить её на выполнение? Как просмотреть ответ и сохранить программу? 8. Напишите программу к одной из задач дополнительного задания.
Алгоритм линейной структуры Алгоритм линейной структуры – алгоритм, в котором все действия выполняются последовательно. Для реализации этого алгоритма в языке Pascal используются следующие операторы: 1. Составной оператор имеет вид: begin Op1; … OpN end где begin – начало, end – конец, Op1 – оператор 1-й, OpN – оператор N-й. Оператор означает, что надо выполнять оператор Op1, и т.д., … выполнять оператор OpN. 2. Оператор присваивания имеет вид: P:= V где P – переменная, V – выражение. Оператор означает, что переменной P присваивается значение выражения V. 3. Операторы ввода имеют вид: read (P1, …, PN) readln (P1, …, PN) где read – читать, readln – читать до новой строки (read-on-line), P1 – переменная 1-я, PN – переменная N-я. Операторreadпозволяет последовательно вводить значения переменных P1 … PN, а операторreadln, кроме этого, позволяет дополнительно перевести курсор на новую строку. 4. Операторы вывода имеют вид: write (V1, …, VN) writeln (V1, …, VN) где write – писать, writeln – писать до новой строки (write-on-line), V1 – выражение 1-е, VN – выражение N-е. Операторwrite позволяет последовательно выводить значения выражений V1 … VN, а операторwriteln, кроме этого, позволяет дополнительно перевести курсор на новую строку. Порядок выполнения 1. Зайти в Borland Pascal. 2. Набрать текст программы для решения задачи № 1 и получить ответ (при и ; и ). 3. Исправить программу так, чтобы она решала задачу без использования слова else. 4. Набрать текст программы для решения задачи № 2 и получить ответ (при ; ; ; ). 5. Исправить программу так, чтобы она решала задачу без использования оператора case. Примеры задач
Дополнительное задание 1. Вычислить 2. Вычислить при 3. Вычислить , где 4. Вычислить где . 5. Вычислить , где 6. Вычислить . 7. Найти 8. Найти Контрольные вопросы 1. Что такое алгоритм линейной структуры? Перечислите операторы, реализующие этот алгоритм. 2. Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм. 3. Какой вид имеют составной оператор и оператор присваивания, а также что они означают? 4. Какой вид имеют операторы ввода и вывода, а также что они означают? 5. Какой вид имеет оператор безусловного и условного перехода, а также что они означают? 6. Какой вид имеет оператор варианта и что он означает? 7. Что такое метка, условие и селектор? К каким типам данных относятся эти понятия? 8. Напишите, что означает каждая строка в вышеприведённых программах. 9. Напишите программу к одной из задач дополнительного задания. Порядок выполнения 1. Зайти в Borland Pascal. 2. Набрать текст программы для решения задачи № 1 и получить ответ (при ; ; ). 3. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с постусловием. 4. Исправить программу так, чтобы она решала задачу с использованием оператора безусловного перехода. 5. Набрать текст программы для решения задачи № 2 и получить ответ. 6. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с предусловием. 7. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с параметром. Примеры задач
Дополнительное задание 1. Вычислить , где с увеличивается от с н до с к с шагом Dс. 2. Вычислить , где P меняется от P н = 0,3 до P к = 1,5 с шагом DP = 0,2. 3. Вычислить , где y меняется от y н = 1 до y к = 5 с шагом Dy = 0,5. 4. Вычислить где w 0 уменьшается от w н до w к с шагом Dw. 5. Вычислить где n – целое число и меняется от n н = 100 до n к = 10 с шагом Dn = -5. 6. Вычислить , где x увеличивается от x н до x к с шагом Dx. 7. Вычислить , где x увеличивается от x н до x к с шагом Dx. Контрольные вопросы 1. Что такое алгоритм циклической структуры? Перечислите операторы, реализующие этот алгоритм. 2. Что такое цикл? Перечислите составляющие и разновидности циклов. 3. Какой вид имеет оператор цикла с предусловием и что он означает? 4. Какой вид имеет оператор цикла с постусловием и что он означает? 5. Какой вид имеет оператор цикла с параметром (при увеличении параметра) и что он означает? 6. Какой вид имеет оператор цикла с параметром (при уменьшении параметра) и что он означает? 7. Что такое параметр цикла? Может ли он быть целым числом, дробным числом? 8. Напишите, что означает каждая строка в вышеприведённых программах. 9. Напишите программу к одной из задач дополнительного задания. Одномерные массивы Массив – упорядоченный набор нумерованных величин одинакового типа. Массивы бывают одномерные (вектор-строка, вектор-столбец), двумерные (матрица) и многомерные (тензор). Вектор-строка имеет вид: . Пример 1. . Вектор-столбец имеет вид: . Пример 2. . Элемент массива – величина, входящая в состав массива. Индекс – порядковый номер элемента в одномерном массиве (целое число типа integer). Размерность массива – количество элементов в массиве. Одномерные массивы обычно обозначаются так: ; , где A – массив; n – размерность массива; i – индекс элемента; – i ‑тый элемент массива . Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид: Mas: array [ IMin.. IMax ] of T где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов. Это означает, что переменная Mas является массивом, который может иметь индексы от IMin до IMax у элементов типа T. Пример 3. Var A:array[1..100] of real; Это означает, что переменнаяA – массив, который может содержать от 1 до 100 элементов вещественного типа. Доступ к элементу массива на языке Pascal имеет вид: Mas [ Ind ] где Mas – имя массива, Ind – индекс. Это означает доступ к элементу массива Mas с индексом Ind. Пример 4. a[1]; b[3]; c[i]; d[n]; f[k+1]. Это означает 1-й элемент массива A и т.д. Порядок выполнения 1. Зайти в Borland Pascal. 2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера. 3. Исправить программу так, чтобы она находила сумму и количество положительных элементов. 4. Исправить программу так, чтобы она находила произведение и среднее значение всех элементов. 5. Исправить программу так, чтобы она находила максимальное и минимальное значение в массиве. Пример задачи
Дополнительное задание 1. Дан массив L (n). Найти количество элементов, больших корня из суммы положительных элементов. 2. Дан массив G (q). Найти произведение неотрицательных элементов и сумму элементов в диапазоне от 10 до 20. 3. Дан массив A (n). Найти сумму и количество элементов, равных среднему значению. 4. Дан массив C (m). Найти отношение максимального к минимальному элементу. 5. Дан массив D (n). Найти минимальный среди элементов, больших суммы, и найти количество элементов, не равных максимальному. 6. Дан массив A (n). Сформировать новый массив B умножением элементов массива A на 100. В новом массиве переставить местами третий и предпоследний элементы. 7. Дан массив A (n). Положительные элементы массива заменить на их сумму, а отрицательные элементы уменьшить на минимальный. 8. Дан массив A (n). Найти сумму элементов на чётных местах и произведение элементов, кратных 3. 9. Дан массив A (n). У нечётных элементов отбросить дробную часть числа, а у элементов с индексами, дающими остаток 1 при делении на 3, отбросить целую часть числа. 10. Сформировать массив случайных чисел в диапазоне от -10 до 20 и округлить значения элементов, по модулю меньших 1. Двумерные массивы Двумерный массив (матрица) – одномерный массив, элементы которого также являются одномерными массивами. Матрица имеет вид: . Пример 1. . Элемент массива – величина, входящая в состав массива. Индекс – порядковый номер строки или столбца в двумерном массиве. Двумерные массивы обычно обозначаются так: ; , где A – массив; m – количество строк; n – количество столбцов; i – индекс строки; j – индекс столбца; aij – элемент массива A в i -й строке и j -м столбце. Описание двумерного массива в разделе описания переменных (var) на языке Pascal имеет вид: Mas: array [ IMin.. I Max, JMin.. JMax ] of T Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax, индексы столбцов от JMin до JMax, а также состоит из элементов типа T. Пример 2. Var A:array[1..10,1..15] of real; Это означает, что A – массив, который может содержать от 1 до 10 строк и от 1 до 15 столбцов из элементов вещественного типа. Доступ к элементу двумерного массива на языке Pascal имеет вид: Mas [ Ind1, Ind2 ] Это означает доступ к элементу массива Mas с индексом строки Ind1 и индексом столбца Ind2. Пример 3. a[1,1]; b[i,j]. Это означает элемент массива A в 1-й строке и 1-м столбце, элемент массива B в i-й строке и j-м столбце. Порядок выполнения 1. Зайти в Borland Pascal. 2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера. 3. Исправить программу так, чтобы она находила сумму и произведение элементов выше главной диагонали. 4. Исправить программу так, чтобы она находила минимальное и максимальное значение отрицательных элементов. 5. Исправить программу так, чтобы она находила количество нулевых и среднее значение положительных элементов. Пример задачи
Дополнительное задание 1. Дан массив B (m, n). Найти сумму положительных элементов и количество элементов в диапазоне от 10 до 20. 2. Дан массив C (m, n). Найти произведение элементов, больших среднего значения. 3. Дан массив D (m, n). Найти среднее значение среди элементов, не совпадающих с минимальным. 4. Дан массив L (n, n). Найти максимальный среди отрицательных элементов и сумму элементов на главной диагонали. 5. Дан массив P (n, n). Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить. 6. Сформировать двумерный массив A (m, n), элементы которого вычисляются по формуле: , где R (m, n) – двумерный массив случайных величин. 7. Дан массив R (m, n). Найти произведения элементов в каждой строке и максимальные элементы в каждом столбце. 8. Дан массив W (m, n). Найти суммы элементов в каждом столбце и минимальные элементы в каждой строке. 9. Дан массив S (m, n). Найти массив минимальных элементов в каждой строке, а затем в новом массиве отсортировать элементы по возрастанию. 10. Дан массив T (m, n). Отсортировать столбцы по убыванию их средних значений. Квадратные матрицы Матрица называется квадратной, если у неё количество строк равно количеству столбцов (). Рассмотрим квадратную матрицу: . У ней Контрольные вопросы 1. Объясните понятие двумерного массива, его элемента, индекса? Как обозначаются двумерные массивы? 2. Как описываются двумерные массивы и обозначаются их элементы? Приведите примеры. 3. Какие особенности у элементов на главной и побочной диагонали в квадратных матрицах? 4. Чем отличается вычисление характеристик двумерного массива от таких же характеристик одномерного массива? 5. Чем отличаются операции с двумерными массивами от таких же операций с одномерными массивами? 6. Чем отличается вычисление характеристик массива по строкам от аналогичного вычисления по столбцам? 7. Напишите, что означает каждая строка в вышеприведённой программе. 8. Напишите программу к одной из задач дополнительного задания. Подпрограммы Подпрограмма – именованный блок операторов, отдельно выделенный в составе программы и не зависящий от других её частей. Подпрограммы бывают 2-х видов: 1. Подпрограмма-функция – это подпрограмма для вычисления функции, которая возвращает какое-либо значение. 2. Подпрограмма-процедура – это подпрограмма для выполнения действий, которая не возвращает никаких значений. Как правило, описание подпрограммы включает заголовок, разделы описаний и раздел операторов, начинающийся словом begin, а заканчивающийся словом end и точкой с запятой (;). Формальные параметры – переменные, которые объявляются в заголовке подпрограммы. Фактические параметры – переменные или значения, которые подставляются вместо формальных параметров в момент конкретного вызова подпрограммы. Параметры-значения – параметры, значения которых передаются в подпрограмму в момент её вызова. Параметры-переменные – параметры со словом var, значения которых могут использоваться после выполнения подпрограммы. Локальные переменные – переменные, используемые только внутри подпрограммы. Глобальные переменные – переменные, которые могут использоваться в любом месте основной программы, Заголовок описания функции имеет вид: function Func (FormPar1: T1, …): T; Это означает, что задаётся подпрограмма-функция с именем Func, зависящая от формальных параметров FormPar1 типа T1 и т.д., а также вычисляющая значение типа T. Вызов функции из основной программы или другой подпрограммы имеет вид: Func (FaktPar1, …) Это означает, что вычисляется значение функции Func, зависящей от фактических параметров FaktPar1 и т.д., причём вызов функции может осуществляться в составе выражения. Заголовок описания процедуры имеет вид: procedure Proc (FormPar1: T1, …); Это означает, что задаётся подпрограмма-процедура с именем Proc, зависящая от формальных параметров FormPar1 типа T1 и т.д., а также выполняющая какие-либо действия. Вызов процедуры из основной программы или другой подпрограммы имеет вид: Proc (FaktPar1, …); Это означает, что выполняются действия в теле процедуры Proc, зависящей от фактических параметров FaktPar1 и т.д., причём вызов процедуры не может осуществляться в составе выражения. Порядок выполнения 1. Зайти в Borland Pascal. 2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера. 3. Получить ответ для своих исходных данных. 4. Набрать текст программы для решения задачи № 2 и получить ответ для контрольного примера. 5. Получить ответ для своих исходных данных. Дополнительное задание 1. Вычислить с использованием подпрограммы-функции вычисления тангенса. 2. Вычислить с использованием подпрограммы-функции вычисления котангенса. 3. Вычислить с использованием подпрограммы-функции вычисления десятичного логарифма. 4. Вычислить с использованием подпрограммы-функции вычисления логарифма по произвольному основанию. 5. Вычислить с использованием подпрограммы-функции вычисления корня произвольной степени. 6. В двумерном массиве A из m строк и n столбцов вычислить сумму и среднее значение всех элементов с использованием подпрограммы-процедуры. 7. В двумерном массиве A из m строк и n столбцов вычислить максимальный и минимальный элементы с использованием подпрограммы-процедуры. 8. В двумерном массиве A из m строк и n столбцов вычислить сумму и количество элементов выше главной диагонали с использованием подпрограммы-процедуры. 9. В двумерном массиве A из m строк и n столбцов вычислить произведение и среднее значение элементов на главной диагонали с использованием подпрограммы-процедуры. 10. В двумерном массиве A из m строк и n столбцов вычислить максимальный и минимальный среди элементов ниже главной диагонали с использованием подпрограммы-процедуры. Примеры задач
Контрольные вопросы 1. Что такое подпрограмма? Перечислите виды подпрограмм. 2. Какие элементы входят в описание подпрограммы? 3. Что такое формальные и фактические параметры? Чем они отличаются? 4. Что такое параметры-значения и параметры-переменные? Чем они отличаются? 5. Что такое локальные и глобальные параметры? Чем он
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 1076; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.113.71 (0.014 с.) |