Вложение | Размер |
---|---|
miroshnik_nprk_2013.doc | 308 КБ |
Всероссийские юношеские чтения имени В.И.Вернадского
II Ямало-Ненецкий окружной тур
ЯНАО, Пуровский район, п.г.т. Уренгой, мкр.5, дом 53а
Компьютерная модель физических задач на процедурном и объектно-ориентированном языках программирования.
Мирошник Антоний, ученица 11 б класса
муниципального бюджетного общеобразовательного учреждения
«Средняя общеобразовательная школа № 2» пг.т. Уренгой Пуровского района
Замятина Ольга Валерьевна, учитель информатики
муниципального бюджетного общеобразовательного учреждения
«Средняя общеобразовательная школа № 2 п.г.т. Уренгой Пуровского района
Шмидт Наталья Александровна, учитель физики
муниципального бюджетного общеобразовательного учреждения
«Средняя общеобразовательная школа № 2» п.г.т. Уренгой Пуровского района
п.г.т. УРЕНГОЙ
2013 год
План
Введение
Актуальность
Обзор литературы
Цель работы: изучить языки программирования и
выбор задач по 1 закону термодинамики
выбор приемлемого языка программирования длЯ решения задач по перв закону
Задачи:
Цель:
создание компьютерной модели для решения задач по первому закону термодинамики.
Задачи:
Объект исследования:
Предмет исследования:
Гипотеза: нарушение функционального с
С развитием языков программирования развивались и технологии, используемые при написании программного кода. Первые программы писались сплошным текстом. Это была простая последовательность команд, записанная в столбец. Все это выглядело приблизительно так:
Листинг 1. Текст линейной программы.
Начало программы
Команда 1
Команда 2
...
Команда N
Конец программы
Используя такой подход к программированию, можно было сделать очень мало. Единственное, что было доступно программисту для создания логики в данном случае — это условные переходы. Под условным переходом понимается переход на какую-то команду при определенных условиях, которые сложились в процессе обработки данных на процессоре. Например:
Листинг 2. Пример условного перехода.
Если выполнено условие, то перейти на команду 1, иначе на команду 2
Команда 1
Команда 2
...
Команда N.
Это единственная логика, с помощью которой можно было выполнять определенные действия, зависящие от конкретных ситуаций, которые могут сложиться в процессе вычислений. Но программы оставались плоскими и неудобными, потому, что написать таким образом логику современных программ невозможно.
Взгляните на программу MS Word. В ней трудно представить себе линейность, потому что здесь как бы присутствует диалог с программой. Вы говорите, что вам надо, а она выполняет ваши действия. При линейном программировании можно создать только такую логику, при которой компьютер запрашивает определенные параметры (данные), и вы вводите их, а отступить от линейности, заложенной в такую логику, невозможно.
Следующим шагом стал процедурный подход. При этом подходе какой-то код программы мог объединяться в отдельные блоки (процедуры). После этого такой блок команд можно вызывать из любой части программы. Например:
Листинг 3. Процедурное программирование.
Начало процедуры 1
Команда 1 процедуры 1
…
Команда n процедуры 1
Конец процедуры 1
Начало программы
Команда 1
Команда 2
Если выполнено условие, то выполнить код процедуры 1.
Команда 3
Конец программы.
В результате появилась возможность использовать один и тот же код в одной программе неоднократно. Код программ стал более удобным и простым для понимания. Именно таким был отец Delphi — язык программирования Turbo/Borland Pascal, который со временем превратился в Object Pascal.
В процедуры можно передавать различные значения, заставляя их что-то рассчитывать. В процедуру можно поместить код каких-нибудь расчётов и определить параметры в виде переменных, которые используются в этом коде, а затем только передавать ей разные значения в качестве этих параметров. Процедуры остались и в наше время. Использование процедуры часто называют "Вызов процедуры". Это действительно так, т. е. процедура как бы вызывается.
В середине 80-х годов началась эпоха персональных компьютеров. Их выпускали миллионами, для них требовались десятки тысяч программ, и вдруг выяснилось, что один месяц работы квалифицированного программиста стоит не меньше, чем его компьютер. Тогда люди задумались, как сберечь время программиста, и языки программирования начали вновь изменяться.
Прежде всего, был введён принцип повторного использования кода. По этому принципу то, что было создано кем-то один раз, должно не пропадать, а накапливаться и как готовый блок переходить в труды других программистов. Такие блоки назвали объектами. При необходимости разработать новую программу берутся объекты от предыдущей программы и только перенастраиваются (подгоняются) под новые требования.
Неверное и вам случилось видеть в разных программах одинаковые по форме окна, похожие меню, одинаковые кнопки. Большинство программ работают с одними и теми же шрифтами. Всё это настраиваемые объекты. Первым языком объектно-ориентированного программирования стал язык СИ++(C++). Затем и у языка Паскаль появилась объектно-ориентированная версия – Object Pascal. Сегодня в мире много и других объектно-ориентированных языков программирования.
В 90-х годах в мире персональных компьютеров опять произошли важные изменения. Компьютеры приобрели графическое управление. Раньше ими в основном управляли с помощью клавиатуры: на ней набирали команды, с клавиатуры в компьютер вводили тексты программ. Разумеется, компьютеры и тогда могли воспроизводить на экране графические изображения, но это было именно умение, а не способ управления. Телевизор, например, прекрасно воспроизводит изображения, но способ управления им был и остаётся кнопочным.
В середине 90-х годов системы управления большинства компьютеров стали графическими. То, что мы видим на экране, это не просто картинки – многие из них служат графическими элементами управления – на них можно навести указатель мыши, щёлкнуть на её кнопке и компьютер ответит на этот управляющий сигнал.
С появлением графических систем управления компьютерами изменился и метод разработки программ. Он тоже стал графическим или, говоря по научному – визуальным. С помощью мыши можно выбирать готовые строительные блоки для будущих программ, а потом точно так же с помощью мыши настраивать их по своему вкусу. И лишь когда нам чего-то будет не хватать, придётся ввести команды с клавиатуры.
- А кто нам даёт те компоненты, из которых мы сможем что-то выбирать?
- Их предоставляют те самые системы визуального программирования.
В них входят обширные библиотеки компонентов – только выбирай. Ну, а если для каких-то целей мы и не найдём нужного компонента, есть ещё возможность установить дополнительные библиотеки. Нередко программисты, разрабатывающие новые компоненты, выставляют их в Интернете, где каждый желающий может их получить и использовать.
Таким образом, объектно-ориентированное программирование возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).
Наиболее универсальными процедурными языками программирования признаны:
Бейсик (Basic);
Паскаль (Pascal);
СИ++ (C++).
За долгое время развития эти три языка стали не просто языками программирования, а целыми системами программирования. С их помощью можно не писать программы, а собирать их из готовых компонентов точно так же, как из компонентов детского конструктора собирают специальные игрушки.
Так, язык Basic превратился в систему программирования Visual Basic. Язык Паскаль реализовался в систему Delphi, а язык СИ++ реализован в нескольких системах. Две из них - Borland C++ Builder и Microsoft Visual C++.
Решать задачи, например задачи ЕГЭ, удобней на процедурном языке, так как в основном нужно создать алгоритм или выполнить пошагово предложенный в задаче алгоритм. КАКОЙ ЯЗЫК
Визуализировать решение удобно на объектно-ориентированном языке. Так как на нем можно спроектировать удобный графический интерфейс.
Пример. Задача. С клавиатуры вводятся 2 числа. Вывести на экран их сумму. Рассмотрим два подхода к программированию задачи «Сумма». В объектном подходе предусмотрены 3 способа визуализации ответа:
- вывод на форму;
- вывод в текстовое поле
- вывод с помощью диалоговых панелей.
Листинг 1.
program Sum;
var a,b,c:integer;
begin
write('введите первое число: ');
readln(a);
write('введите второе число: ');
readln(b);
c:=a+b;
writeln('сумма двух чисел равна: ', c);
end.
Листинг 2.
Dim a, b, c As Byte
Private Sub Command1_Click()
a = InputBox("Сообщите значение А")
b = InputBox("Сообщите значение В")
c = Val(a) + Val(b)
Form1.Print "Сумма равна", c
End Sub
Private Sub Command2_Click()
a = InputBox("Сообщите значение А")
b = InputBox("Сообщите значение В")
c = Val(a) + Val(b)
Text1.Text = c
End Sub
Private Sub Command3_Click()
a = InputBox("Сообщите значение А")
b = InputBox("Сообщите значение В")
c = Val(a) + Val(b)
c = MsgBox("Сумма равна " + Str(c))
End Sub
Private Sub Command4_Click()
End
End Sub
В давние времена люди пользовались в качестве орудий труда простыми машинами: рычагами, наклонной плоскостью и т.д. В течение тысячелетий работа с помощью этих машин совершалась за счет механической энергии ветра, падающей воды; чаще всего применялась энергия людей или животных. Около 200 лет тому назад началось широкое применение в технике другого вида энергии - внутренней энергии. Сейчас около 80% используемой человечеством энергии – это внутренняя энергия топлива. Раздел физики, изучающий, как внутренняя энергия используется для получения механической работы, называется термодинамикой. Термодинамика – это наука о тепловых явлениях, основанная на некоторых общих законах, относящихся к превращению энергии. Эти законы справедливы для всех тел независимо от их внутреннего строения.
Обычно при изменении объема газа работа совершается и за счет передачи ему какого-то количества теплоты от источника энергии, и за счет изменения внутренней энергии самого газа, которая при этом уменьшается. Закон сохранения энергии в этом случае можно записать в виде уравнения A = Q - ∆U или Q = A + ∆U.
Закону сохранения энергии присвоено особое название – первое начало термодинамики. Этот закон формулируется следующим образом: количество теплоты, переданное телу, равно сумме изменения его внутренней энергии и совершенной им работы. Применяя первый закон термодинамики к различным процессам, мы можем получить важные выводы о связи внутренней энергии, количества теплоты и работы в каждом из этих процессов.
В изотермическом процессе температура газа все время остается постоянной (равной температуре нагревателя), значит, и внутренняя энергия газа остается неизменной. T=const ∆U=0A=Q.
В изохорном процессе газ нагревают в закрытом сосуде. В этом процессе работа не совершается. ∆V=0A=0Q=∆U.
В изобарном процессе (p=const) работа может быть выражена формулой A=p(V2-V1). Поэтому первый закон термодинамики в этом случае может быть записан в виде Q= p(V2-V1) +∆U или Q= A+∆U.
В адиабатном процессе исключен теплообмен тела с окружающей средой. Q=0∆U=-A.
Я написал программу для расчета количества теплоты в изопроцессах по формуле первого закона термодинамики.
Блок-схема алгоритма решения задачи.
Программа «gaz» рассчитывает количество теплоты (Q) полученное газом при изотермическом, изохорном, изобарном и адиабатном процессах. Вычисления организованы соответствующими функциями.
Листинг.
program gaz;
uses crt;
var a,u,Q:real; i:integer;
Function Izoterma(a:real):real;
begin Izoterma:=a;
end;
Function Izoxora(u:real):real;
begin Izoxora:=u;
end;
Function Izobara(u,a:real):real;
begin Izobara:=u+a;
end;
Function Adiabata(u,a:real):real;
begin Adiabata:=0;
end;
begin
clrscr;
read(u);read(a);
WriteLn('введите 1,если процесс изотермический');
WriteLn('введите 2,если процесс изохорный');
WriteLn('введите 3,если процесс изобарный');
WriteLn('введите 4,если процесс адиабатный');
ReadLn(i);
case i of
1:Writeln('Q=', Izoterma(a));
2:Writeln('Q=', Izoxora(u));
3: Writeln('Q=', Izobara(u,a));
4: Writeln('Q=', Adiabata(u,a));
end;
end.
Визуализация задачи выполнена в проекте «Первый закон термодинамики применительно к изопроцессам.
Листинг.
Dim A, U, Q As Single
Private Sub Adiabata_Click()
Q = 0
Text2.Text = Q
End Sub
Private Sub Command1_Click()
Text1.Text = " В изотермическом процессе температура газа все время остается постоянной (равной температуре нагревателя), значит, и внутренняя энергия газа остается неизменной. T=const ∆U=0A=Q."
End Sub
Private Sub Command2_Click()
Text1.Text = "В изохорном процессе газ нагревают в закрытом сосуде. В этом процессе работа не совершается. ∆V=0A=0Q=∆U.”
End Sub
Private Sub Command3_Click()
Text1.Text = " В изобарном процессе (p=const) работа может быть выражена формулой A=p(V2-V1). Поэтому первый закон термодинамики в этом случае может быть записан в виде Q= p(V2-V1) +∆U или Q= A+∆U."
End Sub
Private Sub Command4_Click()
Text1.Text = " В адиабатном процессе исключен теплообмен тела с окружающей средой. Q=0∆U=-A."
End Sub
Private Sub Image1_Click()
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub
Private Sub Izobara_Click()
A = InputBox("введите A")
U = InputBox("введите U")
Q = A + U
Text2.Text = Q
End Sub
Private Sub Izoterma_Click()
A = InputBox("введите A")
Q = A
Text2.Text = Q
End Sub
Private Sub Izoxora_Click()
U = InputBox("введите U")
Q = U
Text2.Text = Q
End Sub
Изобарный процесс
Ответ:
Использованная литература.
- система программирования Pascal АВС;
- система программирования Microsoft VB;
- мультимедийная презентация.
Гораздо больше риска в приобретении знаний, чем в покупке съестного
Сочинение
Два петушка
Кто грамотней?
Рождественские подарки от Метелицы