DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 13:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Algorithmic language DRAKON guarantees clarity of algorithms
СообщениеДобавлено: Суббота, 08 Октябрь, 2011 17:20 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Эдуард Ильченко попросил меня выложить перевод книги на английский.

_____________________________ __________

Vladimir Parondzhanov

Best way to create
COMPREHENSIBLE ALGORITHMS

Friendly algorithmic language DRAKON guarantees amazing clarity of algorithms

          BURAN spacecraft language DRAKON
          provides easy and simple approach
          to algorithms development

CONTENTS

Introduction………………………………………………………..

Part 1. Algorithms (Pleasant examples for a first acquaintance)

Chapter 1. Algorithms – it’s very simple!

Chapter 2. Algorithms and procedural knowledge

Part 2. Algorithmic language DRAKON and convenient
drawings of algorithms (drakon-charts)

Chapter 3. DRAKON icons and macroicons

Chapter 4. Algorithmic structure “silhouette”

Chapter 5. Algorithmic structure “primitive”

Chapter 6. Let’s compare silhouette and primitive

Chapter 7. How to improve the comprehensibility
of the algorithms

Chapter 8. Simple cyclic algorithms

Chapter 9. Properties of cyclic algorithms

Chapter 10. Complex cyclic algorithms. Algorithmic
structure “cycle within a cycle”

Chapter 11. Logical formulas used in algorithms.

Chapter 12. What is ergonomic text?

Chapter 13. Real time algorithms

Chapter 14. Parallel algorithms

Chapter 15. Drakon-charts and flowcharts

Chapter 16. Briefly about programming

Part 3. Algorithms used in practical life (examples)

Chapter 17. Algorithms in medicine

Chapter 18. Algorithms in industry

Chapter 19. Algorithms in trade

Chapter 20. Bookkeeping algorithms

Chapter 21. Algorithms in nuclear energetics

Chapter 22. Algorithms in biology

Chapter 23. Algorithms in agriculture

Chapter 24. Algorithms in middle school

Chapter 25. State and municipal management algorithms

Part 4. Mathematical algorithms (examples)

Chapter 26. Simple mathematical algorithms

Chapter 27. Algorithms with arrays

Chapter 28. Data search algorithms

Chapter 29. Recursive algorithms

Part 5. Conclusive recommendations on creating
drakon-charts

Chapter 30. Recommendations on using the algorithmic
structures “silhouette” and “primitive”

Chapter 31. How to improve the comprehensibility
of the trees

Part 6. Constructor of algorithms and formal description
of DRAKON language

Chapter 32. Constructor of algorithms (computer-aided
design of algorithms)

Chapter 33. Graphic syntax of the DRAKON language

Part 7. Theoretical basis of the DRAKON language

Chapter 34. Calculus of icons

Chapter 35. Ashcroft-Manna method and
the algorithmic structure “silhouette”

Chapter 36. Visual structural approach to algorithms
and programs (the skewer-method)

Part 8. What roles do algorithms play in human culture?

Chapter 37. Algorithmic thinking

Chapter 38. Algorithms and improvement of the work
of your mind

Chapter 39. Algorithmic thinking and two groups of people

Chapter 40. How to eliminate algorithmic illiteracy

Chapter 41. Necessity of cultural changes

Algorithms must be comprehensible (instead of conclusion)

Basic bibliography about the DRAKON language (in Russian)

Index

INTRODUCTION

WHAT DO WE KNOW ABOUT ALGORITHMS?

Many people think that only programmers and mathematicians need algorithms. However, that’s not true. Algorithms can be of use to all or almost all people from doctors and agronomists to chief executive officers.

Why? Because we live in a world of algorithms without even knowing it. Modern civilization is a civilization of algorithms. They surround us everywhere.

Unfortunately, the majority of people cannot read, write and understand algorithms. Luckily, this can be corrected. By reading this book, you will receive the necessary knowledge. For the readers’ convenience, there are plenty of attractive algorithmic pictures created on the principle: “One has looked – and has understood at once! One has glanced – and the entire picture has become clear immediately! “

This book presents new ideas. They are new, but has been thoroughly tested over fifteen years. And proven to work in Russian spaceflight experience.

These ideas will help you open the cherished door to the wonderful kingdom of algorithms.

WHAT IS THE PROBLEM?

Many algorithms are very complicated. Such algorithms are difficult to comprehend. But what does it mean, “to comprehend”? Comprehension of algorithms is a work, a real work. Moreover, it’s a very difficult work. The productivity of this work is very low. One has to make a lot of effort and spend tons of time to reach comprehension.

Can we solve the problem? Can we diminish the difficulties of comprehension? Can we make understanding easier?

Sure! The secret is to make algorithms friendly. Because a friendly algorithm is easy to understand. In this case, people will be able to read and write algorithms with pleasure.

It’s necessary to turn algorithm-puzzles into clear and pleasant algorithm-pictures, which will ensure fast and deep comprehension. The depth of understanding complicated problems — is definitely something we all (from students to ministers) are lacking!

