Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Pascal моделирование






Паскаль (англ. Pascal) — один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда других языков.

Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом; представляя язык, автор в качестве цели его создания указывал построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.

Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию[6]. Результат этой работы — язык Модула-2.

Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Вирта, язык должен способствовать дисциплинированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций, написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования»[10] (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.

Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию.

Мы смоделировали баллистическую траекторию шарика с помощью программы Pascal ABC

const Ro_shar=7800; ro_sreda=1.29; Mju=0.0182; g=9.8;
var i, n: integer;
t, x, y, Dt, m, Vx, Vy, Vx1, k1, k2, v0, Alf_0, r: real;
begin
k1: =6*Pi*Mju*r;
k2: =0.2*Pi*r*r*Ro_sreda;
m: =4/3*Pi*r*r*r*Ro_shar;
Writeln ('введите радиус шарика='); readln (r);
Writeln ('введите начальную скорость='); readln (v0);
Writeln('введите угол='); readln(Alf_0);
Writeln('шаг по времени='); readln(Dt);
Write('Число шагов между выводами='); readln (n);
i: =0; t: =0;
vx: =V0*cos(Alf_0*Pi/180);
Vy: =V0*sin(Alf_0*Pi/180);
y: =Vy*Dt; x: =Vx*Dt;
while y> =0 do
begin
i: =i+1;
t: =t+Dt;
Vx1: =Vx-(k1+k2*sqrt(Vx*Vx+Vy*Vy))*Vx/m*Dt;
Vy: =Vy-((k1+K2*sqrt(Vx*Vx+Vy*Vy))*Vy+m*g)/m*Dt;
vx: =Vx1;
If i mod n=0 then
y: =y+Vy*Dt; x: =x+Vx*Dt;
end;
writeln ('Tmax=', t: 7: 4, 'Xmax=', x: 7: 4)
end.

 

Проведя данный эксперимент в двух различных программах, мы получили идентичные результаты. Из этого следует, что точных использованных программ одинакова.

 


 

Литература

1. Free Pascal и Lazarus: Учебник по программированию Алексеев Е. Р., Чеснокова О. В., Кучер Т. В.

2. Паскаль для школьников Д. М. Ушаков, Т. А. Юркова.

3. Информатика и ИКТ. 11 класс. Профильный уровень. Угринович Н.Д.

4. Учебно-методическое пособие Excel 2007 в примерах Е. М. Карчевский, И. Е. Филиппов.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.