Está en la página 1de 8

Instituto Tecnológico de Las Américas

Ángel Leonel Santamaría Herrera


2022-0308

Introducción a la elaboración de los algoritmos


Prof. Gilberto Elias Vittini

Resumen capitulo 3 y 4
13/6/2022
Capítulo 3: Estructura general de un programa
El capítulo 3 habla en general las estructuras de un programa ósea de su elaboración y
pautas a seguir para un correcto desarrollo primero vamos a hablar de las instrucciones.
Instrucciones y tipos de instrucciones: El proceso de diseño del algoritmo o luego de
codificación del programa se basa en conceptualizar las actividades o instrucciones que
resolverán el problema. Las ocupaciones o indicaciones se tienen que redactar y luego
guardar en memoria en el mismo orden en que han de ejecutarse, o sea, en sucesión. Un
programa podría ser lineal o no lineal. Un programa es lineal si las normas se ejecutan
secuencialmente, sin bifurcaciones, elección ni comparaciones.
1. instrucciones de inicio/fin,
2. instrucciones de asignación,
3. instrucciones de lectura,
4. instrucciones de escritura,
5. instrucciones de bifurcación

Elementos básicos de un programa:


En programación se debería dividir la diferencia entre el diseño del algoritmo y su
utilización en un lenguaje Por esto, se debería diferenciar precisamente entre los
conceptos de programación y el medio en que ellos se programación y, la educación de
un nuevo lenguaje es subjetivamente simple. Los lenguajes de programación como los
restantes lenguajes poseen recursos básicos que se aplican como bloques constructivos,
así como normas para las que aquellos recursos se combinan. Estas normas se llaman
sintaxis Los recursos básicos constitutivos de un programa o algoritmo son:
• palabras reservadas (inicio, fin, si-entonces..., etc.),
• identificadores (nombres de variables esencialmente, procedimientos, funciones,
nombre del programa, etc.),
• caracteres especiales (coma, apóstrofo, etc.),
• constantes,
• variables,
• expresiones,
• instrucciones.
Además de dichos recursos básicos, hay otros recursos que son parte de los programas,
cuya comprensión y desempeño va a ser esencial para el conveniente diseño de un
algoritmo y naturalmente la codificación del programa.
Estos recursos son:
bucles, contadores, acumuladores, interruptores y estructuras: secuenciales, selectivas y
repetitivas.
Datos, tipos de datos y operaciones primitivas:
Los algoritmos y los programas que corresponden operan sobre aquellos tipos de datos.
La acción de las indicaciones ejecutables de las computadoras se refleja en cambios en
los valores de las partidas Los datos de entrada se convierten por el programa, luego de
los periodos intermedias, en datos de salida. En el proceso de resolución de
inconvenientes el diseño de la composición de datos es tan fundamental como el diseño
del algoritmo y del programa que se fundamenta en el mismo. Un programa de
Computadoraopera sobre datos (almacenados internamente en la memoria almacenados
en medios externos como discos, memorias USB, memorias de teléfonos celulares,
etcétera., o bien introducidos a partir de un dispositivo como un teclado, un escáner o un
sensor eléctrico).
El tipo de datos establece cómo se representan los datos en la PC y los diferentes procesos
que esa computadora ejecuta con ellos.
Hay dos tipos de datos en un lenguaje de secuencias de comandos: datos básicos, datos
incrustados o datos incrustados (estándar). Programación; definida por el programador o
el usuario. Además de los datos básicos o simples, también se pueden construir otros
datos a partir de estos datos, lo que da como resultado datos. Datos compuestos o
agregados como estructuras, uniones, enumeraciones (subrangos, como casos específicos
enumeraciones, como sucede en Pascal), vectores o matrices/tablas y string "arrays o
arreglos"; en lenguajes como C y C++ existen otros datos especiales llamados punteros y
Referirse a. Hay 2 tipos de datos: primordiales (sin estructura) y compuestos
(estructurados). Los datos estructurados son conjuntos de partidas de datos básicas con
interacciones definidas entre ellos. Los diversos tipos de datos se representan en
diferentes maneras en la computadora. A grado de máquina, un dato es un grupo o
sucesión de bits (dígitos 0 o 1). Los idiomas de elevado grado permiten fundamentarse
en abstracciones y desconocer los detalles de la representación interna. Surge el término
de tipo de datos, así como su representación. Los tipos de datos básicos son los siguientes:
Numéricos (entero, real): El tipo numérico es el conjunto de los valores numéricos.
Estos pueden representarse en dos formas distintas:
• tipo numérico entero (integer).
• tipo numérico real (real).
Enteros: el tipo entero es un subconjunto finito de los números enteros. Los enteros son
números completos, no tienen componentes fraccionarios o decimales y pueden ser
negativos o positivos.
Reales: el tipo real se apoya en un subconjunto de los números reales. Los números reales
continuamente poseen un punto decimal y tienen la posibilidad de ser positivos o
negativos. Un número real consta de un completo y una sección decimal.
Lógicos (boolean): el tipo lógico —también nombrado booleano— es ese dato que
únicamente puede tomar uno de dos va lores: cierto o verdadero (true) y falso (false). Esta
clase de datos se usa para representar las alternativas (sí/no) a determinadas condiciones.
Ejemplificando, una vez que se exige si un costo completo es par, la contestación va a ser
verdadera o falsa, según sea par o impar.
Carácter (carácter, cadena): el tipo carácter es el grupo limitado y ordenado de letras y
números que la computadora reconoce. Un dato tipo carácter
tiene un solo carácter. Los letras y números que reconocen las distintas computadoras no
son estándar; no obstante,
la mayor parte reconoce los próximos letras y números alfabéticos y numéricos:
• Caracteres alfabéticos (A, B, C, ..., Z) (a, b, c, ..., z),
• Caracteres numéricos (1, 2, ..., 9, 0),
• Caracteres especiales (+, -, *, /, ^, ., ;, , $, ...).
Una cadena (string) de letras y números es una serie de letras y números que se hallan
delimitados por una comilla (apóstrofo) o dobles comillas, conforme el tipo de lenguaje
de programación. La longitud de una cadena de letras y números es el número de ellos
entendidos entre los separadores o limitadores. Ciertos idiomas poseen datos tipo cadena.
Constantes y variables: Los programas de computadora tienen dentro ciertos valores
que no tienen que modificar a lo largo de la ejecución del programa. Tales valores se
denominan constantes. Del mismo modo, hay otros valores que cambiarán a lo largo de
la ejecución del programa; a dichos valores se les llama variables. Una constante es un
dato que permanece sin cambios a lo largo de todo el desarrollo del algoritmo o a lo largo
de la ejecución del programa.
Una variable: es un objeto o tipo de datos cuyo valor puede cambiar durante el desarrollo
del algoritmo o la ejecución del programa. Dependiendo del idioma, existen diferentes
tipos de variables como números enteros, reales, caracteres, lógico y de cadena. Las
variables de cierto tipo solo pueden tomar valores de ese tipo. una variable, Por ejemplo,
una variable de carácter solo puede tomar caracteres como su valor, mientras que una
variable entera solo puede tomar caracteres. Valor entero. Intentar asignar un valor de un
tipo a una variable de otro tipo resultará en un error de tipo. Una variable se identifica
por las siguientes propiedades: el nombre que se le asigna y el tipo que describe la variable
utilizada. Los nombres de variables, a veces denominados identificadores, suelen constar
de varios caracteres alfanuméricos, el primero de los cuales suele ser una letra.
Normalmente los identificadores de las variables y de las constantes con nombre deben
ser declaradas en los programas antes de ser utilizadas. Normalmente los identificadores
de las variables y de las constantes con nombre deben ser declaradas en los programas
antes de ser utilizadas. La sintaxis de la declaración de una variable suele ser:
<tipo_de_dato> <nombre_variable> [=<expresión>]