Why are algorithms so difficult to understand? The reason is simple. The existing methods of writing algorithms (accepted throughout the world) have become obsolete.

Of course, they are mathematically accurate. The trouble is they do not take into account the science of human factors – ergonomics. These outdated methods do not consider psycho-physiological characteristics of people. Because of this, they complicate and slow down the work with algorithms.

This is one of the reasons for algorithmic illiteracy of the population.

EASY TO UNDERSTAND AND CONVENIENT FOR WORK

According to current requirements, algorithms must be correct. But it’s not enough. So, we posit a new, additional requirement. Algorithms must be not only correct, but also friendly to human.

What does it mean, “friendly”? It means easy to understand and convenient for work.

This is the noble purpose of ergonomic algorithmic languages. They enhance intellectual comfort and increase productivity. With their help, you will learn how to solve difficult problems quickly and easily. You will be able to plan complicated activities and business processes. To formalize your professional knowledge. And to create algorithms yourself, without asking programmers for help.

Algorithms are a very important part of human culture. The ability to write algorithms improves the work of the mind. With some overstating, one can say, “Algorithms are the second literacy!“

FLOWCHARTS OF ALGORITHMS

There are several techniques for writing algorithms. One of them is flowcharts, which were popular a few decades ago. The International Organization for Standardization published a standard for flowcharts ISO 5807—85.

Reputedly, “flowcharts are falling out of use because they do not give a structured view of a program” and of an algorithm [1, p. 3, 4].

Today most of the experts consider flowcharts outdated. For example, the authors of Unified Modeling Language (UML) decided to ignore flowcharts completely and didn’t include them in the UML diagrams set. This decision is justified, since flowcharts have many serious deficiencies and imperfections.

Nevertheless, the question arises. Do flowcharts have any potential for further evolution?

We affirm that such potential exists undoubtedly. Moreover, we believe that flowcharts have a number of amazing advantages, which are left undiscovered. It is no exaggeration to say that flowchart is a priceless diamond that by the will of fate-stepmother was not polished and inserted into a golden rim. Shortly speaking, the enormous potential capacities of flowcharts are virtually not used.

The goal of this book is to propose the NEW STRATEGY of flowcharts evolution. The new generation of flowcharts must comply with the challenge of modern needs. This allows to turn the ancient flowcharts into ergonomic flowcharts “with a human face”. We will show that the new flowcharts will give algorithms new charming force, unprecedented clearness and other useful properties.

DRAKON-CHARTS

To achieve the goal, flowcharts should be changed drastically. They have to become mathematically strict and ergonomically attractive. To avoid confusion, we have named the new flowcharts as drakon-charts.

Drakon-charts differ from traditional flowcharts as heaven from earth. Flowcharts are too casual, unstructured, and cannot represent many of the necessary constructs (building blocks of an algorithm).

Drakon-charts are free of these defects. They make algorithms well structured and very easy to comprehend. When debugging algorithms, drakon-charts are a highly valuable tool for demonstrating how the algorithms ought to work, and tracking down what might be wrong. But not only.

“Today it is desirable that we have one drawing technique that accomplishes both the overview diagramming and the diagramming of detailed [logic]… The overview diagram should be successfully decomposed into the code structure” [1, p. 5].
Drakon-charts accomplish this requirement.

DRAKON LANGUAGE

Drakon-charts allow building a family of friendly algorithmic languages with a common name DRAKON.

DRAKON (ДРАКОН, dragon) is a Russian abbreviation. When translated from Russian, it means “friendly Russian algorithmic language that guarantees clarity.”

Visual algorithmic language DRAKON has unique ergonomic characteristics that allow creating friendly and precise algorithms.

DRAKON is a means of intellectual mutual understanding and intellectual interaction. It is essential for clear thinking and for human communication. DRAKON facilitates creative process significantly, making it accessible to a wide range of people.
_______________________________________

WHO DEVELOPED THE DRAKON LANGUAGE?

DRAKON was developed by a joint effort between the Russian Federal Space Agency (Academician Pilyugin Center, Moscow) and the Russian Academy of Sciences (Keldysh Institute of Applied Mathematics, Moscow).

DRAKON WAS BORN IN A SPACE CRADLE

DRAKON has emerged as a generalization of experience in creating the spacecraft “Buran”. Based on DRAKON, computer-aided algorithms and programs engineering called “Grafit-Floks” was developed. It is used successfully in many major space projects: “Sea Launch”, “Frigate”, “Proton-M”, etc.

ALGORITHMS WITHOUT PROGRAMMERS

We will not deal with programming in this book. And will focus solely on algorithms.

Algorithmization and programming are two different things. Let’s emphasize the main idea.
__________________________________________
The number of people who need to know algorithms is many times higher than the number of people who need to know programming.
_____________________________________________

Here we encounter a paradox. Algorithms and programs are connected to each other like Siamese twins. It seems they cannot be separated. To write a precise algorithm, students and professionals use keywords of basic structures, such as “if, then, else, case, switch, break, while, do, repeat, until, for”, etc. At the end of this process, an algorithm turns into a program.

The question arises: Is it possible to separate “Siamese twins”? Is it possible to create algorithms without creating programs? And, more importantly, without the participation of programmers?

Yes, it is possible. We will show how this can be done. This book contains fundamentals of algorithmization based on the DRAKON language. Algorithmization, but not programming. With our method, anyone can create algorithms without programmers.

James Martin was the first who proposed programming without programmers [2]. In developing his idea (to some extent), we propose a new technique to create algorithms without programming and without programmers.

HOW MANY PEOPLE WANT TO READ AND, PERHAPS,
WRITE ALGORITHMS THEMSELVES,
WITHOUT THE HELP OF PROGRAMMERS?

According to the Microsoft Corporation, there are 24 million programmers (6 million professionals and 18 million amateurs, i.e. nonprofessional programmers) [3].

We suppose, besides the army of programmers, there is another, even more numerous army — tens or, perhaps, hundreds of millions of professionals who don’t need to know programming, but do need to know algorithms.

Until now, the vast majority of these professionals (physicians, pediatricians, financiers, senior managers, business strategists, physicists, geologists, neurologists, pharmacists, agronomists, chemists, biochemists, education advisers, metallurgists, astronomers, corporate planners, management consultants, microbiologists, economists, environmentalists, psychiatrists, social workers, family therapists, epidemiologists, sociologists, investors, researchers, etc.) have been deprived of such an opportunity. They (of course not all, but majority) are not familiar with algorithms and they don’t know how to write and read them.

The reason is that modern algorithmic notations are unsuitable for quick learning and quick work.

Algorithms based on unfriendly notation are too difficult to understand. They require unreasonable efforts.

The mischief of this fact is that algorithms are available only to the “elite” (to mathematicians and computer programmers) and are no good for all others. This fact erects an insurmountable barrier for many employees whose work is connected with the algorithms, but who do not have spare time (reserves of time) to learn how to express their procedural knowledge in a good form of easy-to-read algorithms.

DRAKON allows implementing a revolutionary change and eliminates these difficulties. Thanks to this innovation, algorithms become more clear, transparent and obvious. Drakon-charts are designed not only for IT professionals. They must satisfy the needs of a huge army of employees.

NEW NEEDS

Marketers say it is possible to create new needs. Needs, which never existed in the past. Two hundred years ago, people knew nothing about cars. Therefore, there were no needs for cars. People used horses and were satisfied.

The language DRAKON may be compared with a car. Our world is a world of algorithms. However, many professionals do not notice them although they meet algorithms in every step. They cannot speak the language of algorithms. They cannot use algorithms to increase quality and productivity of their work.

We believe that DRAKON can help tens or, maybe, hundreds of millions of professionals to speak the language of algorithms. The use of algorithms should become as easy, simple, and familiar as the use of cars.

In our opinion, it is time to put an end to algorithmic illiteracy.

WHAT’S INSIDE

The book consists of eight parts.

Part 1 (chapters 1, 2) is introductory and assigned for beginners. Funny examples of algorithms describing everyday human life are given. Relationship is shown between algorithms and procedural knowledges.

Part 2 (chapter 3—16) is about ergonomic algorithmic language DRAKON. It reviews graphic alphabet of the language, algorithmic structures “silhouette” and “primitive”. It introduces simple and obvious mathematical methods that improve comprehensibility of algorithms. It also shows a wide range of visual (graphic) cyclic algorithms, visual logic, systems of real time, and parallel algorithms. Easy and clear diagrams accompany description of the main ideas.

Part 3 (chapters 17—25) contains a large number of algorithms taken from practical life. These examples demonstrate universality of the language DRAKON, show a wide range of its capabilities for diverse industries and subject fields. They include medicine, industry, agriculture, trade and many others.

Part 4 (chapters 26—29) briefly explains mathematical algorithms. Examples demonstrate working with arrays, data search, etc.

Part 5 (chapters 30, 31) gives conclusive recommendations on creating drakon-charts, using algorithmic structures “silhouette” and “primitive”. The technique of trees’ fragmentation is described. This technique improves understanding of a silhouette.

Part 6 (chapters 32, 33) explains the computer program “Constructor of algorithms”, which is a working tool assisting a human in creating and designing algorithms. A formal description of the language DRAKON is given.

Part 7 (chapters 34—36) goes into theoretical basis of the language DRAKON.

Part 8 (chapters 37—41) covers humanitarian and cultural aspects of algorithmization. And gives an answer to the question: “How to eliminate algorithmic illiteracy? “

REFERENCES

1. Martin, James and McClure, Carma. Diagramming Techniques for Analysts and Programmers. Prentice Hall Inc, Englewood Cliffs, NJ, 1985.

2. Martin, James. Application Development Without Programmers. Prentice Hall Inc, Englewood Cliffs, NJ, 1982.

