In order to write applications of different levels of complexity, you first need to gain knowledge on how to do it. And it is desirable to start from the very basis of algorithmization and programming. That's what we'll talk about in the article.
What is computer science?
This is the name of a complex technical science, the task of which is to systematize the methods of creating, processing, transmitting, storing and reproducing data using computer technology. It also includes the principles of operation and management methods that help achieve the goal. The term "computer science" itself is of French origin and is a hybrid of the words "information" and "automation". It arose due to the development and dissemination of new technologies for collecting, processing and transmitting data, which were associated with their fixation on machine media. This is the origin of computer science. The basics of algorithmization and programming are one of the most important areas of this science.
What is shedoing?
Informatics faces the following tasks:
- Hardware and software support for computer technology.
- Means for ensuring the interaction of human and computer components with each other.
The term "interface" is often used to refer to the technical part. Here we have a free program. The basics of algorithmization and programming are always used when creating products of mass distribution that "should" win a wide audience. Indeed, for popularity, the developed application must work and look optimally.
Representation of algorithms
They can be written in a significant number of ways. The most popular are the following:
- Verbal-formula description. This implies the placement of text and specific formulas that will explain the features of the interaction in all individual cases.
- Flow diagram. The presence of graphic symbols is implied, which make it possible to understand the features of the interaction of the program within itself and with other applications or the hardware component of the computer. Each of them can be responsible for a separate function, procedure or formula.
- Algorithmic languages. It implies the creation of separate ways of describing for specific cases, which show the features and sequence of tasks.
- Operator schemes. Prototyping is implied - it will show the interaction based on the paths thatindividual operands will pass through.
Pseudocode. A sketch of the backbone of the program.
Recording the algorithm
How to start creating your prototype of a program, function or procedure? To do this, it is enough to use the following general recommendations:
- Each algorithm should have its own name, which explains its meaning.
- Be sure to take care of the presence of the beginning and end.
- Input and output data must be described.
- Specify commands that will perform certain actions on specific information.
Writing methods
There can be as many as five representations of the algorithm. But there are only two ways to write:
- Formal verbal. It is characterized by the fact that the description is made mainly with the use of formulas and words. The content, as well as the sequence of execution of the algorithm steps in this case, is written in a natural professional language in an arbitrary form.
- Graphic. The most common. Block symbols or schemes of algorithms are used for it. The connection between them is shown using special lines.
Developing the program structure
There are three main types:
- Linear. With this structure, all actions are performed sequentially in order of priority and only once. The circuit looks like a sequenceblocks arranged from top to bottom, depending on the order in which they are executed. The resulting primary and intermediate data cannot affect the direction of the computational process.
- Branching. Has found wide application in practice, in solving complex problems. So, if it is necessary to take into account the initial conditions or intermediate results, then the necessary calculations are performed in accordance with them and the direction of the computational process may change depending on the result obtained.
Cyclic. To make it easier for yourself to work with many tasks, it makes sense to repeat some sections of the program code many times. In order not to prescribe how many times and what needs to be done, a cyclic structure is used. It provides for a sequence of commands that will be repeated until a given condition is met. The use of loops allows you to significantly reduce the complexity of writing a program.
Programming
It is important to choose the programming language in which programs will be created. It should be noted that many of them are “tailored” for specific working conditions (for example, in a browser). In general, programming languages are divided into two groups:
- Functional.
- Operator:
- non procedural;
- procedural.
Can you guess which ones are most commonly used? Operator-procedural - that's the answer. They can be machine oriented or independent. The first ones areassemblers, autocodes, symbolic coding. Independents are divided based on their orientation:
- procedural;
- problematic;
- object.
Each of them has its own scope. But for writing programs (useful applications or games), object-oriented languages are most often used. Of course, you can use others, but the fact is that they are the most developed for creating final consumer products for the masses. Yes, and if you don’t yet have an exact vision of where to start, I suggest paying attention to the basics of algorithmization and object-oriented programming. Now this is a very popular area in which you can find a lot of educational material. In general, the basics of algorithmization and programming languages are now needed due to the fact that there is a lack of qualified developers, and their importance will only grow in the future.
Conclusion
When working with algorithms (and subsequently with programs), one should strive to think through all the details to the smallest. Subsequently, the identification of each undeveloped section of the code will only lead to additional work, an increase in development costs and the timing of the task. Careful planning and elaboration of all the nuances will significantly save time, effort and money. Well, now they can say that after reading this article, you have an idea about the basics of algorithmization and programming. It remains only to apply this knowledge. If theredesire to study the topic in more detail, I can advise the book "Fundamentals of Algorithmization and Programming" (Semakin, Shestakov) 2012.