Fundamental Concepts in Computer Programming and Algorithms
Algorithm
Algorithms are specific procedures that show a step-by-step solution to a problem and guarantee the achievement of a solution if they are relevant to the problem.
Datum
It is all the performance of an institution that is susceptible to treatment either in a computer program or process. For example, the name, surname, and age are data from a person (entity). In other words, data is a representation of reality.
Information
A valuable message to a receiver or a result of data processing.
Computer
A machine capable of accepting input data, processing it, and delivering output results (information).
Program
A set of instructions written in any programming language and executed sequentially to solve a specific problem. Any program must pass through product development stages to reach the final product.
Coding
Consists of translating the algorithm to some programming language, which creates understandable instructions executable by the computer. Some of these languages can be Pascal, C, C++, Visual Basic, Java, etc.
Input Devices
As the name implies, they are used to enter data into the computer for processing. The data is read from the input devices and stored in the main memory or internal memory. Examples: keyboard, scanner, mouse, joystick, stylus, etc.
Control Unit
Coordinates the activities of the computer and determines which operations should be performed and in what order. It controls the whole process of the computer.
Arithmetic Unit – Logic
Performs arithmetic and logical operations such as addition, subtraction, multiplication, division, and comparisons.
Output Devices
Return processed data that serves as information to the user. Examples: monitor, printer.
Central or Internal Memory
The CPU uses the computer’s memory to store information while you work. While this information remains in memory, the computer can access it directly. This internally built memory is called random access memory (RAM).
RAM (Random Access Memory)
It is also called main memory or user memory. It stores information only while the computer is on. When the computer is shut down or restarted, the information is lost, so it is said that RAM is volatile memory.
ROM (Read Only Memory)
It is a static memory that cannot be changed. The computer can read data stored in ROM, but you cannot enter data into it or change the data there. Hence, it is said that this memory is read-only. The data in ROM memory are permanently recorded and are placed by the manufacturer of the computer.
Auxiliary Memory (External)
This is where you store all your programs or data that the user wants. The most commonly used storage or auxiliary memory devices (external or secondary) are magnetic tapes, magnetic disks, and optical disks.
Qualitative Algorithms
These are algorithms in which the steps are described using words.
Quantitative Algorithms
These are algorithms in which numerical calculations are used to define the process steps.
Algorithmic Language
It is a series of symbols and rules used to describe a process explicitly.
Flowchart
For algorithm design, representation techniques are used. One of these techniques is Flow Diagrams (DDF), which is defined as the graphic representation by the use of standard symbols connected by flow lines. They show the logical sequence of operations or actions to be taken by a computer and the data stream or flow in the resolution of a problem.
Variable
A variable is considered a memory area referenced by a name where you can store a data value that can be changed at any time. The name of the variable is chosen by the user but must follow certain rules. A variable is not a factor but a memory area containing a given value. For each variable, the computer assigns a memory address. When reference is made to that variable, the computer will always refer to that address.
Constant
It is a memory location referenced by a name, which stores a value that cannot be changed and remains unchanged throughout the process. It has the same characteristics as variables.
Counter
A counter is a variable whose value increases or decreases by a constant amount each time there is a particular event or action. Counters are used in repetition structures in order to track events or actions within an internal loop or cycle.
Accumulator
These are variables whose value increases or decreases in a variable amount. Like counters, they also need to be initialized outside the loop.
Switch Concept
A switch or flag is a variable that can take the values 1 (true) or 0 (false) during the execution of a program, giving information from one part to another of the same program. It can be used to control a loop.
Definition of Loop or Cycle
In computing, most of the time, the computer performs tasks that are repetitive. The only thing that varies is the values of the data that are being processed. A loop or cycle is the whole process that is repeated a number of times within a program.
Data Structure
Until now, a factor implies a variable. The problem exists when we have a large amount of related data, each requiring a different variable.
Search
The search operation is to determine whether a given element belongs or not to a set of elements that form part of a settlement and, if so, to indicate the position that the component occupies.
Archive
Define a file as a set of data that is physically located on an external memory support, either a floppy disk or others, so that the data can be used or modified. It corresponds to an external data structure. A file is composed of a set of logical records, referenced with a name and extension. For example: datos.txt
Record
It is up to each of the components of the file. A record is a variable defined by the programmer, consisting of a set of variables that are referenced under the same name.
Field
A record is composed of smaller units called fields, each of which can contain data of various types, which are related to each other because they all refer to the same single entity.