3. LaMonica, Martin. Microsoft Targets Amateur Programmers. CNET News June 29, 2004. http://news.cnet.com/Microsoft-reaches- ... z1KR7czD8F

Part 1

ALGORITHMS
(PLEASANT EXAMPLES FOR A FIRST ACQUAINTANCE)

Chapter 1

ALGORITHMS — IT’S VERY SIMPLE!


§1. FIRST FAMILIARITY WITH AN ALGORITHM

Let’s assume a mother says to her son,
“Go to the bakery. Buy a loaf of white bread and a loaf of rye bread.“

The mother’s words are an algorithm shown in fig. 1. This algorithm can’t be called a successful one. It doesn’t answer the question what to do if there is no bread at the shop.

To fix that, we have to write another algorithm that takes into consideration real conditions. Let’s suppose that the bakery always has rye bread, and not always — white. In this case, the mother should say,
“Buy a loaf of white and a loaf of rye. If there is no white, take two loaves of rye.“

Verbal formulation of this algorithm is shown in fig. 2, flowchart — in fig. 3.

The last algorithm can’t be called perfect either. How shall the boy act if there’s no rye bread? To consider all possibilities, the mother has to give more complete instructions.
“Run to the bakery. One loaf of white and one loaf of rye. If they have no white, bring two loaves of rye. And on the contrary. If there’s no bread at all, don’t bother.”

Corresponding flowchart is shown in fig. 4.
Fig. 1, Fig. 2, Fig. 3, Fig. 4.

§2. COMPARISON OF ALGORITHMS

Let’s take a look at the three algorithms shown in fig. 1, 3, 4. Which of them should be considered good, and which — bad?

Rule. Algorithm is good if it functions correctly under all real conditions. Otherwise, algorithm is considered bad.

Let’s apply this rule to our algorithms. It’s easy to see that only one algorithm (fig. 4) will work under any conditions.

In fact, if the bakery has both white and rye bread, the imaginary “runner” will move from the start to the end of the algorithm on the left vertical line.

If there’s white but no rye, the runner will go slightly to the right — through the icon “Buy two loaves of white”.

If they have no white but only rye, the runner will go even further to the right — through the icon “Buy two loaves of rye”.

Finally, if there’s no bread at all, the runner will choose the rightmost path — through the icon “There’s no bread. Go home empty-handed.”

What did we find out? The algorithm, which is shown in fig. 4, is a good algorithm as it works under any conditions. And vice versa, the algorithms in fig. 1 and 3 are bad, “incomplete” algorithms.

One can say it in a different way. The algorithm shown in fig. 4 is correct, error-free and able to work. And, on the contrary, the schemes shown in fig. 1 and 3 do not answer the question what to do if there’s no bread at the bakery. Therefore, these algorithms are not able to function; they contain an error. In the fig. 4, the error is corrected.

§3. WHAT IS DRAKON-CHART? WHAT ARE ICONS FOR?

Flowcharts drawn according to the rules of the DRAKON language are called drakon-charts. They consist of simple frames — icons, connected to each other. For example, in fig. 1 there are seven icons. The top one is called “Title”. The one a little lower — “Comment”. The next four — “Action”. The bottom one is called “End”.

§4. ALGORITHM

Every man, while at work, doesn’t behave randomly. Usually he has a clearly defined objective and performs actions necessary for achieving it. Thus, any work (excluding complex creative procedures) can be considered as a well-defined cascade of actions, i. e. an algorithm. It’s easy to notice that algorithms surround us everywhere.

Algorithm is a chain of steps leading to a goal. In other words, it is a sequence of instructions that helps solve the problem.

Instructions of the algorithm can be written in different ways, for example:
• in a form of drakon-chart;
• in a form of text.

To verify this, take a look at fig. 5.

Fig. 5

§5. EVERY INSTRUCTION OF THE ALGORITHM SHOULD BE EXECUTED PRECISELY AND UNIQUELY

Let’s review the algorithm shown in fig. 6. And assume that this algorithm is performed by a robot.
A robot is a typical verbalist. Usually people don't like pedants and verbalists. But the world of algorithms has its own laws. Pedants are in great honor over there. In order for a robot to understand the algorithm, every instruction has to be written in a “verbalistic” manner. That is precisely and uniquely.

Algorithm in fig. 6 is written exactly this way — precisely and unambiguously. It clearly says what has to be bought — a kilo of potatoes and a head of cabbage. This means that all other purchases are forbidden.

And what do we see in fig. 7? Quite a different story. The instruction “Buy groceries” is bad, inaccurate. It can’t be performed. Because it’s nowhere mentioned, what groceries namely should be bought.

Such defaults are unacceptable in algorithms. They are considered as errors.
Fig. 6, Fig. 7, Fig. 8

§6. THE “QUESTION” ICON

In the upper part of fig. 9 one can see the “question” icon. It is called so because it contains a “yes-no” question. That is a question which can only be answered as “yes” or “no“. All other answers are forbidden.

Here are some examples of yes-no questions: Is the iron broken? Have John bought some bread? Is the door open? Was the criminal arrested? Has aunt arrived? Did “Yankees” win? Is this pool bigger than that one? Is the temperature outside above zero?

The “question” icon has one input from the top and two outputs: down and to the right. Output to the left is forbidden and is never used.

There are cases when one needs to choose one action out of two. In this case, it’s convenient to use the “question” icon. When the answer is yes, one action is performed, when no — a different one. The “question” icon is used to make a fork in the algorithm. This is illustrated in fig. 9.

Sometimes, more than one fork is required in the algorithm. Then several “question” icons are used (fig. 4).

§7. CONCLUSIONS

1. Ability to express your thought in a form of algorithm has a lot of advantages. This ability will be helpful to almost everyone as it makes the mind more precise, flexible and effective.

2. Algorithms play a very important role in the life of society. They have an appreciable influence on the efficiency of economics, standard of living and mental development of our civilization.
____________________________________________________

Это самое начало книги. Показываю то, что есть


Последний раз редактировалось Владимир Паронджанов Вторник, 06 Декабрь, 2011 10:34, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 08 Октябрь, 2011 19:27 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Algorithmic language DRAKON guarantees clarity of algori
СообщениеДобавлено: Суббота, 26 Апрель, 2014 19:13 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Attention! It has been almost three years

Dear Colleagues, I present new edition of my book (only Title page and Introduction).

I have made changes and additions because Dahlia Gibson (from Canada) proposed some valuable remarks.
              Цитата:
              Gratitude

              Dear Dahlia, words are inadequate to express my sinсere and heartfelt gratitude to you for all you have done for DRAKON and for me.

==============

Title page

Vladimir Parondzhanov

LEARN TO WRITE, READ AND UNDERSTAND ALGORITHMS

ALGORITHMS FOR CLEAR THINKING


Using DRAKON-charts
for “understanding at a glance”

Basics of algorithmization

====================

INTRODUCTION

WHAT DO WE KNOW ABOUT ALGORITHMS?


Many people think that only programmers and mathematicians need algorithms. However, that’s not true. Algorithms can be of use to almost everyone – from doctors and agronomists to chief executive officers.

Why? Because we live in the world of algorithms, without even knowing it. Modern civilization is a civilization of algorithms. They surround us everywhere. Maybe, you've heard something about how-tos, eHow [1] or wikiHow [2] — the simplest daily life informal algorithms.

Unfortunately, the majority of people can’t read, write or understand algorithms. Luckily, this can be corrected. By reading the book, you will quickly gain the necessary knowledge. As we know, a picture is worth a thousand words. At your service, we offer lots of strict, transparent and amusing algorithmic pictures. They are created on the principle: “Has cast a glance – understood at once!” “Took a look – and any algorithm become clear immediately!”

This book presents new ideas. They are new, but have been thoroughly tested and proven to work in the Russian space programme during eighteen years, from 1996 to 2014. (See page 502). These ideas will help you to open the cherished door to the wonderful kingdom of algorithms.

WHAT IS THE PROBLEM?

Many algorithms are very complicated. They are difficult to understand. Understanding is a hard work, requiring a lot of time and effort.

Can we solve this problem? Is it possible to find a bypass road and save time?

Sure! The secret is to make algorithms friendly. It will allow to turn algorithm-puzzles into clear and pleasing algorithm-pictures to ensure quick and deep comprehension. The depth of understanding complicated problems is a hard question. The all-of-us (from students to presidents of States) are lacking something to get the right answer. Having an easy way to gain a deep understanding can provide enormous advantages.

Why are algorithms so difficult to understand? Because conventional algorithmic notations (accepted throughout the world) have become obsolete.

Of course, they are mathematically accurate. The trouble is they do not take into account the science of human factors – that is, ergonomics. These outdated notations do not consider psychophysiological indices, as well as cognitive, physiological and neuropsychological characteristics of people. This deficiency makes working with algorithms too complicated for the vast majority of people.

It is one of the crucial reasons for algorithmic illiteracy in the general population.

EASY TO UNDERSTAND AND CONVENIENT FOR WORK

This book presents a new look at algorithms. We will show, that algorithms must be not only correct, but also people-friendly. What does “people-friendly” mean? It means easy to understand and convenient to work with.

This is the noble purpose of ergonomical algorithmic languages. They enhance intellectual comfort, reduce effort and increase productivity. With their help, you will learn how to solve difficult problems quickly and easily, with minimum effort. You will be able to plan complicated activities and business processes. To formalize your professional knowledge. And to create algorithms yourself, without asking programmers for help.

Algorithms are an important part of human culture. The ability to write algorithms improves your mind and augments your intelligence. One could argue that algorithms are an essential form of literacy! The motto of this book is — “Algorithms are the second literacy!”

FLOWCHARTS OF ALGORITHMS

There are several techniques for writing algorithms. One of them is flowcharts, which were popular a few decades ago. The International Organization for Standardization even published a standard for flowcharts (ISO 5807 – 85).

