seba777
20.01.2020 02:51

Модуль по турбо паскалю не меняется в файл .tpu, ошибки не выдаёт и при компилировании показывает что программа выполняется правильно.
unit Graf_01;
interface
uses Graph,Crt;
type fun=function(x:real):real; {$F+}
procedure GrafInit;
procedure Tree(a,n:integer; x,y,L,xL,yL:real);
procedure Triangle(xa,ya,xb,yb,xc,yc,n:integer);
procedure Kantor(x,y:integer;size:word);
procedure FGraf(a,b,dx:real; f:fun; maxX,maxY:integer);
implementation
procedure GrafInit;
{ инициализация графического режима }
var gd,gm,ErrorCode:integer;
begin
gd:=Detect; { выбор графического драйвера }
InitGraph(gd, gm, 'c:\case\bp\bgi');
ErrorCode:=GraphResult;
if ErrorCode <> grOk
then begin
writeln('Error_Init:',GraphErrorMsg(ErrorCode)); Halt
end
end;
procedure Tree(a,n:integer; x,y,L,xL,yL:real);
{ построение фрактального дерева }
var r:real;
begin
if (n>0) and (not keypressed)
then begin
SetColor(21-n); { установка цвета линии }
xL:=0.5*(x+xL); yL:=0.5*(y+yL); r:=a*pi/180;
x:=xL+L*cos(r); y:=yL-L*sin(r);
Line(round(x),round(y),round(xL),round(yL)); { рисует отрезок прямой}
Tree(a-30,n-1,x,y,L/2,xL,yL); {рекурсивный вызов}
Tree(a+30,n-1,x,y,L/2,xL,yL);
Tree(a-45,n-1,x,y,L/2,xL,yL);
Tree(a+45,n-1,x,y,L/2,xL,yL);
Tree(a+15,n-1,x,y,L/1.5,xL,yL);
Tree(a+30,n-1,x,y,L/1.5,xL,yL);
end
end;
procedure Triangle(xa,ya,xb,yb,xc,yc,n:integer);
{ построение треугольника Серпинского}
var xp,xq,xr,yp,yq,yr:integer;
begin
if n > 0
then begin
xp:=(xb+xc) div 2; yp:=(yb+yc) div 2;
xq:=(xa+xc) div 2; yq:=(ya+yc) div 2;
xr:=(xb+xa) div 2; yr:=(yb+ya) div 2;
Line(xp,yp,xq,yq); Line(xq,yq,xr,yr); Line(xp,yp,xr,yr);
Triangle(xa,ya,xr,yr,xq,yq,n-1);
Triangle(xb,yb,xp,yp,xr,yr,n-1);
Triangle(xc,yc,xq,yq,xp,yp,n-1);
end
end;
procedure Kantor(x,y:integer;size:word);
{ построение множества Кантора }
var s:word;
procedure SolidRec(x,y,size:integer);
begin
Rectangle(x-size,y-size,x+size,y+size); { рисует прямоугольник}
Bar(x-size+1,y-size+1,x+size-1,y+size-1); {закрашеный квадрат}
end;
begin
if size>1
then begin
s:=size div 2;
Kantor(x-size,y+size,s); Kantor(x-size,y-size,s);
Kantor(x+size,y+size,s);Kantor(x+size,y-size,s);
end;
SolidRec(x,y,size)
end;
procedure FGraf(a,b,dx:real; f:fun; maxX,maxY:integer);

const Ots=10;
procedure MaxMinF(a,b,dx:real;f:fun; var fmin,fmax:real);
var w,x:real; k,n:integer;
begin
fmin:=f(a); fmax:=f(a); n:=trunc((b-a)/dx)+1;
for k:=0 to n do begin
x:=a+k*dx; w:=f(x);
if w < fmin then fmin:=w;
if w > fmax then fmax:=w
end
end;
var fmin,fmax,mx,my,x:real; n,x0,y0,k,xg,yg:integer;
begin
{ определение начала координат }
x0:=maxX div 2; y0:=maxY div 2;
Line(Ots,y0,maxX-Ots,y0); { проведение оси Ox}
Line(x0,Ots,x0,maxY-Ots); { проведение оси Oy}
MaxMinF(a,b,dx,f,fmin,fmax); { вычисление fmin, fmax на отрезке [a,b] }
mx:=(maxX-2*Ots)/(b-a); { масштаб по оси х}
my:=(maxY-2*Ots)/(fmax-fmin); { масштаб по оси y}
MoveTo(x0+trunc(mx*a),y0-trunc(my*f(a))); {установка курсора в начало графика}
n:=trunc((b-a)/dx)+1;
for k:=0 to n do begin
x:=a+k*dx;
xg:=x0+trunc(mx*x); { графические координаты по оси x}
yg:=y0-trunc(my*f(x)); { графические координаты по оси y}
LineTo(xg,yg); { проведение кривой}
end
end;
end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Kirill0812
08.11.2022 13:46

Объяснение:

