<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://pascalabc.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=UnREAL</id>
	<title>Вики проекта PascalABC.NET - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://pascalabc.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=UnREAL"/>
	<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/UnREAL"/>
	<updated>2026-04-18T22:53:57Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=2012</id>
		<title>Стандартные задачи на одномерные массивы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B&amp;diff=2012"/>
		<updated>2011-01-17T09:54:08Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №18. Условный минимум */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, ' ');&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/01_Print.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  a := new integer[n];&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/02_CreateRandomArray.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/03_Invert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/04_Find.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4a. Поиск с барьером ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/04_FindWithBarrier.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/05_MinElem.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
==Сдвиги, вставка, удаление==&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/06_ShiftLeft.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/07_ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/08_CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n))&lt;br /&gt;
  Assert((0&amp;lt;=n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/09_Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/10_Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Слияние упорядоченных и бинарный поиск в упорядоченном массиве==&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new real[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/11_Merge.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/12_BinarySearch.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/13_SortByChoice.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
====Способ №1====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/14_BubbleSort.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
====Способ №2(оптимизация)====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/14(2)_BubbleSort2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/15_SortByInsert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Использование процедурных типов в задачах на массивы ==&lt;br /&gt;
Пусть сделаны следующие описания:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
// Примеры предикатов&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/16_FindPred.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Количество по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function CountPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := 0;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if pred(a[i]) then&lt;br /&gt;
      Result += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/17_CountPred.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 0 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/18_MinElemPred.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Arrays/19_DeleteAll.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
© Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1973</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1973"/>
		<updated>2010-12-02T19:07:49Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!|Вычислить Σ(i=1..∞) (-1)^i * a^i/i!]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Поиск значения|Поиск значения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№14. Есть ли среди введенных число k?|Есть ли среди введенных число k?]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№14b. Есть ли среди введенных число k? (то же с использованием while)|Есть ли среди введенных число k? (то же с использованием while)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№15. Является ли число N&amp;gt;0 простым?|Является ли число N&amp;gt;0 простым?]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Другие алгоритмы|Другие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№16. Разложение числа на простые множители|Разложение числа на простые множители]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№17. Вычисление значения многочлена в точке x по схеме Горнера|Вычисление значения многочлена в точке x по схеме Горнера]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления|Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Стандартные задачи на одномерные массивы ==&lt;br /&gt;
=== [[Стандартные задачи на одномерные массивы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на одномерные массивы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№1. Вывод массива|Вывод массива]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№2. Заполнение массива случайными числами|Заполнение массива случайными числами]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№3. Инвертирование массива|Инвертирование массива]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№4. Поиск элемента по заданному значению|Поиск элемента по заданному значению]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№4a. Поиск с барьером|Поиск с барьером]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№5. Минимальный элемент и его индекс|Минимальный элемент и его индекс]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на одномерные массивы#Сдвиги, вставка, удаление|Сдвиги, вставка, удаление]] ====&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№6. Сдвиг влево|Сдвиг влево]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№7. Сдвиг вправо|Сдвиг вправо]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№8. Циклический сдвиг вправо|Циклический сдвиг вправо]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№9. Удаление k-того|Удаление k-того]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№10. Вставка на k-тое место|Вставка на k-тое место]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на одномерные массивы#Слияние упорядоченных и бинарный поиск в упорядоченном массиве|Слияние упорядоченных и бинарный поиск в упорядоченном массиве]] ====&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№11. Слияние двух упорядоченных в один упорядоченный|Слияние двух упорядоченных в один упорядоченный]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№12. Поиск в упорядоченном массиве|Поиск в упорядоченном массиве]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на одномерные массивы#Сортировка массивов|Сортировка массивов]] ====&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№13. Сортировка выбором|Сортировка выбором]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№14. Пузырьковая сортировка|Пузырьковая сортировка]]&lt;br /&gt;
## [[Стандартные задачи на одномерные массивы#Способ №1|Способ №1]]&lt;br /&gt;
## [[Стандартные задачи на одномерные массивы#Способ №2|Способ №2]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№15. Сортировка вставками|Сортировка вставками]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на одномерные массивы#Использование процедурных типов в задачах на массивы|Использование процедурных типов в задачах на массивы]] ====&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№16. Поиск по условию|Поиск по условию]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№17. Количество по условию|Количество по условию]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№18. Условный минимум|Условный минимум]]&lt;br /&gt;
# [[Стандартные задачи на одномерные массивы#№19. Удаление по условию|Удаление по условию]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
© Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1962</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1962"/>
		<updated>2010-12-02T09:47:18Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
© Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1961</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1961"/>
		<updated>2010-11-30T20:27:30Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №14. Есть ли среди введенных число k? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1960</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1960"/>
		<updated>2010-11-30T20:26:27Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №14. Есть ли среди введенных число k? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1959</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1959"/>
		<updated>2010-11-30T20:25:57Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №14. Есть ли среди введенных число k? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1958</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1958"/>
		<updated>2010-11-30T19:52:55Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?file=AlgStudents/Cycles/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1956</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1956"/>
		<updated>2010-11-30T14:21:40Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!|Вычислить Σ(i=1..∞) (-1)^i * a^i/i!]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Поиск значения|Поиск значения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№14. Есть ли среди введенных число k?|Есть ли среди введенных число k?]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№14b. Есть ли среди введенных число k? (то же с использованием while)|Есть ли среди введенных число k? (то же с использованием while)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№15. Является ли число N&amp;gt;0 простым?|Является ли число N&amp;gt;0 простым?]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Другие алгоритмы|Другие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№16. Разложение числа на простые множители|Разложение числа на простые множители]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№17. Вычисление значения многочлена в точке x по схеме Горнера|Вычисление значения многочлена в точке x по схеме Горнера]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления|Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Стандартные задачи на одномерные массивы ==&lt;br /&gt;
=== [[Стандартные задачи на одномерные массивы|Программы]] ===&lt;br /&gt;
&lt;br /&gt;
(Прошу, делайте господа)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1955</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1955"/>
		<updated>2010-11-30T14:18:17Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!|Вычислить Σ(i=1..∞) (-1)^i * a^i/i!]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Поиск значения|Поиск значения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№14. Есть ли среди введенных число k?|Есть ли среди введенных число k?]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№14b. Есть ли среди введенных число k? (то же с использованием while)|Есть ли среди введенных число k? (то же с использованием while)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№15. Является ли число N&amp;gt;0 простым?|Является ли число N&amp;gt;0 простым?]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Другие алгоритмы|Другие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№16. Разложение числа на простые множители|Разложение числа на простые множители]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№17. Вычисление значения многочлена в точке x по схеме Горнера|Вычисление значения многочлена в точке x по схеме Горнера]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления|Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления]]&lt;br /&gt;
&lt;br /&gt;
== Стандартные задачи на одномерные массивы ==&lt;br /&gt;
=== [[Стандартные задачи на одномерные массивы|Программы]] ===&lt;br /&gt;
&lt;br /&gt;
(Прошу, делайте господа)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1954</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1954"/>
		<updated>2010-11-30T14:16:32Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
Дан отрезок [a,b]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1953</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1953"/>
		<updated>2010-11-30T14:16:03Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления ===&lt;br /&gt;
Дан отрезок [a,b] (f(a)*f(b)&amp;lt;=0)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1952</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1952"/>
		<updated>2010-11-30T14:13:47Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!|Вычислить Σ(i=1..∞) (-1)^i * a^i/i!]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Поиск значения|Поиск значения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№14. Есть ли среди введенных число k?|Есть ли среди введенных число k?]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№14b. Есть ли среди введенных число k? (то же с использованием while)|Есть ли среди введенных число k? (то же с использованием while)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№15. Является ли число N&amp;gt;0 простым?|Является ли число N&amp;gt;0 простым?]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Другие алгоритмы|Другие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№16. Разложение числа на простые множители|Разложение числа на простые множители]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№17. Вычисление значения многочлена в точке x по схеме Горнера|Вычисление значения многочлена в точке x по схеме Горнера]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления|Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1951</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1951"/>
		<updated>2010-11-30T14:10:43Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!|Вычислить Σ(i=1..∞) (-1)^i * a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1950</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1950"/>
		<updated>2010-11-30T14:10:02Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№11. Найти сумму цифр целого положительного числа m|Найти сумму цифр целого положительного числа m]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№12. Найти max из введенных чисел|Найти max из введенных чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№12a. Найти min, удовлетворяющее условию p(x)|Найти min, удовлетворяющее условию p(x)]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Суммирование рядов (конечных и бесконечных)|Суммирование рядов (конечных и бесконечных)]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№13. Вычислить Σ(i=1..n) a^i/i!|Вычислить Σ(i=1..n) a^i/i!]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Максимумы и минимумы|Максимумы и минимумы]] ====&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1949</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1949"/>
		<updated>2010-11-30T14:07:14Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№10. Найти НОД(A,B), используя алгоритм Евклида:|Найти НОД(A,B), используя алгоритм Евклида:]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1948</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1948"/>
		<updated>2010-11-30T14:06:36Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№8. Вывод всех двухзначных чисел, кратных 5|Вывод всех двухзначных чисел, кратных 5]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№9. Вывод n первых чисел Фибоначчи|Вывод n первых чисел Фибоначчи]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1947</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1947"/>
		<updated>2010-11-30T14:05:36Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1946</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1946"/>
		<updated>2010-11-30T14:05:13Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTEC__&lt;br /&gt;
== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1945</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1945"/>
		<updated>2010-11-30T14:04:39Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
==== [[Стандартные задачи на циклы#Рекуррентные соотношения|Рекуррентные соотношения]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№7. Вывод 10 первых степеней двойки|Вывод 10 первых степеней двойки]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1944</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1944"/>
		<updated>2010-11-30T14:03:44Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей|Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1943</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1943"/>
		<updated>2010-11-30T14:03:10Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1942</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1942"/>
		<updated>2010-11-30T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: Отмена правки 1941 участника UnREAL (обсуждение)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей|Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1941</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1941"/>
		<updated>2010-11-30T13:59:23Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на [a,b] в точках разбивающих [a,b] на N частей|Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1940</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1940"/>
		<updated>2010-11-30T13:57:19Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№2. Произведение целых чисел|Произведение целых чисел]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)|Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№4. Сколько нечетных среди n введенных|Сколько нечетных среди n введенных]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№5. Защита от неверного ввода|Защита от неверного ввода]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей|Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей]]&lt;br /&gt;
# [[Стандартные задачи на циклы#№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность|Решение, использующее while. Погрешность округления и вычислительная погрешность]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1939</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1939"/>
		<updated>2010-11-30T13:55:25Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1938</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1938"/>
		<updated>2010-11-30T13:54:48Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
# ==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1937</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1937"/>
		<updated>2010-11-30T13:54:30Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
==== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ====&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1936</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1936"/>
		<updated>2010-11-30T13:53:52Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Стандартные задачи на циклы|Стандартные задачи на циклы]] ==&lt;br /&gt;
=== [[Стандартные задачи на циклы#Простейшие алгоритмы|Простейшие алгоритмы]] ===&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1935</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1935"/>
		<updated>2010-11-30T13:52:38Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на циклы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы|Программы]] ===&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1934</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1934"/>
		<updated>2010-11-30T13:50:44Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Стандартные задачи на циклы ==&lt;br /&gt;
&lt;br /&gt;
=== [[Стандартные задачи на циклы. Тексты программ|Программы]] ===&lt;br /&gt;
# [[Стандартные задачи на циклы#№1. Сумма вводимых целых чисел|Сумма вводимых целых чисел]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на циклы]]&lt;br /&gt;
&lt;br /&gt;
[[Стандартные задачи на одномерные массивы]]&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1933</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1933"/>
		<updated>2010-11-30T13:47:52Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1932</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1932"/>
		<updated>2010-11-30T13:47:44Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1931</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1931"/>
		<updated>2010-11-30T13:47:31Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1930</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1930"/>
		<updated>2010-11-30T13:43:48Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Простейшие алгоритмы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var s: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число слагаемых: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  s := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    write('Введите слагаемое: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var p: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число множителей: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  p := 1;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      write('Введите множитель: ');&lt;br /&gt;
      x := ReadReal;&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите n: ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write ('Введите целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var x: real;&lt;br /&gt;
begin&lt;br /&gt;
  repeat&lt;br /&gt;
    write('Введите x&amp;gt;0: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if x&amp;lt;=0 then&lt;br /&gt;
      writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x: real): real;&lt;br /&gt;
begin&lt;br /&gt;
  result := sin(x)*x;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var &lt;br /&gt;
  N: integer;&lt;br /&gt;
  a, b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите N: ');&lt;br /&gt;
  N := ReadInteger;&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  write('Введите a и b: ');&lt;br /&gt;
  a := ReadReal;&lt;br /&gt;
  b := ReadReal;&lt;br /&gt;
&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:5:2,f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var A,B,C: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m := ReadInteger;&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x := ReadReal;&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    x := ReadReal;&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x: real): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n := ReadInteger;&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    var x := ReadReal;&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел, удовлетворяющих условию')&lt;br /&gt;
  else writeln('Минимальное из введенных чисел, удовлетворяющее условию: ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a и n (n&amp;gt;0): ');&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма = ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var a: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
&lt;br /&gt;
  writeln('Сумма = ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var n,k: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x := ReadInteger;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N := ReadInteger;&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
&lt;br /&gt;
  var IsSimple := True;&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := False;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else writeln('Число ', N, ' является составным');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x := ReadInteger;&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
var &lt;br /&gt;
  x,a: real;&lt;br /&gt;
  n: integer;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите x: ');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  write('Введите степень многочлена n (n&amp;gt;0): ');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  write('Введите коэффициенты: ');&lt;br /&gt;
  readln(a);&lt;br /&gt;
&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
var a,b: real;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x;&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1865</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1865"/>
		<updated>2010-11-29T17:22:36Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Сортировка массивов. Использование предикатов в задачах на массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов. Использование предикатов в задачах на массивы ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Количество по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function CountPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := 0;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if pred(a[i]) then&lt;br /&gt;
      Result += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
by Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1864</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1864"/>
		<updated>2010-11-29T17:22:03Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Сортировка массивов. Использование предикатов в задачах на массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов. Использование предикатов в задачах на массивы ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №17. Количество по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function CountPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := 0;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if pred(a[i]) then&lt;br /&gt;
      Result += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
by Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1861</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1861"/>
		<updated>2010-11-29T16:54:20Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов. Использование предикатов в задачах на массивы ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
by Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1860</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1860"/>
		<updated>2010-11-29T16:48:15Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на одномерные массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов. Использование предикатов в задачах на массивы ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1859</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1859"/>
		<updated>2010-11-29T16:47:18Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на одномерные массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сортировка массивов. Использование предикатов в задачах на массивы ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1858</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1858"/>
		<updated>2010-11-29T16:42:54Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на одномерные массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1857</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1857"/>
		<updated>2010-11-29T16:41:40Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Стандартные задачи на одномерные массивы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/1.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/2.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/3.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/4.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/5.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=DaZzz/Arrays/6.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1856</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1856"/>
		<updated>2010-11-29T16:35:57Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Стандартные задачи на циклы =&lt;br /&gt;
&lt;br /&gt;
== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Стандартные задачи на одномерные массивы =&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1855</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1855"/>
		<updated>2010-11-29T16:34:05Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №1. Сумма вводимых целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №2. Произведение целых чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №4. Сколько нечетных среди n введенных ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №5. Защита от неверного ввода ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №6a. Решение, использующее while. Погрешность округления и вычислительная погрешность ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
=== №7. Вывод 10 первых степеней двойки ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №8. Вывод всех двухзначных чисел, кратных 5 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №9. Вывод n первых чисел Фибоначчи ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №10. Найти НОД(A,B), используя алгоритм Евклида: ===&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №11. Найти сумму цифр целого положительного числа m ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
=== №12. Найти max из введенных чисел ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №12a. Найти min, удовлетворяющее условию p(x) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
=== №13. Вычислить Σ(i=1..n) a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
=== №14. Есть ли среди введенных число k? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14a. Есть ли среди введенных число k? (то же с использованием break) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №14b. Есть ли среди введенных число k? (то же с использованием while) ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №15. Является ли число N&amp;gt;0 простым? ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
=== №16. Разложение числа на простые множители ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №17. Вычисление значения многочлена в точке x по схеме Горнера ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== №18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1854</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1854"/>
		<updated>2010-11-29T16:31:36Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Массивы =&lt;br /&gt;
&lt;br /&gt;
=== №1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// №4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== №11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== №19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1853</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1853"/>
		<updated>2010-11-29T16:27:55Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Массивы =&lt;br /&gt;
&lt;br /&gt;
=== 1. Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// 4a. Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x; // барьерный элемент равен разыскиваему&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/ShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== 8. Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/CycleShiftRight.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== 9. Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Delete.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== 10. Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=PacVlad/Insert.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
=== 11. Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of real; na,nb: integer): array of real;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; na) and (na &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; nb) and (nb &amp;lt; b.Length));&lt;br /&gt;
  a[na] := real.MaxValue;&lt;br /&gt;
  b[nb] := real.MaxValue;&lt;br /&gt;
  var c := new integer[na + nb];&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ic := 0 to na + nb - 1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      c[ic] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  Result := c;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 12. Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k + 1&lt;br /&gt;
    else j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 13. Сортировка выбором ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByChoice(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 0 to a.Length - 2 do&lt;br /&gt;
  begin&lt;br /&gt;
    var min := a[i];&lt;br /&gt;
    var imin := i;&lt;br /&gt;
    for var j := i + 1 to a.Length - 1 do&lt;br /&gt;
      if a[j] &amp;lt; min then&lt;br /&gt;
      begin&lt;br /&gt;
        min := a[i];&lt;br /&gt;
        imin := j;&lt;br /&gt;
      end;&lt;br /&gt;
    a[imin] := a[i];&lt;br /&gt;
    a[i] := min;&lt;br /&gt;
  end;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 14. Пузырьковая сортировка ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure BubbleSort(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i := 0 to n - 2 do&lt;br /&gt;
    for var j := n - 1 downto i + 1 do&lt;br /&gt;
      if a[j] &amp;lt; a[j - 1] then&lt;br /&gt;
        Swap(a[j], a[j - 1]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
procedure BubbleSort2(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  var i := a.Length - 1;&lt;br /&gt;
  var q: boolean;&lt;br /&gt;
  repeat&lt;br /&gt;
    q := true;&lt;br /&gt;
    for var j := 0 to i - 1 do&lt;br /&gt;
      if a[j + 1] &amp;lt; a[j] then&lt;br /&gt;
      begin&lt;br /&gt;
        Swap(a[j + 1], a[j]);&lt;br /&gt;
        q := false;&lt;br /&gt;
      end;&lt;br /&gt;
    i -= 1;&lt;br /&gt;
  until q;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15. Сортировка вставками ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure SortByInsert(a: array of integer);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := 1 to a.Length - 1 do &lt;br /&gt;
  begin&lt;br /&gt;
    var x := a[i];&lt;br /&gt;
    var j := i - 1;&lt;br /&gt;
    while (j &amp;gt;= 0) and (x &amp;lt; a[j]) do&lt;br /&gt;
    begin&lt;br /&gt;
      a[j + 1] := a[j];&lt;br /&gt;
      j -= 1;&lt;br /&gt;
    end;&lt;br /&gt;
    a[j + 1] := x;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 16. Поиск по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  IPredicate = function(x: integer): boolean;&lt;br /&gt;
&lt;br /&gt;
function Even(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  result := not odd(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function IsPositive(x: integer): boolean;&lt;br /&gt;
begin&lt;br /&gt;
  Result := x &amp;gt; 0;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function FindPred(a: array of integer; pred: IPredicate): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i &amp;lt; n) and not pred(a[i]) do &lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i = n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else &lt;br /&gt;
    Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 18. Условный минимум ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure MinElemPred(a: array of integer; pred: IPredicate; var min, imin: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := Integer.MaxValue;&lt;br /&gt;
  imin := -1;&lt;br /&gt;
  for var i := 1 to a.length - 1 do &lt;br /&gt;
    if pred(a[i]) and (a[i] &amp;lt; min) then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      imin := i;&lt;br /&gt;
    end;&lt;br /&gt;
end; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 19. Удаление по условию ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure DeleteAll(a: array of integer; var n: integer; pred: IPredicate);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt;= a.Length));&lt;br /&gt;
  var j := 0;&lt;br /&gt;
  for var i := 0 to n - 1 do&lt;br /&gt;
    if not pred(a[i]) then&lt;br /&gt;
    begin&lt;br /&gt;
      a[j] := a[i];&lt;br /&gt;
      j += 1;&lt;br /&gt;
    end;&lt;br /&gt;
  n := j;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1852</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1852"/>
		<updated>2010-11-29T16:22:35Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: /* Простейшие алгоритмы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
'''№1. Сумма вводимых целых чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№2. Произведение целых чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№4. Сколько нечетных среди n введенных'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№5. Защита от неверного ввода'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
'''№7. Вывод 10 первых степеней двойки'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№8. Вывод всех двухзначных чисел, кратных 5'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№9. Вывод n первых чисел Фибоначчи'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№10. Найти НОД(A,B), используя алгоритм Евклида:'''&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№11. Найти сумму цифр целого положительного числа m'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
'''№12. Найти max из введенных чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№12a. Найти min, удовлетворяющее условию p(x)'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
'''№13. Вычислить Σ(i=1..n) a^i/i! '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
'''№14. Есть ли среди введенных число k? '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№14a. Есть ли среди введенных число k? (то же с использованием break) '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№14b. Есть ли среди введенных число k? (то же с использованием while) '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№15. Является ли число N&amp;gt;0 простым? '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
'''№16. Разложение числа на простые множители '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№17. Вычисление значения многочлена в точке x по схеме Горнера '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1851</id>
		<title>Стандартные задачи на циклы</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BD%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D1%8B&amp;diff=1851"/>
		<updated>2010-11-29T16:22:01Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Простейшие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
'''№1. Сумма вводимых целых чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  writeln('Введите число слагаемых');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin &lt;br /&gt;
    writeln('Введите слагаемое');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма слагаемых равна ',s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_01_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№2. Произведение целых чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  writeln('Введите число множителей');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
    begin&lt;br /&gt;
      writeln('Введите множитель');&lt;br /&gt;
      readln(x);&lt;br /&gt;
      p *= x;&lt;br /&gt;
    end;&lt;br /&gt;
  writeln('Произведение равно ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_02_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№3. Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var p := 1;&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(x);&lt;br /&gt;
  while x&amp;gt;=2 do&lt;br /&gt;
  begin&lt;br /&gt;
    p *= x;&lt;br /&gt;
    x -= 2;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Двойной факториал равен ', p);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_03_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
'''№4. Сколько нечетных среди n введенных'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x , n : integer;&lt;br /&gt;
  var c := 0;&lt;br /&gt;
  writeln('Введите n');&lt;br /&gt;
  readln(n);&lt;br /&gt;
  for var i:=1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Введите целое число');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x mod 2 &amp;lt;&amp;gt; 0 then&lt;br /&gt;
      c += 1;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Количество нечетных равно ', c);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_04_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№5. Защита от неверного ввода'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
 var x : real;&lt;br /&gt;
 repeat&lt;br /&gt;
  write('Введите x&amp;gt;0 ');&lt;br /&gt;
  read(x);&lt;br /&gt;
  if x&amp;lt;=0 then&lt;br /&gt;
    writeln('Неверный ввод');&lt;br /&gt;
  until x&amp;gt;0;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_05_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№6. Табулирование функции f(x) на [a,b] в точках, разбивающих [a,b] на N частей'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  for var i:=0 to N do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x);&lt;br /&gt;
    writeln('Значение функции равно ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function f(x : real): real;&lt;br /&gt;
begin&lt;br /&gt;
//Введите любую функцию&lt;br /&gt;
  result := sin(x);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  var a , b : real;&lt;br /&gt;
  writeln('Введите N');&lt;br /&gt;
  readln(N);&lt;br /&gt;
  writeln('Введите a и b');&lt;br /&gt;
  read(a,b);&lt;br /&gt;
  Assert(N&amp;gt;0);&lt;br /&gt;
  var h := (b-a)/N;&lt;br /&gt;
  var x := a;&lt;br /&gt;
  while x &amp;lt;= b+h/2 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln('Значение икса равно ',x:5:2,' Значение функции ', f(x):10:4);&lt;br /&gt;
    x += h;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_06a_Kazik.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Рекуррентные соотношения ==&lt;br /&gt;
&lt;br /&gt;
'''№7. Вывод 10 первых степеней двойки'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 2;&lt;br /&gt;
  for var i := 1 to 10 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(i:2,x:5);&lt;br /&gt;
    x *= 2;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_07.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№8. Вывод всех двухзначных чисел, кратных 5'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  var x := 10;&lt;br /&gt;
  while x &amp;lt; 100 do&lt;br /&gt;
  begin&lt;br /&gt;
    writeln(x:3);&lt;br /&gt;
    x += 5;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_08.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№9. Вывод n первых чисел Фибоначчи'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n &amp;gt; 1): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  var a := 1;&lt;br /&gt;
  var b := 1;&lt;br /&gt;
  write(1, ' ', 1, ' ');&lt;br /&gt;
  for var i := 3 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var c := a + b;&lt;br /&gt;
    write(c, ' ');&lt;br /&gt;
    a := b;&lt;br /&gt;
    b := c;&lt;br /&gt;
  end;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_09.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№10. Найти НОД(A,B), используя алгоритм Евклида:'''&lt;br /&gt;
&lt;br /&gt;
НОД(A,B) = НОД(B,A mod B);    НОД(A,0) = A&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа A и B: ');&lt;br /&gt;
  var A,B,C : integer;&lt;br /&gt;
  readln(A,B);&lt;br /&gt;
  repeat&lt;br /&gt;
    C := A mod B;&lt;br /&gt;
    A := B;&lt;br /&gt;
    B := C;&lt;br /&gt;
  until C = 0;&lt;br /&gt;
  write('НОД(A,B) = ', A);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_10.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№11. Найти сумму цифр целого положительного числа m'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое положительное число m: ');&lt;br /&gt;
  var m : integer;&lt;br /&gt;
  readln(m);&lt;br /&gt;
  assert(m &amp;gt; 0);&lt;br /&gt;
  var s := 0;&lt;br /&gt;
  while m &amp;gt; 0 do&lt;br /&gt;
  begin&lt;br /&gt;
    s += m mod 10;&lt;br /&gt;
    m := m div 10;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма цифр числа m равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_11.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Максимумы и минимумы ==&lt;br /&gt;
&lt;br /&gt;
'''№12. Найти max из введенных чисел'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  write('Введите 1 число: ');&lt;br /&gt;
  var x : real;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  var max := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if max &amp;lt; x then&lt;br /&gt;
      max := x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Максимальное из введенных чисел: ', max);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№12a. Найти min, удовлетворяющее условию p(x)'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false)&lt;br /&gt;
function p(x : real) : boolean;&lt;br /&gt;
begin&lt;br /&gt;
  if x &amp;gt; 0 then&lt;br /&gt;
    Result := true&lt;br /&gt;
  else&lt;br /&gt;
    Result := false;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число n (n&amp;gt;0): ');&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var min := real.MaxValue;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    var x : real;&lt;br /&gt;
    write('Введите ', i, ' число: ');&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if (x &amp;lt; min) and p(x) then&lt;br /&gt;
      min := x;&lt;br /&gt;
  end;&lt;br /&gt;
  if min = real.MaxValue then&lt;br /&gt;
    writeln('Нет чисел удовлетворяющих условию (являющихся положительными)')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Минимальное из введенных чисел и удовлетворяющее условию (являющееся положительным): ', min);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_12a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Суммирование рядов (конечных и бесконечных) ==&lt;br /&gt;
&lt;br /&gt;
'''№13. Вычислить Σ(i=1..n) a^i/i! '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a и n (n&amp;gt;0): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(a,n);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var x := a;&lt;br /&gt;
  var s := x;&lt;br /&gt;
  for var i := 2 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    x *= a / i;&lt;br /&gt;
    s += x;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..n) a^i/i! равна ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i! '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите число a (0 &amp;lt; a &amp;lt; 1): ');&lt;br /&gt;
  var a : real;&lt;br /&gt;
  readln(a);&lt;br /&gt;
  assert((a&amp;gt;0) and (a&amp;lt;1));&lt;br /&gt;
  var eps := 0.0001;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  var s := 0.0;&lt;br /&gt;
  var y := -a;&lt;br /&gt;
  repeat&lt;br /&gt;
    s += y / i;&lt;br /&gt;
    i += 1;&lt;br /&gt;
    y *= -a;&lt;br /&gt;
  until abs(y/i) &amp;lt; eps;&lt;br /&gt;
  writeln('Сумма ',chrunicode(931),'(i=1..',chrunicode(8734),') (-1)^i * a^i/i! равна ', s);   &lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_13a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Поиск значения ==&lt;br /&gt;
&lt;br /&gt;
'''№14. Есть ли среди введенных число k? '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№14a. Есть ли среди введенных число k? (то же с использованием break) '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    if x = k then&lt;br /&gt;
    begin&lt;br /&gt;
      Exists := true;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14a.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№14b. Есть ли среди введенных число k? (то же с использованием while) '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целые числа n (n&amp;gt;0) и k: ');&lt;br /&gt;
  var n,k : integer;&lt;br /&gt;
  readln(n,k);&lt;br /&gt;
  assert(n&amp;gt;0);&lt;br /&gt;
  var Exists := false;&lt;br /&gt;
  var i := 1;&lt;br /&gt;
  while (i &amp;lt;= n) and not Exists do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите ', i, ' целое число: ');&lt;br /&gt;
    var x : integer;&lt;br /&gt;
    readln(x);&lt;br /&gt;
    i += 1;&lt;br /&gt;
    if x = k then&lt;br /&gt;
      Exists := true;&lt;br /&gt;
  end;&lt;br /&gt;
  if Exists then&lt;br /&gt;
    writeln('Число ', k, ' было введено')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', k, ' не было введено');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_14b.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№15. Является ли число N&amp;gt;0 простым? '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число N (N&amp;gt;0): ');&lt;br /&gt;
  var N : integer;&lt;br /&gt;
  readln(N);&lt;br /&gt;
  assert(N&amp;gt;0);&lt;br /&gt;
  var IsSimple := true;&lt;br /&gt;
  // for var i := 2 to N-1 do&lt;br /&gt;
  for var i := 2 to round(sqrt(N)) do&lt;br /&gt;
    if N mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      IsSimple := false;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
  if IsSimple then&lt;br /&gt;
    writeln('Число ', N, ' является простым')&lt;br /&gt;
  else&lt;br /&gt;
    writeln('Число ', N, ' не является простым');&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_15.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Другие алгоритмы ==&lt;br /&gt;
&lt;br /&gt;
'''№16. Разложение числа на простые множители '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите целое число x (x&amp;gt;1): ');&lt;br /&gt;
  var x : integer;&lt;br /&gt;
  readln(x);&lt;br /&gt;
  assert(x&amp;gt;1);&lt;br /&gt;
  var i := 2;&lt;br /&gt;
  write(x, ' = 1');&lt;br /&gt;
  repeat&lt;br /&gt;
    if x mod i = 0 then&lt;br /&gt;
    begin&lt;br /&gt;
      write(' * ', i);&lt;br /&gt;
      x := x div i;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
      i += 1;&lt;br /&gt;
  until x = 1;&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_16.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№17. Вычисление значения многочлена в точке x по схеме Горнера '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите значение x, значение старшей степени x - n (n&amp;gt;=0) и коэффициент при старшей степени x - a_{1}: ');&lt;br /&gt;
  var x,a : real;&lt;br /&gt;
  var n : integer;&lt;br /&gt;
  readln(x,n,a);&lt;br /&gt;
  assert(n&amp;gt;=0);&lt;br /&gt;
  var s := a;&lt;br /&gt;
  for var i := 1 to n do&lt;br /&gt;
  begin&lt;br /&gt;
    write('Введите a_{', i+1,'}: ');&lt;br /&gt;
    readln(a);&lt;br /&gt;
    s := s*x + a;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + ... + a_{n}*x + a_{n+1} в точке x = ', x, ' равно ', s);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_17.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''№18. Дана непрерывная на [a,b] функция f(x), имеющая на [a,b] ровно один корень (f(a)*f(b)&amp;lt;=0). Найти его методом половинного деления '''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x)&lt;br /&gt;
const eps = 0.0001;&lt;br /&gt;
const f = sin;&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
  write('Введите числа a и b (a&amp;lt;b): ');&lt;br /&gt;
  var a,b : real;&lt;br /&gt;
  readln(a,b);&lt;br /&gt;
  assert(a&amp;lt;b);&lt;br /&gt;
  var fa := f(a);&lt;br /&gt;
  var fb := f(b);&lt;br /&gt;
  assert(fb*fa&amp;lt;0);&lt;br /&gt;
  while (b-a) &amp;gt; eps do&lt;br /&gt;
  begin&lt;br /&gt;
    var x := (b+a)/2;&lt;br /&gt;
    var fx := f(x);&lt;br /&gt;
    if fa*fx &amp;lt;= 0 then&lt;br /&gt;
      b := x&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      a := x;&lt;br /&gt;
      fa := fx;&lt;br /&gt;
    end;&lt;br /&gt;
  end;&lt;br /&gt;
  writeln('Корень функции на [a,b] равен ',(b+a)/2);&lt;br /&gt;
end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://pascalabc.net/WDE/?shared=UnREAL/Algoritm_18.pas Ссылка на алгоритм в среде WDE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--UnREAL 20:29, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1818</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1818"/>
		<updated>2010-11-27T21:14:56Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здесь будет ряд алгоритмов из курса лекций &amp;quot;Основы программирования&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Print&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
end;    &lt;br /&gt;
&lt;br /&gt;
// С переходом на следующую строку&lt;br /&gt;
procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin &lt;br /&gt;
  Print(a, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; &lt;br /&gt;
  x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; &lt;br /&gt;
  var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; var k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k+1 do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of integer; n,m: integer): array of integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; m) and (m &amp;lt; b.Length));&lt;br /&gt;
  a[n] := integer.MaxValue;&lt;br /&gt;
  b[m] := integer.MaxValue;&lt;br /&gt;
  SetLength(Result,m+n);&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ir := 0 to n+m-1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k+1&lt;br /&gt;
    else&lt;br /&gt;
      j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else &lt;br /&gt;
    Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1817</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1817"/>
		<updated>2010-11-27T21:14:44Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здесь будет ряд алгоритмов из курса лекций &amp;quot;Основы программирования&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Print&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
end;    &lt;br /&gt;
&lt;br /&gt;
// С переходом на следующую строку&lt;br /&gt;
procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin &lt;br /&gt;
  Print(a, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; &lt;br /&gt;
  x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; &lt;br /&gt;
  var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; var k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k+1 do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of integer; n,m: integer): array of integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; m) and (m &amp;lt; b.Length));&lt;br /&gt;
  a[n] := integer.MaxValue;&lt;br /&gt;
  b[m] := integer.MaxValue;&lt;br /&gt;
  SetLength(Result,m+n);&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ir := 0 to n+m-1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k+1&lt;br /&gt;
    else&lt;br /&gt;
      j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else &lt;br /&gt;
    Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
--UnREAL 21:14, 27 ноября 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1816</id>
		<title>Алгоритмы для студентов</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=1816"/>
		<updated>2010-11-27T21:14:26Z</updated>

		<summary type="html">&lt;p&gt;UnREAL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здесь будет ряд алгоритмов из курса лекций &amp;quot;Основы программирования&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Вывод массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Print&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin&lt;br /&gt;
  foreach x: T in a do&lt;br /&gt;
    write(x, delim);&lt;br /&gt;
end;    &lt;br /&gt;
&lt;br /&gt;
// С переходом на следующую строку&lt;br /&gt;
procedure Println&amp;lt;T&amp;gt;(a: array of T; delim: string := ' ');&lt;br /&gt;
begin &lt;br /&gt;
  Print(a, delim);&lt;br /&gt;
  writeln;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Заполнение массива случайными числами ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure CreateRandomArray(var a: array of integer; &lt;br /&gt;
  n: integer);&lt;br /&gt;
begin&lt;br /&gt;
  SetLength(a,n);&lt;br /&gt;
  for var i:=0 to n-1 do&lt;br /&gt;
    a[i] := random(100);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Инвертирование массива ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure Invert&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  for var i:=0 to n div 2 - 1 do&lt;br /&gt;
    Swap(a[i],a[n-i-1]);&lt;br /&gt;
end; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск элемента по заданному значению ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;// С помощью for&lt;br /&gt;
function Find&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Result := -1;&lt;br /&gt;
  for var i := 0 to a.Length - 1 do&lt;br /&gt;
    if a[i] = x then&lt;br /&gt;
    begin&lt;br /&gt;
      Result := i;&lt;br /&gt;
      break;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// С помощью while&lt;br /&gt;
function FindWhile&amp;lt;T&amp;gt;(a: array of T; x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var n := a.Length;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while (i&amp;lt;n) and (a[i]&amp;lt;&amp;gt;x) do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
// Поиск с барьером&lt;br /&gt;
function FindWithBarrier&amp;lt;T&amp;gt;(a: array of T; n: integer; &lt;br /&gt;
  x: T): integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  a[n] := x;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  while a[i]&amp;lt;&amp;gt;x do&lt;br /&gt;
    i += 1;&lt;br /&gt;
  if i=n then&lt;br /&gt;
    Result := -1&lt;br /&gt;
  else Result := i;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Минимальный элемент и его индекс ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure MinElem(a: array of integer; &lt;br /&gt;
  var min: integer; var minind: integer);&lt;br /&gt;
begin&lt;br /&gt;
  min := a[0]; &lt;br /&gt;
  minind := 0;&lt;br /&gt;
  for var i:=1 to a.Length-1 do&lt;br /&gt;
    if a[i]&amp;lt;min then&lt;br /&gt;
    begin&lt;br /&gt;
      min := a[i];&lt;br /&gt;
      minind := i;&lt;br /&gt;
    end;&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг влево ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;procedure ShiftLeft&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i:=0 to a.Length-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[a.Length-1] := default(T);&lt;br /&gt;
end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure ShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  for var i := a.Length-1 downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := default(T);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Циклический сдвиг вправо ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure CycleShiftRight&amp;lt;T&amp;gt;(a: array of T);&lt;br /&gt;
begin&lt;br /&gt;
  var v := a[a.Length-1];&lt;br /&gt;
  for var i := a.Length downto 1 do&lt;br /&gt;
    a[i] := a[i-1];&lt;br /&gt;
  a[0] := v;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Удаление k-того ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Delete&amp;lt;T&amp;gt;(a: array of T; var n: integer; k: integer);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;n) and (n&amp;lt;=a.Length));&lt;br /&gt;
  for var i := k to n-2 do&lt;br /&gt;
    a[i] := a[i+1];&lt;br /&gt;
  a[n-1] := default(T);&lt;br /&gt;
  n -= 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Вставка на k-тое место ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
procedure Insert&amp;lt;T&amp;gt;(a: array of T; var n: integer; var k: integer; value: T);&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0&amp;lt;=k) and (k&amp;lt;=n) and (n&amp;lt;a.Length));&lt;br /&gt;
  for var i := n-1 downto k+1 do&lt;br /&gt;
    a[i+1] := a[i];&lt;br /&gt;
  a[k] := value;&lt;br /&gt;
  n += 1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Слияние двух упорядоченных в один упорядоченный ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
// a,b упорядочены по возрастанию&lt;br /&gt;
function Merge(a,b: array of integer; n,m: integer): array of integer;&lt;br /&gt;
begin&lt;br /&gt;
  Assert((0 &amp;lt; n) and (n &amp;lt; a.Length));&lt;br /&gt;
  Assert((0 &amp;lt; m) and (m &amp;lt; b.Length));&lt;br /&gt;
  a[n] := integer.MaxValue;&lt;br /&gt;
  b[m] := integer.MaxValue;&lt;br /&gt;
  SetLength(Result,m+n);&lt;br /&gt;
  var ia := 0;&lt;br /&gt;
  var ib := 0;&lt;br /&gt;
  for var ir := 0 to n+m-1 do&lt;br /&gt;
    if a[ia]&amp;lt;b[ib] then&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := a[ia];&lt;br /&gt;
      ia += 1;&lt;br /&gt;
    end&lt;br /&gt;
    else&lt;br /&gt;
    begin&lt;br /&gt;
      Result[ir] := b[ib];&lt;br /&gt;
      ib += 1;&lt;br /&gt;
    end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Поиск в упорядоченном массиве ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
function BinarySearch(a: array of integer; x: integer): integer;&lt;br /&gt;
begin&lt;br /&gt;
  var k: integer;&lt;br /&gt;
  var i := 0;&lt;br /&gt;
  var j := a.Length-1;&lt;br /&gt;
  repeat&lt;br /&gt;
    k := (i+j) div 2;&lt;br /&gt;
    if x&amp;gt;a[k] then&lt;br /&gt;
      i := k+1&lt;br /&gt;
    else&lt;br /&gt;
      j := k - 1;&lt;br /&gt;
  until (a[k]=x) or (i&amp;gt;j);&lt;br /&gt;
  if a[k]=x then&lt;br /&gt;
    Result := k&lt;br /&gt;
  else &lt;br /&gt;
    Result := -1;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>UnREAL</name></author>
	</entry>
</feed>