Reputedly, “flowcharts are falling out of use because they do not give a structured view of a program” [3].

Bertrand Meyer writes:
“Flowcharts lost reputation in programming (some authors now call them not ‘flowchart’, but ‘flaw chart’)” [4].

Today most experts consider flowcharts outdated. For example, the authors of Unified Modeling Language (UML) decided to ignore flowcharts completely and didn’t include them in the UML diagrams set. This decision is justified, since flowcharts have many serious deficiencies and problems.

Nevertheless, the question arises. Have flowcharts any potential for further evolution?

We affirm that such potential exists undoubtedly. Moreover, we believe that flowcharts have a number of amazing advantages, which are left undiscovered. It is no exaggeration to say that flowchart is a priceless diamond that by the will of fate-stepmother was not polished and inserted into a golden rim. Shortly speaking, the enormous potential capacities of flowcharts are virtually not used.

The goal of this book is to propose the NEW STRATEGY of flowcharts evolution. The new generation of flowcharts must comply with the challenge of modern needs. This allows you to turn the ancient flowcharts into ergonomic flowcharts “with a human face.” We will show that the new flowcharts will give algorithms new charming force, unprecedented clearness and other useful properties.

DRAKON-CHARTS

To achieve the goal, flowcharts should be changed drastically. They have to become mathematically rigorous and ergonomically attractive. To avoid confusion, we have named the new flowcharts as DRAKON-charts.

DRAKON-charts differ from traditional flowcharts as heaven from earth. Flowcharts are too haphazard, unstructured, and poor in expression. They cannot represent many of the necessary constructs (building blocks of an algorithm).

DRAKON-charts are free of these defects. They make algorithms well structured and very easy to comprehend. When debugging algorithms, DRAKON-charts are a highly valuable tool for demonstrating how the algorithms ought to work, and tracking down what might be wrong. But not only.

“Today it is desirable that we have one drawing technique that accomplishes both the overview diagramming and the diagramming of detailed [logic]... The overview diagram should be successfully decomposed into the code structure” [5].

DRAKON-charts meet this requirement.

DRAKON LANGUAGE

DRAKON-charts let you to build a family of friendly algorithmic languages with a common name DRAKON.

The abbrebiation DRAKON comes from the Russian word DRAKON, which is a backronym for Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность, meaning “friendly Russian algorithmic language that guarantees clarity”.

The visual algorithmic language DRAKON has unique ergonomical characteristics. They allow you to create not only friendly and precise algorithms, but also any complicated hierarchical multi-stage algorithmic system, consisting of many algorithms, interacting to each other.

Besides, DRAKON is a means of intellectual mutual understanding and intellectual interaction. It is essential both for clear thinking and for human communication.

DRAKON facilitates the creative process significantly, making it accessible to a wide range of people [6 – 13].

WHO DEVELOPED THE DRAKON LANGUAGE?

DRAKON was developed by a joint effort between the Russian Federal Space Agency (Academician Pilyugin Center, Moscow) and the Russian Academy of Sciences (Keldysh Institute of Applied Mathematics, Moscow).

DRAKON WAS BORN IN A SPACE CRADLE

DRAKON was developed as the generalization of the Russian experience in creating the spacecraft “Buran.” Based on DRAKON, automated CASE programming system called "GRAFIT-FLOKS" was developed.

It is used successfully in many major space projects, including “Sea Launch,” “Frigate,” “Proton-M,” and others.

ALGORITHMS WITHOUT PROGRAMMERS

We will not deal with programming in this book. And will focus solely on algorithms. Algorithmization and programming are two different things. Let’s emphasize the main idea:

The number of people who need to know algorithms is many times higher than the number of people who need to know programming.

Here we encounter a paradox. Algorithms and programs are connected to each other like Siamese twins. It seems they cannot be separated. To write an algorithm, programmers use some mysterious signs, known as control keywords. Here they are: “if, then, else, ifelse, case, switch, break, while, do, repeat, until, for, loop, continue, goto”, and so on. At the end of this mysterious process, an algorithm turns into a program.

The question arises: Is it possible to separate “Siamese twins”? Is it possible to create algorithms without creating programs?

Yes, it is possible. We will explain in detail how this can be done. This book teaches fundamentals of algorithmization based on the DRAKON language. Algorithmization, but not programming. With our method, anyone can create algorithms without the participation of programmers.

James Martin was the first who suggested programming without programmers [12]. Developing his idea, we propose a new technique to create algorithms without programming. And without mysterious programmers’ signs that scare the uninitiated. This means that the dictatorship of the programmers came to an end in the kingdom of algorithms.

HOW MANY PEOPLE WANT TO READ AND, PERHAPS, WRITE ALGORITHMS THEMSELVES, WITHOUT THE HELP OF PROGRAMMERS?

According to the Microsoft Corporation, there are 24 million programmers (6 million professionals and 18 million amateurs, i.e. nonprofessional programmers) [13].