качестве испытания ЭНИАКу первой была поставлена задача по математическому моделированию термоядерного взрыва супербомбы по гипотезе Улама-Теллера. Фон Нейман, который одновременно работал консультантом и в Лос-Аламосской лаборатории, и в Институте Мура, предложил группе Теллера использовать ЭНИАК для расчётов ещё в начале 1945 года. Решение проблемы термоядерного оружия требовало такого огромного объёма вычислений, что справиться с ним не могли никакие электромеханические калькуляторы, имевшиеся в распоряжении лаборатории. В августе 1945 физики Лос-Аламосской лаборатории Николас Метрополис и Стенли Френкель (англ.) посетили институт Мура, и Герман Голдстайн вместе со своей женой Адель, которая работала в команде программистом и была автором первого руководства по работе с ЭНИАКом[4], познакомили их с техникой программирования ЭНИАКа. После этого они вернулись в Лос-Аламос, где стали работать над программой под названием «The Los Alamos Problem».

Производительность ЭНИАКа была слишком мала для полноценного моделирования, поэтому Метрополис и Френкель сильно у уравнение, игнорируя многие физические эффекты и стараясь хотя бы приблизительно рассчитать лишь первую фазу взрыва дейтерий-тритиевой смеси в одномерном Детали и результаты выполненных в ноябре–декабре 1945 года расчётов до сих пор засекречены. Перед ЭНИАКом была поставлена задача решить сложнейшее дифференциальное уравнение, для ввода исходных данных к которому понадобилось около миллиона перфокарт. Вводная задача была разбита на несколько частей, чтобы данные могли поместиться в память компьютера. Промежуточные результаты выводились на перфокарты и после перекоммутации снова заводились в машину. В апреле 1946[5] года группа Теллера обсудила результаты расчётов и сделала вывод, что они достаточно обнадёживающе (хотя и очень приблизительно) доказывают возможность создания водородной бомбы.

На обсуждении результатов расчёта присутствовал Станислав Улам. Поражённый скоростью работы ЭНИАКа, он предложил сделать расчёты по термоядерному взрыву методом Монте-Карло. В 1947 году на ЭНИАКе было выполнено 9 расчётов этим методом с различными исходными параметрами. После этого метод Монте-Карло стал использоваться во всех вычислениях, связанных с разработкой термоядерного оружия.

Британский физик Дуглас Хартри в апреле и июле 1946 года решал на ЭНИАКе проблему обтекания воздухом крыла самолета, движущегося быстрее скорости звука. ЭНИАК выдал ему результаты расчётов с точностью до седьмого знака. Об этом опыте работы Хартри написал в статье в сентябрьском выпуске журнала Nature за 1946 год[6].

В 1949 году фон Нейман использовал ЭНИАК для расчёта чисел π и e с точностью до 2000 знаков после запятой. Фон Неймана интересовало статистическое распределение цифр в этих числах. Предполагалось, что цифры в этих числах появляются с равной вероятностью, а значит — компьютеры могут генерировать действительно случайные числа, которые можно использовать как вводные параметры для вычислений методом Монте-Карло. Вычисления для числа e были выполнены в июле 1949 года, а для числа π — за один день в начале сентября. Результаты показали, что «цифры в числе π идут в случайном порядке, а вот с числом e всё обстояло значительно хуже» [7].

На ЭНИАКе весной 1950 года был произведён первый успешный численный прогноз погоды командой американских метеорологов Жюлем Чарни (англ.), Филипом Томсоном, Ларри Гейтсом, норвежцем Рагнаром Фьюртофтом (англ.) и математиком Джоном фон Нейманом. Они использовали упрощённые модели атмосферных потоков на основе уравнения вихря скорости для баротропного газа. Это упрощение понизило вычислительную сложность задачи и позволило произвести расчёты с использованием доступных в то время вычислительных мощностей[8]. Расчёты велись начиная с 5 марта 1950 года в течение 5 недель, пять дней в неделю в три 8-часовые смены. Ещё несколько месяцев ушло на анализ и оценку результатов. Описание расчётов и анализ результатов были представлены в работе «Numerical Integration of Barotropic Vorticity Equation»[9], опубликованной 1 ноября 1950 года в журнале Tellus. В статье упоминается, что прогноз погоды на следующие 24 часа на ЭНИАКе был выполнен за 24 часа, то есть прогноз едва успевал за реальностью. Большая часть времени уходила на распечатку перфокарт и их сортировку. Во время расчётов приходилось на ходу вносить изменения в программу и ждать замены перегоревших ламп. При должной оптимизации работы ЭНИАКа, говорилось в работе, расчёт можно было бы выполнить за 12 часов, а при использовании более совершенных машин — за 30 минут. Для прогноза использовались карты погоды над территорией США и Канады за 5, 30, 31 января и 13 февраля 1949 года. После расчётов прогнозные карты сравнивались с реальными для оценки качества прогноза[10]

0,0(0 оценок)
Ответ:
sashakoritnij
20.10.2022 17:03

Объяснение:

оретические исследования нашего соотечественника Андрея Андреевича Маркова (младшего) (1903-1979), выполненные в середине века, показали, что в общем случае алгоритмы должны содержать предписания двух видов:

1) предписания, направленные на непосредственное преобразование информации (функциональные операторы);

2) предписания, определяющие дальнейшее направление действий (логические операторы).

ример 1. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары натуральных чисел (алгоритм Евклида).

Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и У. Запишите первое из заданных чисел в столбец X, а второе — в столбец У. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца X считайте искомым результатом.

Построчная запись. Это запись на естественном языке, но с соблюдением некоторых дополнительных правил:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота