- •Список рассматриваемых вопросов Лекция 1 Основные этапы решения задач с использованием математического моделирования.
- •Вопрос 1
- •Основные этапы решения задач с использованием математического моделирования.
- •Вопрос 2 Методический пример решения задачи с использованием математического моделирования. Программирование линейных алгоритмов.
- •Вопрос 3 Анализ текста данной программы
- •Вопрос 4 Некоторые стандартные функции (модуль System программной среды Borland Pascal)
- •Вопрос 5 Операции над данными в языке Паскаль
- •Вопрос 6 Приоритет арифметических операций
- •Лекция 2
- •Вопрос 1 Программирование схемы алгоритма (п. 3.4 вопрос 2 лекции 1)на языке Delphi (консольный режим)
- •Вопрос 2 Создание консольного приложения в среде Delphi версия 7
- •Вопрос 3 Особенности подготовки к разработке консольного приложения Delphi в среде Borland Developer Studio 2005 или 2006 (версия 10)
- •Вопрос 4
- •Вопрос 5 Анализ текста данной программы
- •Лекция 3
- •Вопрос 1
- •Вопрос 2
- •Вопрос 3
- •Вопрос 4
- •Вопрос 4
- •Вопрос 5 Пример использования подпрограмм при программировании в среде Паскаль
- •Составление схемы алгоритма
- •Запись алгоритма на языке программирования Borland Pascal.
- •Вопрос 5 Анализ данного программного обеспечения, включающего использование подпрограммы.
- •Лекция 4 составление и реализация разветвляющихся алгоритмов
- •Вопрос 1
- •Базовые логические структуры
- •Вопрос 2 Операторы языка программирования Delphi (Паскаль)
- •Вопрос 3
- •Вопрос 4
- •Вопрос 5.
- •2 Конструкция “если - то”
- •Вопрос 6
- •3 Конструкция “если - иначе”
- •Вопрос 7 Пример конструкции “если” с использованием составного оператора
- •Вопрос 7 Текст программы на языке Delphi (консольный режим)
- •Вопрос 8 Варианты записи условий (логических выражений)
- •Вопрос 9 Пример решения задачи с использованием конструкции “если”, вложенной в другую конструкцию “если”, отладочной печати и стандартного модуля “Printer”
- •Вопрос 10 Использование отладчика при отладке указанной программы
- •Вопрос 11 Конструкция типа ”выбор” (”вариант”)
- •Реализация конструкции Выбор на языке програмирования.
- •Комментарий к фрагменту программы реализующему конструкцию Выбор:
- •Вопрос 12
- •Лекция 5 составление и реализация циклических алгоритмов
- •Вопрос 1
- •Вопрос 2
- •Вопрос 3 Конструкция повторение с постусловием (repeat …until) («до»)
- •Запись конструкции в виде схемы с использованием блока решение.
- •Описание работы конструкции «до» .
- •Запись конструкции на языке Паскаль и Delphi:
- •Пример решения предыдущей задачи с использованием конструкции повторение с постусловием (repeat…until)
- •Программа решения задачи с использованием конструкции repeat … until.
- •Вопрос 4 Запись конструкции повторение в виде схемы с использованием блока модификация
- •Вопрос 5 Конструкция повторение с параметром (for) («Для»)
- •Особенности конструкции «Для»
- •Запись конструкции «Для» в виде схем
- •2.4 Использование блока «модификация» при шаге -1
- •Запись конструкции «Для» на языке Паскаль (Delphi)
- •Замечания по применению конструкции for
- •Пример решения задачи с использованием конструкции
- •Лекция 6 Разработка и программирование итерационных алгоритмов
- •Задача 1 на использование итерационных алгоритмов
- •Условие задачи
- •Вычислить
- •Анализ особенностей задачи
- •Метод решения задачи
- •Условие задачи
- •Анализ особенностей решения задачи
- •Метод решения задачи
- •Алгоритм решения задачи без использования индексированных переменных
Вопрос 3 Анализ текста данной программы
Рассмотрим использование словаря (алфавита) языка программирования. В состав алфавита входят ключевые (служебные) слова и символы. В рассматриваемой программе используются служебные слова: program, var, real, begin, end, integer. Символы подразделяются на буквы, арабские цифры, знаки арифметических операций, знаки операций сравнения, разделители (знаки препинания, скобки, апострофы, :=).
Комментарии помещаются в программу только для программистов и пользователей программы. Текст комментария заключается в фигурные скобки и ЭВМ не анализируется. В программе запрещается использовать вне комментария русские буквы, за исключением вывода строки символов.
Вторая строка является заголовком программы. Имя программы lec1. Она находится в файле j:\vtp\pas\lec1.pas.
В данной программе используются имена (идентификаторы): переменных - u , i , r и стандартных подпрограмм - write, writeln, readln. Стандартными называются подпрограммы, входящие в комплект программного обеспечения языка программирования. Идентификаторы должны начинаться с буквы, за которой могут следовать цифры.
В общем случае используемые в программе подпрограммы, константы, типы переменных и переменные должны быть описаны (объявлены). Это делается либо непосредственно в программе в соответствующем разделе описаний, либо с помощью указания в предложении uses имен модулей типа Unit, в которых эти описания выполнены. Исключением являются описания, выполненные в стандартном модуле System, которые всегда доступны программе. Так процедурами, описанными в этом модуле, и используемыми в программе являются: write, writeln, readln.
При описании переменных (см. строку 3) должен быть указан их тип. Используются такие стандартные типы данных как геаl (действительный (синоним - вещественный) ), integer (целочисленный), char (символ). С помощью типа real, в отличие от типа integer, описываются переменные, при записи значений которых используются цифры после десятичной точки.
Следует уделять внимание размещению текста программы. Использование пробелов и отступов позволяет улучшить наглядность программы. Количество используемых строчек для записи каждого оператора и количество операторов в каждой строке не ограничивается и выбирается из соображений удобства чтения программы человеком. Однако нельзя разделять пробелами части одного идентификатора или размещать их на разных строках. Там, где можно по синтаксису языка поставить один пробел, там можно поставить произвольное количество пробелов.
Операторы отделяются друг от друга символом ";".
Для задания границ каждого блока программы служат слова begin и end. Для простых программ, в отличие от сложных, обычно достаточно одной такой пары. Последнее слово end программы должно заканчиваться точкой. После набора этой точки необходимо не забыть нажать на клавишу "Ввод".
Ввод и вывод значений переменных.
Пусть в рассматриваемой программе вводятся значения u=20.5 i=5. Тогда на экране пользователя появится (после завершения программы) следующий текст:
Укажите исходные данные:
напряжение u(B)=20.5
ток i(A)=5.0
...
Программа завершена. Нажмите Enter
Также будет выведен следующий фрагмент текста на экран пользователя:
Исходные данные: u=20.5,B i=5.0,A
Результаты: r=4.1,Oм
Как видно из приведенного примера оператор вызова стандартной процедуры вывода writeln (сокр. от write line) обеспечивает вывод строки. Т. е. после того как будут напечатаны данные, указанные в скобках в списке параметров этой подпрограммы, будет осуществлен переход курсора на следующую строку. Таким образом, при выполнении следующего оператора вызова процедуры вывода, вывод будет производиться уже на новую строку.
В случае использования процедуры write указанный переход курсора на новую строку не производится. При выполнении следующего оператора вызова процедуры вывода, вывод будет осуществляться в ту же строку. Аналогичная разница существует между операторами вызова стандартных процедур ввода данных readln ("введи строку") и read.
При выводе данных могут указываться форматы в виде одного (":количество выводимых символов") или для действительных переменных двух (":общее количество выводимых символов: количество цифр после десятичной точки") чисел. Для того чтобы определить, как будет осуществляться вывод, необходимо зафиксировать позиции, выделяемые в соответствии со вторым числом (в случае его наличия) списка форматов. При необходимости правая часть числа с десятичной точкой усекается в соответствии со вторым числом списка форматов. Затем если общее количество выводимых символов окажется меньше указанного с помощью формата вывода, то недостающее до указанного количества нужно заполнить пробелами в левой части порции вывода. Если после этого количество символов, подлежащее выводу, будет больше, чем указанное с помощью первого числа списка форматов, то формат будет увеличен автоматически.
В общем случае оператор присваивания имеет вид V:=A, где V-переменная, A-выражение, := - операция присваивания, которая заключается в том, что численное значение выражения A записывается в ячейку памяти, выделенную для хранения переменной V.
Пользователь должен следить, чтобы тип значения, полученного в результате выполнения выражения А, не конфликтовал с типом переменной V. Так, например, не должен иметь место оператор присваивания, в котором в левой части была бы переменная типа integer, а в правой части результат типа real. Это может получиться, например, в случае, если одна целочисленная переменная делится (с помощью операции /) на другую целочисленную переменную, или хотя бы одна переменная в выражении A имеет действительный тип.