Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату. Алгоритм должен удовлетворять следующим свойствам: 1.Первым свойством алгоритма является дискретный, т. е. пошаговый характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (правил, директив, команд) , образующих прерывную (или, как говорят, дискретную) структуру алгоритма: только выполнив требования одного предписания можно приступать к исполнению следующего. 2.Исполнитель может выполнить алгоритм, если он ему понятен, т. е. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Алгоритм не должен содержать предписаний, не входящих в систему команд исполнителя. 3.Алгоритмы, предназначенные для исполнения неким техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получиться один и тот же результат. Это свойство однозначности и определенности – детерминированности – алгоритмов позволяет использовать в качестве исполнителя специальные машины – автоматы. 4.Основополагающим свойством алгоритмов является его массовость, или применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. 5.Цель выполнения алгоритма – получение определенного результата посредством выполнения указанных преобразований над исходными данными. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам. 6.Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Эффективность алгоритма часто определяет возможность его практической реализации. Самой распространенной формой представления алгоритмов, адресованных человеку, является обычная словесная запись. В этой форме могут быть выражены любые алгоритмы. Составим алгоритм определения максимального числа из трех: z:=max(a,b,c). Решение задачи на ЭВМ можно получить, действуя следующим образом. Сначала найдем наибольшее из двух чисел, например, а и b, сравнив их между собой. Предположим, что исполнитель может выполнить операцию сравнения «больше» . Найденное наибольшее число «запомним» в качестве значения переменной z. Далее сравним значение переменной z с оставшимся числом с. Если с больше z, то присвоим z новое значение – значение с, в противном случае значение z останется прежним. В результате переменная z будет равна наибольшему из a,b,c и будет являться искомым результатом. Эти рассуждения можно представить в виде словесной записи алгоритма: Начало 1.Ввести a,b,c. 2.Если a>b, то z::=a; иначе z:=b; 3.Если c>z, то z:=c. 4.Вывод z. Конец. Ход выполнения алгоритма зависит от результатов проверки условий a>b и c>z. Если для введенных значений a, b действительно a>b, то выполняется операция z:=a; если нет, то выполняется z:=b. Таким образом, в зависимости от результата проверки условия a>b требуется выполнить различные действия. В алгоритме на этом шаге предусмотрены оба возможных направления дальнейших вычислений. При проверке условия c>z операция z:=c может выполняться, если действительно c>z, или не выполняться в противном случае. Этот алгоритм обладает всеми необходимыми свойствами: дискретностью, массовостью, эффективностью. И так я могу долго
Увеличьте шаг в 10 раз До x := x + 0.02 После x := x + 0.02*10
Измените промежуток на котором строится график функции на [-5, 10] До x := -15; while x <= 15 do После x := -5; while x <= 10 do
Измените функцию на: 1) tg(x) ; 2) sin(x)+2*x. До y := 0.4 * x + 2 * sin(3 * x); После 2) y := sin(x)+2*x; После 1) y := tan(x);
Выведите на экран график функции только в I и IV четвертях До circle(x1, y1, 2); После if x*y>=0 then circle(x1, y1, 2);
Измените цвет фона, цвет графика функции, цвет координатных осей //PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию program Grafik;
setPenColor(clGreen); SetBrushColor(clLime); x := -5; while x <= 10 do begin // y := 0.4 * x + 2 * sin(3 * x); // y := sin(x)+2*x; y := tan(x); x1 := trunc(x0 + x * k); y1 := trunc(y0 - y * k); if x * y >= 0 then circle(x1, y1, 2); x := x + 0.02 end; end.
Алгоритм должен удовлетворять следующим свойствам:
1.Первым свойством алгоритма является дискретный, т. е. пошаговый характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (правил, директив, команд) , образующих прерывную (или, как говорят, дискретную) структуру алгоритма: только выполнив требования одного предписания можно приступать к исполнению следующего.
2.Исполнитель может выполнить алгоритм, если он ему понятен, т. е. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Алгоритм не должен содержать предписаний, не входящих в систему команд исполнителя.
3.Алгоритмы, предназначенные для исполнения неким техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получиться один и тот же результат. Это свойство однозначности и определенности – детерминированности – алгоритмов позволяет использовать в качестве исполнителя специальные машины – автоматы.
4.Основополагающим свойством алгоритмов является его массовость, или применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений.
5.Цель выполнения алгоритма – получение определенного результата посредством выполнения указанных преобразований над исходными данными. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам.
6.Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Эффективность алгоритма часто определяет возможность его практической реализации.
Самой распространенной формой представления алгоритмов, адресованных человеку, является обычная словесная запись. В этой форме могут быть выражены любые алгоритмы.
Составим алгоритм определения максимального числа из трех: z:=max(a,b,c).
Решение задачи на ЭВМ можно получить, действуя следующим образом. Сначала найдем наибольшее из двух чисел, например, а и b, сравнив их между собой. Предположим, что исполнитель может выполнить операцию сравнения «больше» . Найденное наибольшее число «запомним» в качестве значения переменной z. Далее сравним значение переменной z с оставшимся числом с. Если с больше z, то присвоим z новое значение – значение с, в противном случае значение z останется прежним. В результате переменная z будет равна наибольшему из a,b,c и будет являться искомым результатом.
Эти рассуждения можно представить в виде словесной записи алгоритма:
Начало
1.Ввести a,b,c.
2.Если a>b, то z::=a;
иначе z:=b;
3.Если c>z, то z:=c.
4.Вывод z.
Конец.
Ход выполнения алгоритма зависит от результатов проверки условий a>b и c>z. Если для введенных значений a, b действительно a>b, то выполняется операция z:=a; если нет, то выполняется z:=b. Таким образом, в зависимости от результата проверки условия a>b требуется выполнить различные действия. В алгоритме на этом шаге предусмотрены оба возможных направления дальнейших вычислений. При проверке условия c>z операция z:=c может выполняться, если действительно c>z, или не выполняться в противном случае.
Этот алгоритм обладает всеми необходимыми свойствами: дискретностью, массовостью, эффективностью.
И так я могу долго
До x := x + 0.02
После x := x + 0.02*10
Измените промежуток на котором строится график функции на [-5, 10]
До
x := -15;
while x <= 15 do
После
x := -5;
while x <= 10 do
Измените функцию на: 1) tg(x) ; 2) sin(x)+2*x.
До y := 0.4 * x + 2 * sin(3 * x);
После 2) y := sin(x)+2*x;
После 1) y := tan(x);
Выведите на экран график функции только в I и IV четвертях
До circle(x1, y1, 2);
После if x*y>=0 then circle(x1, y1, 2);
Измените цвет фона, цвет графика функции, цвет координатных осей
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
program Grafik;
uses GraphABC;
var
x0, y0, x1, y1, k: integer;
x, y: real;
begin
SetWindowSize(640, 400);
Window.Clear(clGold);
x0 := 320;y0 := 200;k := 20;
setPenColor(clRed);
line(20, y0, 620, y0);
line(x0, 20, x0, 380);
setPenColor(clGreen);
SetBrushColor(clLime);
x := -5;
while x <= 10 do
begin
// y := 0.4 * x + 2 * sin(3 * x);
// y := sin(x)+2*x;
y := tan(x);
x1 := trunc(x0 + x * k);
y1 := trunc(y0 - y * k);
if x * y >= 0 then circle(x1, y1, 2);
x := x + 0.02
end;
end.