We suppose that, besides the army of programmers, there is another, even more numerous army – tens or, maybe, hundreds of millions of professionals who don’t need to know programming, but do need to know algorithms.

Who are they?
            They are accountants, actuaries, administrators, agricultural scientists, agronomists, analysts, archaeologists, architects, astronomers, biochemists, business strategists, biologists, chemists, corporate planners, designers, directors, economists, education advisers, engineers, entrepreneurs, environmentalists, epidemiologists, family therapists, farmers, financial planners, financiers, geologists, government officials, inventors, investors, journalists, judges, law enforcement officers, lawyers, managers, management consultants, mechanics, metallurgists, microbiologists, neurologists, pediatricians, pharmacists, physicians, physicists, planners, politicians, producers, psychologists, public servants, researchers, salespeople, senior managers, social scientists, social workers, sociologists, spiritual leaders, statisticians, students, teachers, technologists, business trainers, and many others.


Until now, the vast majority of these professionals have been deprived of such an opportunity. Most of them are not familiar with algorithms at all. The algorithmic illiteracy means that these specialists don’t know how to write and read algorithms. Algorithms, describing their own work.

The reason, as was said above, is that modern algorithmic notations, especially mysterious signs, are unsuitable for quick learning and quick work. Algorithms based on unfriendly notation are too difficult to understand. They are a heavy burden and require unreasonable efforts.

The mischief is that algorithms are available only to the “elite” (to programmers and mathematicians) and are no good for all others. It erects an insurmountable barrier for many employees whose work is connected with the algorithms, but who do not have spare time (reserves of time) to learn how to express their own procedural knowledge in a good form of easy-to-read algorithms. As a result, many people who could benefit greatly from algorithms never get the chance.

Russian DRAKON allows you to implement a revolutionary change and eliminate these difficulties. Thanks to this innovation, algorithms become more clear, transparent and obvious, than ever before. DRAKON-charts are not just for IT professionals. They are for everyone, satisfying the needs of a huge army of employees. They are for everyone, even for the children [14 – 16].

NEW NEEDS

Marketers say it is possible to create new needs. Needs, which never existed in the past. Two hundred years ago, people knew nothing about cars. Therefore, there were no needs for cars. People used horses and were satisfied.

The DRAKON language may be compared with a car. Our world is a world of algorithms. However, many professionals do not notice them, although they meet algorithms in every step. They cannot speak the language of algorithms. They cannot use algorithms to increase quality and productivity of their own work.

We believe that DRAKON can help tens or even hundreds of millions of professionals to speak the language of algorithms. The use of algorithms should become as simple and familiar as the use of cars.

In our opinion, it is time to put an end to algorithmic illiteracy.

WHAT’S INSIDE

The book consists of eight parts.

Part 1 (Chapters 1, 2) is introductory and assigned for beginners. Funny examples of algorithms describing everyday life are given. The relationship between algorithms and procedural knowledge is explained.

Part 2 (Chapter 3 – 16) is about ergonomical algorithmic language DRAKON. It reviews the graphical alphabet of the language, and the “silhouette” and “primitive” algorithmic structures. It introduces simple and obvious mathematical methods that improve understandability of algorithms. It also shows a wide range of visual (graphical) cyclic algorithms, visual logic, real-time systems and parallel algorithms. Easy and clear diagrams (DRAKON-charts) accompany the description of the main ideas.

Part 3 (Chapters 17 – 25) contains lots of examples of real life algorithms. These examples describe universality of the DRAKON language and its application in a wide range of fields. They include medicine, industry, agriculture, trade, and others.

Part 4 (Chapters 26 – 29) use an "alien" theme for this book — programming. It briefly explains the simplest mathematical algorithms. Examples demonstrate working with arrays, data search, etc. This Chapter is a little bridge to such serious manuals as “Introduction to Algorithms” by Thomas Cormen et al. [17].

Part 5 (Chapters 30, 31) gives conclusive recommendations on creating DRAKON-charts, using algorithmic structures “silhouette” and “primitive.” The technique of trees’ fragmentation is described. This technique improves understanding of a silhouette.

Part 6 (Chapters 32, 33) explains the computer program “Constructor of algorithms” – a tool to assist you in creating and designing algorithms. A formal description of the DRAKON language is given.

Part 7 (Chapters 34 – 36) presents the theoretical foundation of the DRAKON language.

Part 8 (Chapters 37 – 41) considers humanitarian and cultural aspects of algorithmization. And explains, how to eliminate algorithmic illiteracy.

REFERENCES

1. EHow. (2014, April 25). In Wikipedia, The Free Encyclopedia. Retrieved 05:57, April 25, 2014, from http://en.wikipedia.org/w/index.php?tit ... =605709073

2. WikiHow. (2014, April 2). In Wikipedia, The Free Encyclopedia. Retrieved 06:54, April 25, 2014, from http://en.wikipedia.org/w/index.php?tit ... =602402468