Las expresiones:
son combinaciones de constantes, cambiantes, símbolos de operación, paréntesis y
nombres de funcionalidades especiales. Cada expresión toma un costo que se establece
tomando los valores de las cambiantes y constantes implicadas y la ejecución de las
operaciones indicadas. Una expresión consta de operandos y operadores. Según sea el
tipo de objetos que manipulan, las expresiones se ordenan en:
• Aritméticas: Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las
variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.
• relacionales: los operadores relacionales son símbolos que se usan para comparar dos
valores. Si el resultado de la comparación es correcto la expresión considerada es
verdadera, en caso contrario es falsa.
• lógicas: Sirven para plantear condiciones o comparaciones y dan como resultado un
valor booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se
pueden clasificar en simples y complejas, las simples son las que usan operadores
relacionales y las complejas las que usan operadores lógicos.
• carácter: Aunque no existe ningún operador de caracteres, sí que existen expresiones
de carácter. De la evaluación de una expresión de carácter siempre se obtiene un valor de
tipo carácter.

Entrada y salida de información:


Los cálculos que hacen las computadoras necesitan para ser útiles el acceso de los datos
necesarios para realizar las operaciones que luego se van a convertir en resultados, o sea,
salida. Las operaciones de acceso permiten leer determinados valores y asignarlos a
determinadas cambiantes. Esta entrada se sabe cómo operación de lectura (read). Los
datos de acceso se introducen al procesador por medio de dispositivos de acceso (teclado,
tarjetas perforadas, unidades de disco, etcétera.). La salida puede aparecer en un
dispositivo de salida (pantalla, impresora, etcétera.). La operación de salida se llama
escritura (write). En la escritura de algoritmos las actividades de lectura y escritura se
representan por los formatos siguientes: leer (lista de variables de entrada) y escribir (lista
de variables de salida
Los algoritmos escritos con herramientas de programación deben ser lo más claros y
estructurados posible, Por tanto, su lectura facilita mucho la comprensión del algoritmo
y su posterior codificación. Lenguaje de programación. Los algoritmos deben estar
escritos en un lenguaje similar a un programa. En nuestro libro, usaremos principalmente
lenguajes algorítmicos basados en pseudocódigo, y la estructura de los algoritmos
requerirá la lógica de programas escritos en lenguajes de programación estructurados,
como Pascal. Un algoritmo constará de dos partes: un encabezado de programa y un
bloque de algoritmo. título Un programa es una acción simple que comienza con un
algoritmo. La palabra irá seguida del nombre. asignado a todo el programa. Un bloque de
algoritmo es el resto del programa y consta de dos componentes o partes: acciones
declarativas y acciones ejecutables.
Las declaraciones definen o declaran las variables y constantes que tengan nombres.
algoritmo
cabecera del programa
sección de declaración
sección de acciones
CAPÍTULO 4: Flujo de control: Estructuras selectivas
Uno de los principales adelantos ha sido el reconocimiento a fines de los sesenta de que
cualquier algoritmo, no importaba su dificultad, podía ser construido usando
combinaciones de 3 construcciones de control de flujo estandarizadas (secuencial,
selección, repetitiva o iterativa) y una cuarta denominada, invocación o salto (“jump”).
Las sentencias de selección son: si (if) y según-sea (switch); las sentencias de repetición
o iterativas son: desde (for), mientras (while), hacer-mientras (do-while) o repetir-hasta
que (repeat-until); las sentencias de salto o bifurcación incluyen romper (break), continuar
(continue), ir-a (goto), volver (return) y lanzar (throw).
El concepto flujo de control hace referencia al orden en que se ejecutan las sentencias del
programa. usados son secuenciación y control del flujo. A menos que se especifique
expresamente, el flujo regular de control este término supone que las sentencias se
ejecutan en sucesión, una luego de otra, en el orden en que se encuentran dentro del
programa. Las construcciones de selección, repetición e invocación permiten que el flujo
secuencial del programa sea modificado en un modo preciso y determinado con
anterioridad. se puede deducir de forma fácil, las construcciones de selección se aplican
para elegir cuáles sentencias se han de realizar después y las construcciones de repetición
(repetitivas o iterativas) se usan para repetir un grupo de sentencias.
Esta ejecución, como ya se ha hablado, se llama ejecución secuencial. En ejecución
secuencial, constantemente ejecutará exactamente las mismas actividades; es incapaz de
reaccionar en contestación las medidas de los lados son positivas; la ejecución de una
separación se hace, únicamente si el divisor no es cero; la visualización de mensajes
diferentes es dependiente del costo de una nota recibida, etcétera. una bifurcación
(“branch”, en inglés) es un segmento de programa construida con una sentencia o un
conjunto de una sentencia de bifurcación se usa para realizar una sentencia de entre
algunas o bien bloques de sentencias.

Estructura Secuencial
Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en
secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el final del proceso.
La estructura secuencial tiene una entrada y una salida. Su representación gráfica se
muestra en las Figuras 4.1, 4.2 y 4.3.

Estructuras Selectivas
La descripción formal de algoritmos tiene en realidad utilidad una vez que el algoritmo
necesita una explicación más complicada que una lista fácil de indicaciones. Este es la
situación una vez que hay un número de probables alternativas resultantes de la
evaluación de una cierta condición. Las construcciones selectivas se usan para tomar
elecciones lógicas; de allí que se suelan nombrar además construcciones de elección o
alternativas.
En las construcciones selectivas se evalúa una condición y en funcionalidad del resultado
de la misma se convicta liza una alternativa u otra. Las condiciones se especifican
utilizando expresiones lógicas. La representación de una composición selectiva se hace
con palabras en pseudocódigo (if, then, else o bien en español si, entonces, si_no), con
una figura geométrica a modo de rombo o bien con un triángulo en el centro de una caja
rectangular. Las construcciones selectivas o alternativas tienen la posibilidad de ser:
• básicas • dobles • diversos.

Alternativa Simple
La composición elección sencilla si-entonces (en inglés if-then) hace una cierta acción
una vez que se cumple una cierta condición. La selección si-entonces evalúa la condición
y si la condición es verdadera, entonces hace la acción S1 (u ocupaciones caso de ser S1
una acción compuesta y constar de algunas acciones) si la condición es falsa, entonces no
hacer nada.
Las representaciones gráficas de la composición condicional sencilla se presentan en la
Figura 4.4.

Alternativa doble
La composición anterior es bastante reducida y comúnmente se requerirá una
composición que posibilite escoger entre 2 posibilidades o alternativas probables, en
funcionalidad del cumplimiento o no de una cierta condición. Si la condición C es
verdadera, se realiza la acción S1 y, si es falsa, se realiza la acción S2 (véase Figura 4.5).

Alternativa Múltiple
A menudo —en la práctica— se necesita que existan bastante más de 2 elecciones
probables (por ejemplo, en la resolución de la ecuación de segundo nivel hay 3 probables
alternativas o senderos a continuar, según que el discriminante sea negativo, nulo o
positivo). Este problema, como se verá después, se podría solucionar por construcciones
alternativas básicas o dobles, anidadas o en cascada; no obstante, este procedimiento si el
número de alternativas es enorme puede proponer serios inconvenientes de escritura del
algoritmo y naturalmente de legibilidad.
La composición de elección múltiple evaluará una expresión que va a poder tomar n
valores diversos, 1, 2, 3, 4, ..., n. Según que escoja uno de dichos valores en la condición,
se realizará una de las n ocupaciones, o lo cual es igual, el flujo del algoritmo seguirá un
definido camino entre los n probables.

Estructuras de decisión anidadas (En Escalera)


Las construcciones de selección si-entonces y si-entonces-si_no involucran la selección
de una de 2 alternativas.
Es viable además usar la instrucción si para diseñar construcciones de selección que
contengan bastante más de 2 alternativas. Ejemplificando, una composición si-entonces
puede contener otra composición si-entonces, y esta composición si-entonces puede
contener otra, y de esta forma sucesivamente cualquier número de veces; paralelamente,
en cada composición tienen la posibilidad de existir diferentes actividades.
La Sentencia ir-a (goto)
El flujo de control de un algoritmo es siempre secuencial, excepto cuando las estructuras
de control estudiadas anteriormente realizan transferencias de control no secuenciales.
La programación organizada posibilita hacer programas simples y legibles usando las 3
construcciones ya conocidas: secuenciales, selectivas y repetitivas. No obstante, algunas
veces se necesita hacer bifurcaciones incondicionales; para eso se recurre a la instrucción
ir_a (goto). Esta instrucción continuamente fue problemática y prestigiosos informáticos,
como Dijkstra, han tachado la instrucción goto como nefasta y dañino para los
programadores y recomiendan no usarla en sus algoritmos y programas. Por esto, la
mayor parte de los idiomas de programación, a partir del mítico Pascal —padre de la
programación estructurada— pasando por los idiomas más usados en los últimos años y
actualmente como C, C++, Java o C#, escapan de esta instrucción y fundamentalmente
no la usan jamás, aunque aquello sí, mantienen en su juego de sentencias esta “dañina”
sentencia por si en situaciones excepcionales se necesita recurrir a ella.
La sentencia ir_a (goto) es la manera de control más primigenia en los programas de pcs
y corresponde a una bifurcación incondicional en código máquina. Aunque idiomas
modernos como VB .NET (Visual Basic .NET) y C# permanecen en su juego de
indicaciones, fundamentalmente no se usa. Otros idiomas modernos como Java no tienen
dentro la sentencia goto, aunque sí es un vocablo reservado.
Aunque la instrucción ir_a (goto) la poseen todos los idiomas de programación en su
juego de indicaciones, hay ciertos que dependen bastante más de ellas que otros, como
BASIC y FORTRAN. Generalmente, no existe ni una necesidad de usar indicaciones ir_a.
Cualquier algoritmo o programa que se escriba con normas ir_a se puede reescribir para
hacer lo mismo y no integrar ni una instrucción ir_a. Un programa que usa muchas
indicaciones ir_a es más complejo de leer que un programa bien escrito que usa escasas
o ni una instrucción ir_a.
En bastante escasas situaciones las indicaciones ir_a son útiles; quizás, las únicas
razonables son diversos tipos de situaciones de salida de bucles. Una vez que un error u
otra condición de terminación está, una instrucción ir_a podría ser usada para brincar de
manera directa finalmente de un bucle, subprograma o un método completo. Las
bifurcaciones o saltos realizados por una instrucción ir_a tienen que desarrollarse a
normas que se encuentren numeradas o posean una etiqueta que sirva de punto de alusión
para el salto. Ejemplificando, un programa podría ser elaborado para concluir con una
detección de un error.

También podría gustarte