0% encontró este documento útil (0 votos)
6 vistas10 páginas

Algoritmos y Programas en C++

El capítulo 2 aborda la resolución de problemas mediante programación en C++, destacando las fases de análisis, diseño y ejecución de algoritmos. Se explican las características y partes de un algoritmo, así como la importancia de la representación gráfica y la prueba de escritorio. Además, se describen los elementos básicos de un programa, incluyendo instrucciones, variables, constantes y estructuras de control.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas10 páginas

Algoritmos y Programas en C++

El capítulo 2 aborda la resolución de problemas mediante programación en C++, destacando las fases de análisis, diseño y ejecución de algoritmos. Se explican las características y partes de un algoritmo, así como la importancia de la representación gráfica y la prueba de escritorio. Además, se describen los elementos básicos de un programa, incluyendo instrucciones, variables, constantes y estructuras de control.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Capı́tulo 2

ALGORITMOS Y
PROGRAMAS EN C++

2.1. Resolución de problemas por computadora


Aprender a programar significa resolver problemas haciendo uso de una compu-
tadora y de algún lenguaje de programación.

La resolución de un problema tiene tres fases:


1. Análisis del problema.
2. Diseño del algoritmo.
3. Resolución del algoritmo mediante computadora.

Figura 2.1: Fases de resolución

2.1.1. Análisis del problema


Esta fase ayuda a comprender en detalle el problema, ya que es posible definir el
problema, etapa que concluye con la especificación de entradas y salidas. Es decir:
Define el problema.
Especifica las entradas (para resolver el problema).
Especifica las salidas (para proporcionar resultados para la solución).

9
10 CAPÍTULO 2. ALGORITMOS Y PROGRAMAS EN C++

2.1.2. Diseño del algoritmo


Un algoritmo es un método para resolver un problema, es decir es el conjunto de
instrucciones que especifican la secuencia de operaciones a realizar para resolver
un problema. En otras palabras, un algoritmo es una fórmula para la resolución
de un problema.

Las caracterı́sticas fundamentales de un algoritmo son:

a) Debe ser preciso y ordenado.


b) Debe estar bien definido, si se sigue un algoritmo dos veces se debe obtener el
mismo resultado.
c) Debe ser finito, debe terminar en algún momento.

La partes de un algoritmo son tres:

Entrada Información que se proporciona al algoritmo


Proceso
Salida Información producida por el algoritmo

Los problemas complejos se deben dividir en subproblemas y estos en otros más


simples, a esto se denomina Diseño descendente.

El primer esbozo del algoritmo es incompleto e indican algunos pasos, estos se


pueden ampliar con más detalle, a este proceso se denomina Refinamiento del
algoritmo.

Se debe representar este algoritmo por algún método o herramienta de pro-


gramación.

[Link]. Escritura de un algoritmo


Primero se realiza un algoritmo muy general, luego se descompone el mismo en
pasos muy simples (refinamiento), para la escritura se debe utilizar la indentación,
lo cual facilita la lectura posterior.

Un algoritmo consta de dos componentes:

Cabecera de programa o Un algoritmo empieza con la palabra Algoritmo


algoritmo seguido del nombre del programa.

Bloque algoritmo Es el resto del programa, sección de declaraciones


y sección de acciones.
2.1. RESOLUCIÓN DE PROBLEMAS POR COMPUTADORA 11

En la cabecera del algoritmo van las declaraciones de variables y constantes que se


utilizan en el algoritmo, listando sus nombres especificando sus tipos. Las variables
empiezan con la palabra reservada var y las constantes con const.

[Link]. Representación gráfica de algoritmos


Es un método que independiza el algoritmo del lenguaje de programación, además
permite una fácil codificación, los métodos usados son:
1. Diagrama de flujo
2. Diagrama N-S (Nassi – Schneiderman)
3. Pseudocódigo
4. Lenguaje español
5. Fórmulas
Diagrama de flujo
Denominado también Flor Chart, utiliza sı́mbolos estándar unidos por lı́neas de
flujo, que indican la secuencia en la que se deben ejecutar.

SÍMBOLO FUNCIÓN SÍMBOLO FUNCIÓN

Inicio/Fin Entrada desde


teclado

Entrada/Salida Salida por


pantalla
Proceso o
Subprograma
asignación

Decisión Decisión
múltiple

Conector en la
misma o dife- Lı́neas de flujo
rente pág.

Es un lenguaje de especificación de algoritmos, utiliza palabras reservadas en inglés


o español, además que pueden ser fácilmente traducidos a lenguajes estructurados.
12 CAPÍTULO 2. ALGORITMOS Y PROGRAMAS EN C++

(Pascal, Turbo Basic, C++, etc).

Al igual que los algoritmos utiliza indentación.

start inicio stop parada


end fin if-then-else si-entonces-sino
read leer while-wend mientras-fin mientras
write escribir repea-until repetir-hasta que

[Link]. Prueba de escritorio


Denominado también prueba de laboratorio, etapa en la que se enumeran en colum-
nas todas las variables utilizadas en el algoritmo y siguiendo el flujo del programa
(del diagrama de flujo o pseudocódigo) desde el inicio hasta el final del algoritmo,
se anotan los diferentes valores que toman las variables hasta llegar a la salida que
es la última columna y se verifica el resultado.

2.1.3. Resolución del algoritmo mediante computadora


Esta última etapa esta compuesta de las siguientes fases:
1. Codificación del algoritmo.
2. Ejecución del programa.
3. Comprobación del programa.
Para la codificación del algoritmo se utiliza un lenguaje de programación, el cuál
hace posible la comunicación entre el programador y la computadora.

2.2. Conceptos de un programa


Un programa es un conjunto de instrucciones que ejecutan una tarea determinada,
se considera también un medio para conseguir un fin, el fin es la solución del
problema.
El proceso de programación es el proceso de solución de problemas y el desarrollo
de un programa requiere de las siguientes fases:
1. Definición y análisis del problema.
2. Diseño del algoritmo.
a) Diagrama de flujo.
b) Pseudocodigo.
3. Codificación del programa.
2.3. PARTES DE UN PROGRAMA 13

4. Depuración y verificación del programa.


5. Documentación.
6. Mantenimiento.

2.3. Partes de un programa


Un programa tiene las siguientes partes:

Entrada
Salida
Algoritmo de resolución (Técnicas empleadas para obtener salidas a partir
de las entradas)

Entrada Es el proceso de introducir información a la memoria del


ordenador por dispositivos de entrada (teclado, discos, etc)
se denomina operación de lectura o acción leer.
Salida Se presenta en dispositivos de salida (pantalla, impresora,
discos, etc), se denomina operación de escritura o acción
escribir.

2.4. Instrucciones y tipos de instrucciones


Las instrucciones son las representaciones de los diferentes pasos o acciones de un
algoritmo. Las acciones o instrucciones resuelven el programa deben ser escritas y
posteriormente almacenadas en la memoria del ordenador en el mismo orden en
que han de ejecutarse, es decir, en secuencia.

PROGRAMAS

Lineal Las instrucciones se ejecutan secuencialmente sin bifurcaciones de:


Inst 1 .. Inst 2 . . . .... Inst n en un programa
Acción 1.. Acción 2 ...... Acción n en un algoritmo
No lineal La secuencia se interrumpe mediante instrucciones de bifurcación
Las instrucciones básicas son:

1. Instrucciones de inicio/fin inicio/fin


14 CAPÍTULO 2. ALGORITMOS Y PROGRAMAS EN C++

2. Instrucciones de asignación inicio/fin


3. Instrucciones de lectura leer
4. Instrucciones de Inicio/fin escribir
5. Instrucciones de Inicio/fin

[Link]. Instrucciones de bifurcación


Bifurcación hacia adelante (positiva)

Bifurcación hacia atrás(negativa)

Bifurcación incondicional

Se bifurca el flujo del programa sin ninguna condición, siempre que el flujo pase
por la instrucción (Ir a).
2.5. ELEMENTOS BÁSICOS DE UN PROGRAMA 15

Bifurcación condicional

La bifurcación depende del cumplimiento de una determinada condición.

2.5. Elementos básicos de un programa


Los elementos básicos de un programa o algoritmo son:

Palabras reservadas Son palabras que realizan una instrucción en un pro-


grama (una acción en un algoritmo), por lo que no
pueden ser utilizados como identificadores.
Identificadores Son los nombres de variables, una variable se identi-
fica por su nombre que lo asigna y tipo de variable,
los nombres deben tener relación con el dato que re-
presentan. El primer carácter debe ser una letra.
Caracteres especiales Son caracteres que no son dı́gitos numéricos ni letras
pero que se utilizan para separar instrucciones, in-
gresar comentarios como por ejemplo la coma, apos-
trofe, etc.
16 CAPÍTULO 2. ALGORITMOS Y PROGRAMAS EN C++

Constantes Las constantes son valores que no cambian durante


el desarrollo del algoritmo o ejecución del programa.
Constantes numéricas (enteras o reales)
Constantes de cadena o carácter
Constantes lógicas (verdadero o falso)
Variables Las variables son valores que cambian durante el de-
sarrollo del algoritmo o ejecución del programa.
Variables numéricas (enteras o reales)
Variables de cadena o carácter
Variables lógicas (verdadero o falso)
Expresiones Son combinaciones de constantes, variables y sı́mbo-
los de operación y son:
Expresiones aritméticas
Son iguales a las fórmulas matemáticas y sus opera-
dores tienen la siguiente prioridad:
Exponenciación
Multiplicación/división
División entera/módulo
Suma/resta
Expresiones lógicas
Utilizan operadores lógicos (not, and, or) y operado-
res relacionales (menor que, mayor que, igual, menor
o igual que, mayor o igual que, diferente de)
Expresiones de carácter
Utilizan los datos tipo carácter o cadena
Instrucciones Las instrucciones son:
Instrucciones de Inicio/fin
Instrucciones de asignación
Instrucciones de lectura
Instrucciones de escritura
Instrucciones de bifurcación

Otros elementos
Bucles.
Contadores.
Acumuladores.
Interruptores.
Estructuras.
ˆ Secuenciales.
ˆ Selectivas.
ˆ Repetitivas.
2.5. ELEMENTOS BÁSICOS DE UN PROGRAMA 17

2.5.1. Bucles
Denominado también lazo (loop). Es un segmento de algoritmo o programa, cuyas
instrucciones se repiten un determinado número de veces mientras se cumple una
cierta condición, puede ser:
Bucle finito.
Bucle infinito (no es recomendable).

Las partes de un bucle son:


Decisión.
Cuerpo del bucle.
Salida del bucle.

Los bucles pueden ser anidados o independientes, los bucles anidados son aque-
llos que están dispuestos de tal modo que unos son interiores a otros.

Bucles independientes Bucles anidados Bucles cruzados


Los bucles cruzados no se utilizan en el diseño del algoritmo.

2.5.2. Contadores
Los contadores sirven para contar suceso o acciones internas de un bucle, por lo
que son utilizados para controlar un bucle.

Es una variable cuyo valor se incrementa o decrementa en una cantidad constante


en cada repetición (iteración)
18 CAPÍTULO 2. ALGORITMOS Y PROGRAMAS EN C++

2.5.3. Acumuladores
Es una variable que almacena cantidades variables resultantes de sumas sucesivas.
Se diferencia de los contadores ya que el incremento o decremento es variable.

2.5.4. Interruptores
Denominado también conmutador (switch), indicador o bandera (flan). Es una
variable que puede tomar dos valores diferentes 1 y 0 a lo largo del programa.

2.5.5. Estructuras
Existen tres tipos de estructuras:
1. Estructura secuencial.
2. Estructura selectiva.
3. Estructura repetitiva.

También podría gustarte