3. Martin, James and McClure, Carma. Diagramming Techniques for Analysts and Programmers. Prentice Hall Inc, Englewood Cliffs, NJ, 1985. — 396p. — P. 3, 4.

4. Meyer, Bertrand. Touch of Class. Learning to Program Well with Objects and Contracts. Springer Verlag, 2009. — 876p. — (Chapter 7. Control structures. 7.7 The lower level: branching instructions. Flowcharts).

5. Martin, James and McClure, Carma. Ibid. — p. 5.

6. Parondzhanov V. D. Visual Syntax of the DRAGON Language // Programming and Computer Software, 01 / 1995; Volume 21 (Issue 3): p. 142 – 153.

7. Parondzhanov V. D. How to improve the workings of the mind. New Means for Pictorial Representation of Knowledge, Development of Intelligence and Mutual Understanding. — (Only in Russian). — Паронджанов В. Д. Как улучшить работу ума. (Новые средства для образного представления знаний, развития интеллекта и взаимопонимания). — М.: Радио и связь, 1998, 1999. — 352 с. — Иллюстраций: 154.

8. Parondzhanov V. D. How to improve the workings of the mind. Algorithms without programmers — it's very simple! — (Only in Russian). — Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! — М.: Дело, 2001. – 360 с. — Иллюстраций: 154. http://drakon.su/_media/biblioteka_1/pa ... u_uma_.pdf

9. Parondzhanov V. D. Why the Sage is Like a Monkey, or a paradoxical encyclopedia of contemporary wisdom. — (Only in Russian). — Паронджанов В. Д. Почему мудрец похож на обезьяну, или Парадоксальная энциклопедия современной мудрости. — М.: РИПОЛ Классик, 2007. — 1154 с. — Иллюстраций: 245. — С. 295 – 434.

10. Parondzhanov V. D. The DRAKON Language. Short Description. — (Only in Russian). — Паронджанов В. Д. Язык ДРАКОН. Краткое описание. — М.: 2009. – 124 с. http://drakon.su/_media/biblioteka/drak ... iption.pdf

11. Parondzhanov V. D. Friendly algorithms, understandable to everyone. (How to improve the workings of the mind, without extra trouble). — (Only in Russian). — Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому. (Как улучшить работу ума без лишних хлопот). — М.: ДМК-пресс, 2010. — 464 с. — Иллюстраций: 233.

12. Martin, James. Application Development Without Programmers. Prentice Hall Inc, Englewood Cliffs, NJ, 1982.

13. LaMonica, Martin. Microsoft Targets Amateur Programmers. CNET News June 29, 2004. http://news.cnet.com/Microsoft-reaches- ... z1KR7czD8F

14. Parondzhanov V. D. Entertaining Computer Science. DRAKON Language for Kids. — (Only in Russian). — Паронджанов В. Д. Занимательная информатика. — М.: Росмэн, 1998. – 152с. — Иллюстраций: 200. (Язык ДРАКОН для школьников).

15. Parondzhanov V. D. Entertaining Computer Science. DRAKON Language for Kids. — (Only in Russian). — Паронджанов В. Д. Занимательная информатика. — М.: Росмэн, 2000. — 160с. — Иллюстраций: 207. (Язык ДРАКОН для школьников).

16. Parondzhanov V. D. Entertaining Computer Science. DRAKON Language for Kids. — (Only in Russian). — Паронджанов В. Д. Занимательная информатика. — М.: Дрофа, 2007. — 192с. — Иллюстраций: 240. (Пособие по теме «Алгоритмы» для учащихся 5–9 классов, построенное на основе языка ДРАКОН).

17. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. Introduction to Algorithms. Third Edition. — The MIT Press, Cambridge, Massachusets, 2009. — 1292p.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Algorithmic language DRAKON guarantees clarity of algori
СообщениеДобавлено: Понедельник, 28 Апрель, 2014 07:03 

Зарегистрирован: Вторник, 13 Декабрь, 2011 15:31
Сообщения: 113
Книга для изучения ДРАКОН-а на английском языке очень актуальна. Когда примерно планируется выход книги?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Algorithmic language DRAKON guarantees clarity of algori
СообщениеДобавлено: Пятница, 02 Май, 2014 12:56 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
vasili111 писал(а):
Книга для изучения ДРАКОН-а на английском языке очень актуальна. Когда примерно планируется выход книги?

Наверно, в конце 2014 года. Или в начале 2015 года.

Это оптимистическая оценка. Ситуация такова.
В русской книге 520 страниц. В Литве мне перевели на английский почти все (520 страниц). Но перевод очень слабый, ошибок множество. Я исправляю ошибки сам.

На сегодня я исправил 266 страниц — это половина книги . И отослал в Литву на переделку. Они должны переверстать книгу (pdf) и снова прислать мне верстку на проверку. Надеюсь, что половина книги на английском будет готова к октябрю. Эту половину я собираюсь послать в издательство.
В какое издательство? Наверно в Wiley.

Подробности можно найти здесь


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB