Евгений Колесников 1 mēnesi atpakaļ
vecāks
revīzija
da80abba53
9 mainītis faili ar 78 papildinājumiem un 34 dzēšanām
  1. 78 34
      articles/t1l1.md
  2. BIN
      img/t1l1p1.gif
  3. BIN
      img/t1l1p2.gif
  4. BIN
      img/t1l1p3.gif
  5. BIN
      img/t1l1p4.gif
  6. BIN
      img/t1l1p5.gif
  7. BIN
      img/t1l1p6.gif
  8. BIN
      img/t1l1p7.gif
  9. BIN
      img/t1l1p8.gif

+ 78 - 34
articles/t1l1.md

@@ -94,7 +94,7 @@ flowchart LR
 
 - словесная (запись на естественном языке)
 - графическая (изображения из графических символов)
-- псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.
+- псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.)
 - программная (тексты на языках программирования)
 
 **Пример:** написать алгоритм "Одеться по погоде". Если на улице температура ниже 0, то необходимо надеть шубу, иначе – куртку.
@@ -120,33 +120,86 @@ flowchart LR
 
 Наибольшее распространение благодаря своей наглядности получил графический способ записи алгоритмов. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
 
-Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. В таблице приведены наиболее часто употребляемые символы.
+Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Ниже приведены наиболее часто употребляемые символы.
 
-Название символа | Обозначение и пример заполнения | Пояснение
------------------|---------------------------------|------------
-Процесс		       | ![](../img/t1l1p1.gif)          |Вычислительное действие или последовательность действий
-Решение          | ![](../img/t1l1p2.gif)		       | Проверка условий
-Модификация	     | ![](../img/t1l1p3.gif)          | Начало цикла
-Предопределенный процесс | ![](../img/t1l1p4.gif)  | Вычисления по подпрограмме, стандартной подпрограмме
-Ввод-вывод       | ![](../img/t1l1p5.gif)          | Ввод-вывод в общем виде
-Пуск-останов     | ![](../img/t1l1p6.gif)          | Начало, конец алгоритма, вход и выход в подпрограмму
-Документ         | ![](../img/t1l1p7.gif)          | Вывод результатов на печать
+- __Процесс__
 
-Блок **процесс** применяется для обозначения действия или последовательности действий,изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
+    ```mermaid
+    flowchart TD
+      A["x = (a - b) / sin(c)"]
+    ```
 
-Блок **решение** используется для обозначения переходов управления по условию. В каждом блоке **решение** должны быть указаны вопрос, условие или сравнение, которые он определяет.
+    Блок **процесс** применяется для обозначения действия или последовательности действий,изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
 
-Блок **модификация** используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
+- __Решение__
 
-Блок **предопределенный процесс** используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
+    ```mermaid
+    flowchart TD
+      A{a < b}
+      A-->|да|B[Процесс 1]
+      A-->|нет|C[Процесс 2]
+    ```
 
-Блок **Ввод-вывод** используется для преобразования данных в фор­му, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Отдельным логическим устройствам компьютера или отдельным функциям об­мена соответствуют определенные блочные символы. В каждом из них указыва­ются тип устройства или файла данных, тип информации, участвующий в обме­не, а также вид операции обмена.
+    Блок **решение** используется для обозначения переходов управления по условию. В каждом блоке **решение** должны быть указаны вопрос, условие или сравнение, которые он определяет.
 
-Блок **Пуск-останов** используется для обозначения начала, конца, прерывания процесса обработки данных или выполнения программы.
+- __Модификация__
 
-Блок **Документ** предназначен для ввода-вывода данных, носителем которых служит бумага.
+    ```mermaid
+    flowchart TD
+      A{{i = 1, 50, 2}}
+    ```
 
-![](../img/t1l1p8.gif)
+    Блок **модификация** используется для организации циклических конструкций. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
+
+- __Предопределенный процесс__
+
+    ```mermaid
+    flowchart TD
+      A[[Расчёт параметров]]
+    ```
+
+    Блок **предопределенный процесс** используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
+
+- __Ввод-вывод__
+
+    ```mermaid
+    flowchart TD
+      A[/Ввод a, b, c/]
+    ```
+
+    Блок **Ввод-вывод** используется для преобразования данных в фор­му, пригодную для обработки (ввод) или отображения результатов обработки (вывод).
+
+- __Пуск-останов__
+
+    ```mermaid
+    flowchart TD
+      A([Начало])
+    ```
+
+    Блок **Пуск-останов** используется для обозначения начала, конца, прерывания процесса обработки данных или выполнения программы.
+
+- __Документ__
+
+    ```mermaid
+    flowchart TD
+      A@{ shape: doc, label: "Печать a, c" }
+    ```
+
+    Блок **Документ** предназначен для ввода-вывода данных, носителем которых служит бумага.
+
+Теперь, зная назначения блоков, можем составить итоговую блок-схему:
+
+```mermaid
+flowchart TD
+  start([Начало])
+  start-->proc[Определить температуру воздуха]
+  proc-->if{Температура ниже 0}
+  if-->|Да|case1[Надеть шубу]
+  if-->|Нет|case2[Надеть куртку]
+  case1-->A([Конец])
+  case2-->A
+
+```
 
 ### Псевдокод
 
@@ -174,21 +227,12 @@ flowchart LR
 
 ```cs
 //Пример программы на языке C#
-namespace oap
-{
-  class Program
-  {
-    static void Main(string[] args)
-    {
-      Console.WriteLine("введите температуру воздуха t: ");
-      var t = int.Parse( Console.ReadLine() );
-      if (t < 0)
-        Console.WriteLine("одеть шубу");
-      else
-        Console.WriteLine("одеть куртку");
-    }
-  }
-}
+Console.WriteLine("введите температуру воздуха t: ");
+var t = int.Parse( Console.ReadLine() );
+if (t < 0)
+  Console.WriteLine("одеть шубу");
+else
+  Console.WriteLine("одеть куртку");
 ```
 
 ### Структурное программирование

BIN
img/t1l1p1.gif


BIN
img/t1l1p2.gif


BIN
img/t1l1p3.gif


BIN
img/t1l1p4.gif


BIN
img/t1l1p5.gif


BIN
img/t1l1p6.gif


BIN
img/t1l1p7.gif


BIN
img/t1l1p8.gif