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.