Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Программная модель
Язык Паскаль является алгоритмическим языком (языком для записи алгоритмов) и языком программирования (языком написания программ). Запишем этот алгоритм на языке Паскаль (одновременно получаем программную модель на языке Паскаль). Вспомним, программа на Паскале состоит из разделов. Первый раздел - заголовок текста программы. Назовем ее FIZIKA: PROGRAM FIZIKA; Второй радел программы - описание используемых модулей. Модулями пока не пользуемся, поэтому второй раздел отсутствует. Третий раздел программы - описание используемых меток. Мы знаем, что хорошие (структурированные) программы не должны содержать меток. А мы пишем только хорошие программы – поэтому третий раздел отсутствует. Четвертый раздел текста программы - описание поименованных констант. Если мы посмотрим на метод решения, то увидим, что константы отсутствуют. Поэтому четвертого раздела программы не будет. Пятый раздел программы - описание нестандартных типов данных. При решении задачи в информационной модели мы определили, что у нас используются только целый и вещественный типы данных. Они стандартные. Поэтому раздел пять в программе отсутствует. Шестой - обязательный раздел каждой программы – описание переменных величин. В информационной модели перечислены четыре переменных. Опишем их: VAR n: INTEGER; Ro, R, U, I: REAL; Не забываем, что по этому разделу распределяется оперативная память. В свободной части ОП выделяются участки соответствующего размера под каждую переменную. Эти участки получают имена переменных. Распределение памяти приведено на рис. 11.13.
Рис. 11.13. – Распределение оперативной памяти Седьмой раздел программы - описание (тексты) собственных процедур и функций. С такими видами текстов мы не знакомы, поэтому этот раздел в нашей программе отсутствует. Восьмой - обязательный раздел - раздел операторов. Все операторы текста программы располагаются между операторными скобками BEGIN и END с точкой. Последовательность разработки раздела описания программ обычно следующая. Вначале между операторными скобками в виде комментариев пишутся пункты плана алгоритма. Затем по каждому пункту плана вставляются операторы, которые реализуют этот пункт. Для нашей задачи это выглядит следующим образом. Составим план: BEGIN {Ввод исходной информации} {Расчет по формулам 2 и 1} {Вывод результирующей информации} END. Перейдем к реализации каждого пункта плана. При реализации ввода исходных данных мы должны ориентироваться не на себя, а на пользователя нашей программы. Поэтому наша программа должна указывать пользователю - какую информацию он должен вводить. Сообщение об этой информации выдается с помощью обращения к стандартной процедуре вывода с фактическим параметром - строкой символов: WRITELN( 'Количество, величина сопротивления и напряжение? ' ) Непосредственный ввод информации осуществляется с помощью обращения к стандартной процедуре ввода READLN с фактическими параметрами - именами вводимых переменных: READLN (n, R, U) Второй пункт плана реализуется с помощью двух операторов присваивания: Ro: = R/n; I: = U/Ro Последний пункт плана реализуется с помощью обращения к стандартной процедуре вывода WRITELN. Причем вывод должен быть информативным, т.е. содержать максимум информации о полученных результатах и исходных данных, при которых получены эти результаты. Поэтому в качестве фактических параметров при об ращении к процедуре вывода будут поясняющие тексты (строки символов) и имена переменных, значения которых выводятся: WRITELN ('В цепи, состоящей из ', n, ' параллельных сопротивлений ', R, ', к которой приложено напряжение ', U, ', протекает ток =', I) Таким образом, текст программы выглядит следующим образом: PROGRAM FIZIKA; {Назначение: расчет тока в цепи, содержащей n одинаковых сопротивлений величины R, подключенных параллельно. К цепи приложено напряжение U. }
VAR n {количество сопротивлений (вход.инф.)}: INTEGER; Ro{общее сопротивление цепи (промежуточная инф.)}, R {величина одного сопротивления (вход.инф.)}, U {приложенное напряжение (вход.инф.)}, I {протекающий ток (выход.инф.)}: REAL;
BEGIN {Ввод исходной информации} WRITELN('Количество, величина сопротивления и напряжение? '); READLN (n, R, U);
{Расчет по формулам 2 и 1} Ro: = R/n; I: = U/Ro;
{Вывод результирующей информации} WRITELN('В цепи, состоящей из ', n, ' параллельных сопротивлений ', R, ', к которой приложено напряжение ', U, ', протекает ток =', I) END. Программа FIZIKA состоит из пяти операторов, для реализации этой программы используется две разновидности операторов - операторы присваивания и операторы обращения к процедурам.
|