Este documento introduce conceptos básicos de programación. Explica que una computadora procesa datos de entrada para producir resultados de salida, y define software, hardware, programas y lenguajes de programación. También describe los componentes principales de una computadora y dispositivos de entrada y salida.
2. Conceptos generales de programación
Antes de iniciar el tema, es conveniente, sobre todo para aquellos que
comienzan su instrucción informática, hacer un breve repaso de
conceptos fundamentales que se han de tomar en cuenta cuando se
desarrollan programas que se utilizarán en computadoras.
Introducción a la programación
Se incluye la metodología que se requiere para diseñar algoritmos de
manera sencilla y funcional.
¿Qué es una computadora?
Es un dispositivo electrónico utilizado para procesar información y
obtener resultados.
3. Los datos y la información se pueden introducir en la computadora por
la entrada y a continuación se procesan para producir una salida
(resultados).
Los datos de entrada y los datos de salida pueden ser, realmente,
cualquier cosa, texto, dibujos, o sonidos.
Introducción a la programación
cualquier cosa, texto, dibujos, o sonidos.
¿Qué es el software?
Conjunto de programas escritos para una computadora.
¿Qué es el hardware?
Componentes físicos que constituyen la computadora, junto con los
dispositivos que realizan las tareas de entrada y salida
4. ¿Qué es un programa?
Conjunto de instrucciones que hacen funcionar a la computadora.
Organización física de la computadora
Introducción a la programación
Unidad de control
Memoria principal
Unidad aritmética lógica
Dispositivos de
entrada
Dispositivos de
salida
Memoria externa
Almacenamiento
permanente
UPC (procesador)
5. Dispositivos de Entrada/Salida
Los dispositivos de Entrada/Salida permiten la comunicación entre la
computadora y el usuario para introducir datos (información) para su
proceso. Los datos se leen de los dispositivos de entrada y se
almacenan en la memoria principal, convierten la información de entrada
en señales eléctricas que se almacenan en la memoria principal.
Introducción a la programación
en señales eléctricas que se almacenan en la memoria principal.
Tipos de dispositivos de entrada:
• Teclados.
• Lápices ópticos.
• Palancas de mando (joystick).
• Lectores de códigos de barra.
• Micrófonos.
• Mouse
• Cámaras de video, etc
6. Los dispositivos de salida permiten representar resultados (salida) del
proceso de los datos.
Tipos de dispositivos de salida:
• Pantalla.
• Impresoras.
• Trazadores gráficos (plotters).
Introducción a la programación
• Trazadores gráficos (plotters).
• Reconocedores de voz, etc.
Memoria principal
Conocida como RAM (Random Access Memory), almacena información
(instrucciones de un programa y los datos con los que operan las
instrucciones) de manera transitoria, es decir, durante la ejecución de un
programa.
7. Unidad Central de Proceso (UPC)
Dirige y controla el proceso de información realizado por la
computadora, esta conformada por:
• Unidad de control (UC).- coordina las actividades de la computadora y
determina que operaciones se deben realizar y en que orden; así mismo
Introducción a la programación
determina que operaciones se deben realizar y en que orden; así mismo
controla y sincroniza todo el proceso de la computadora.
• Unidad aritmética Lógica (ALU).- realiza operaciones aritméticas y
lógicas, tales como sumas, restas, multiplicaciones divisiones y
comparaciones. Los datos se pueden leer (recuperar) o escribir
(cambiar) por la upc.
8. Memoria auxiliar (externa)
Cuando un programa se ejecuta, se debe situar primero en la memoria
principal de igual modo que los datos, sin embargo, la información
almacenada en la memoria se pierde (borra) cuando se apaga la
computadora y, por otra parte, la memoria principal es limitada en
Introducción a la programación
computadora y, por otra parte, la memoria principal es limitada en
capacidad. Por esta razón, para poder disponer de almacenamiento
permanente, tanto para programas como para datos se necesitan
dispositivos de almacenamiento secundario, auxiliar o masivo.
Los dispositivos de almacenamiento secundario o memorias auxiliares
(externas o secundarias) más comúnmente utilizadas son CD-ROM,
DVD, cintas y discos magnéticos, USB, etc.
9. Tipos de Lenguajes
Para que un procesador realice un proceso se le debe suministrar en
primer lugar un algoritmo adecuado. El procesador debe ser capaz de
interpretar el algoritmo, lo que significa:
• Comprender las instrucciones de cada paso.
Introducción a la programación
• Comprender las instrucciones de cada paso.
• Realizar las operaciones correspondientes.
Cuando el procesador es una computadora, el algoritmo se ha de
expresar en un formato que se denomina programa.
Un programa se escribe en un lenguaje de programación y las
operaciones que conducen a expresar un algoritmo en forma de
programa se llama programación.
10. Así pues, los lenguajes utilizados para escribir programas de
computadoras son los lenguajes de programación y programadores son
los escritores y diseñadores de programas.
Los principales tipos de lenguajes utilizados en la actualidad son:
• Lenguajes máquina.
Introducción a la programación
• Lenguajes máquina.
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel.
11. Lenguajes máquina
Son aquellos que están escritos en lenguajes directamente inteligibles
por la máquina (computadora), ya que sus instrucciones son cadenas
binarias (cadenas o series de dígitos 0’s y 1’s) que especifican una
operación.
Introducción a la programación
Las posiciones (dirección) de memoria implicadas en la operación se
denominan instrucciones de máquina o código máquina (código binario).
Las instrucciones en lenguaje máquina dependen del hardware de la
computadora y, por lo tanto, diferirán de una computadora a otra.
12. Lenguajes máquina
Introducción a la programación
Ventajas
Cargar programas a la
memoria sin necesidad de
Desventajas
Dificultad y lentitud en la
codificación
memoria sin necesidad de
traducción
Velocidad de ejecución
codificación
Poca fiabilidad
Dificultad grande de verificar y
poner a punto los programas
Los programas sólo son
ejecutables en el mismo
procesador
13. Lenguajes de bajo nivel
Son más fáciles de utilizar que los lenguajes máquina, pero, al igual,
que ellos, dependen de la máquina en particular.
El lenguaje de bajo nivel por excelencia es el ensamblador.
Las instrucciones en lenguaje ensamblador son instrucciones conocidas
Introducción a la programación
Las instrucciones en lenguaje ensamblador son instrucciones conocidas
como nemotécnicos. Por ejemplo, típicos de operaciones aritméticas:
ADD, SUB, DIV.
Un programa escrito en lenguaje ensamblador no puede ser ejecutado
directamente por la computadora, en esto se diferencia esencialmente
del lenguaje máquina, sino que requiere una fase de traducción al
lenguaje máquina.
14. Lenguajes de bajo nivel
El programa original escrito en lenguaje ensamblador se denomina
programa fuente y el programa traducido en lenguaje máquina se
conoce como programa objeto, ya directamente inteligible por la
computadora.
Introducción a la programación
computadora.
El traductor de programas fuente a objeto es un programa llamado
ensamblador.
15. Lenguajes de alto nivel
Son los más utilizados por los programadores, están diseñados para que
las personas escriban y entiendan los programas de un modo más fácil
que los lenguajes máquina y ensambladores.
Un programa escrito en lenguaje de alto nivel es independiente de la
Introducción a la programación
Un programa escrito en lenguaje de alto nivel es independiente de la
máquina; esto es, las instrucciones del programa de la computadora no
dependen del diseño del hardware o de una computadora en particular.
Los programas escritos en lenguaje de alto nivel son portables o
transportables, lo que significa la posibilidad de poder ser ejecutados con
poca o ninguna modificación en diferentes tipos de computadoras.
Los programas fuente en lenguaje de alto nivel tiene que ser traducidos
por los programas traductores, llamados en este caso compiladores.
16. Lenguajes de alto nivel
Introducción a la programación
Ventajas
Tiempo de formación de los
programadores relativamente
Desventajas
Incremento del tiempo de
puesta a punto, al necesitarse
programadores relativamente
corto
Similar al lenguaje humano
Transportabilidad
Reducción del costo de los
programas
puesta a punto, al necesitarse
diferentes traducciones
No se aprovechan los recursos
internos de la máquina
Aumento de la ocupación de
memoria
Tiempo de ejecución mucho
mayor
17. Tipos de lenguajes de alto nivel:
C, C++, Fortran, C#, VisualBasic, Java
Muy extendidos:
Modula-2, Prolog, LISP, Smaltalk
Introducción a la programación
Modula-2, Prolog, LISP, Smaltalk
Gran uso en el mundo profesional:
Borland Delphi, C++ Builder, Power Builder
Aunque hoy en día el mundo de Internet consume gran cantidad de
recursos en forma de lenguajes de programación como:
HTML, XML, JavaScript, etc.
18. Tipos de datos
Los datos a procesar por una computadora pueden clasificarse en:
Simples
Estructurados
Los datos simples se caracterizan porque ocupan sólo una casilla de
Conceptos fundamentales
Los datos simples se caracterizan porque ocupan sólo una casilla de
memoria, por lo tanto una variable simple hace referencia a un único
valor a la vez. dentro de este grupo de datos encontramos:
Enteros
Reales (flotantes)
Caracteres
Cadena de caracteres
Booleanos
19. Los datos estructurados se caracterizan por el hecho de que con un
nombre se hace referencia a un grupo de casillas de memoria.
Es decir, un dato estructurado tiene varios componentes. Cada uno de
sus componentes puede ser a su vez un dato simple. Dentro de este
grupo de datos se encuentran:
Conceptos fundamentales
grupo de datos se encuentran:
Arreglos
Cadena de caracteres
Registros
Dato simple Dato estructurado
Identificador Identificador
20. Datos simples
Enteros.- son números que no contienen componentes fraccionarias y,
por lo tanto, no incluyen el punto decimal, pueden estar
precedidos del signo + o -. Por ejemplo:
465 -387 9 99 -1578 125550
Conceptos fundamentales
465 -387 9 99 -1578 125550
Reales (flotantes).- son números que contienen una parte fraccionaria
y, por lo tanto, incluyen el punto decimal, pueden esta
precedidos del signo + o -. Por ejemplo:
125.87 -124.0 158000.75 -38.5879
Carácter.- contiene un solo carácter y va encerrado entre comillas
simples. Por ejemplo:
‘a’ ‘A’ ‘$’ ‘#’ ‘7’ ‘+’ ‘h’ ‘H’
21. Cadena de caracteres.- contiene un conjunto de caracteres alfabéticos,
numéricos, y especiales, que sirven para representar y
manejar datos como: nombres, descripciones de artículos,
direcciones, etc. Van encerrados entre comillas dobles, por
ejemplo:
Conceptos fundamentales
ejemplo:
“abc” “Carlos Jiménez” “83-15-24-65” “$8#2”
Booleanos.- toma los valores de verdadero (true) o falso (false), no
puede ser leído o escrito, sólo asignado, es útil para
plantear cierto tipo de condiciones en el manejo de las
estructuras lógicas de control.
22. Identificadores, constantes y variables
Identificadores.
son nombres que se usamos para referirnos a variables, constantes,
funciones o cualquier objeto definido por el usuario.
Conceptos fundamentales
Un identificador se forma de acuerdo a ciertas reglas básicas:
El primer carácter que forma un identificador debe ser una
letra o el símbolo de subrayado ( _ ).
Los demás caracteres pueden ser letras, dígitos o símbolo de
subrayado.
La longitud del identificador depende del lenguaje de
programación a utilizar.
23. Constantes
Son datos que no cambian durante la ejecución de un programa.
Existen tipos de constantes como tipos de datos, por lo tanto, puede
haber constantes enteras, reales (flotantes), de carácter, de cadenas de
caracteres, booleanas, etc.
Variables
Conceptos fundamentales
Variables
Es un identificador que puede cambiar su valor durante la ejecución de
un programa.
Se utiliza para representar un dato tipo entero, real (flotante), o una
constante de carácter. Por ejemplo:
Variable i es de tipo entero
variable prom es de tipo real (flotante)
Variable opción es de tipo carácter
24. Operaciones aritméticas
Para poder realizar operaciones aritméticas necesitamos de operadores
aritméticos.
Estos operadores nos permiten realizar operaciones aritméticas entre
Conceptos fundamentales
Estos operadores nos permiten realizar operaciones aritméticas entre
operandos: números, constantes o variables. El resultado de una
operación aritmética es un número.
A continuación presentamos en una tabla los operadores aritméticos, la
operación que puede realizar y, un ejemplo de su uso y su resultado:
26. Al evaluar expresiones que contienen operadores aritméticos debemos
respetar la jerarquía en el orden de aplicación. Es decir, si tenemos en
una expresión más de un operador, debemos aplicar primero el
operador de mayor jerarquía, resolver esa operación y así
sucesivamente.
Conceptos fundamentales
Jerarquía de los operadores aritméticos
Operad
or
Jerarqu
ía
Operación
** o ^ (Mayor)
(menor)
Potencia
*, /,
mod,
div
Multiplicación, división, módulo,
división entera
+, - Suma, resta
27. Reglas para resolver una expresión aritmética:
1. Si una expresión contiene subexpresiones entre paréntesis, éstas se
evalúan primero, respetando claro la jerarquía de los operadores
aritméticos en esta subexpresión.
Si las subexpresiones se encuentran anidadas por paréntesis, primero
Conceptos fundamentales
Si las subexpresiones se encuentran anidadas por paréntesis, primero
se evalúan las subexpresiones que se encuentran en el último nivel de
anidamiento.
2. Los operadores aritméticos se aplican teniendo en cuenta la jerarquía
y de izquierda a derecha.
28. Por ejemplo:
Dados los siguientes casos, resolver cada caso aplicando las reglas
correspondientes:
1). 7 + 5 – 6 2). 9 +7 * 8 – 36 / 5 3). 7 * 5 ** 3 / 4 div 3
1 1 1
Conceptos fundamentales
1 1 1
12 – 6 9 + 56 – 36 / 5 7 * 125 / 4 div 3
2 2 2
= 6 9 + 56 – 7.2 875 / 4 div 3
3 3
65 – 7.2 218.75 div 3
4 4
= 57.8 = 72
30. Expresiones lógicas
Las expresiones lógicas o booleanas, están constituidas por números,
constantes o variables y operadores lógicos o relacionales. El valor que
pueden tomar estas expresiones es de verdadero o falso.
Se utilizan con frecuencia en las estructuras selectivas y en las
Conceptos fundamentales
Se utilizan con frecuencia en las estructuras selectivas y en las
estructuras repetitivas.
Operadores relacionales
Son operadores que permiten comparar dos operandos, los operandos
pueden ser números, caracteres, constantes o variables.
Las constantes o variables, a su vez, pueden ser de tipo entero, real
(flotante), carácter o cadena de caracteres.
31. El resultado de una expresión con operadores relacionales es verdadero
o falso.
Operadores Relacionales
Operador Operación Ejemplo Resultado
Conceptos fundamentales
Operador Operación Ejemplo Resultado
== Igual que “lalo” == “lola” Falso
Diferente a ‘x’ ‘y’ Verdadero
Menor que 14 25 Verdadero
Mayor que 35 10 Verdadero
= Menor o igual que 5 = 6 Verdadero
= Mayor o igual que 15 = 7 Verdadero
32. Operadores lógicos
Son operadores que permiten formular condiciones complejas a partir de
condiciones simples.
Los operadores lógicos son de:
Conjunción (y).- relaciona dos operandos booleanos. Proporciona un
valo verdadero (V), si los dos son verdaderos; en caso
Conceptos fundamentales
valo verdadero (V), si los dos son verdaderos; en caso
contrario da un resultado falso (F).
Disyunción (o).- relaciona dos operandos booleanos. Proporciona un
valor verdadero (V), si uno de los dos es verdadero; en
caso contrario da un resultado falso (F).
Negación (No).- este operador relaciona sólo un operando booleano y
da como resultado un valor opuesto al que tenga
el operando.
33. Operadores Lógicos
Operador Jerarquía Expresión lógica
No (~) (Mayor) No P
Y (^) P y Q
Jerarquía de todos los Operadores
Operadores Jerarquía
( ) (Mayor)
**
Conceptos fundamentales
(Menor)
o P o Q
Tabla de verdad de los Operadores Lógicos
P Q P ^Q P o Q ~ P ~ Q
V V V V F F
V F F V F V
F V F V V F
F F F F V V
(Menor)
**
*, /, div, mod
==, , , , =, =
No ( ~ )
y ( ^ )
o
34. Por ejemplo:
Dados los siguientes casos, resolver cada caso aplicando las reglas
correspondientes:
1). A = 5, B = 16 2). X = 6, B = 7.8
(A ** 2) (B * 2) (X * 5 + B ** 3 / 4) = (X ** 3 div B)
1 1
Conceptos fundamentales
1 1
25 (B * 2) (X * 5 + 474.552 / 4) = (X ** 3 div B)
2 2
25 32 (30 + 474.552 / 4) = (X ** 3 div B)
3 3
(30 + 118.638) = (X ** 3 div B)
Falso 4
Continua
35. Continuación 2)
148.638 = (X ** 3 div B)
5
148.638 = (216 div B)
6
Conceptos fundamentales
6
148.638 = 27
Falso
3). ~(15 = 7 ** 2) o (43 – 8 * 2 div 4 3 * 2 div 2)
1
~(15 = 49) o (43 – 8 * 2 div 4 3 * 2 div 2)
2 3 Continua
36. Continua 3).
~ Falso o (43 – 16 div 4 3 * 2 div 2) Verdadero o Verdadero
4 10
~ Falso o (43 – 4 3 * 2 div 2) Verdadero
5
Conceptos fundamentales
5
~ Falso o (43 – 4 6 div 2)
6
~ Falso o (43 – 4 3)
7
~ Falso o (39 3)
8
~ Falso o Verdadero
9
37. Operación de Asignación
Consiste en atribuir un valor a una variable o Constante.
Su representación
En algunos Lenguajes la asignación esta representada por = ó :=
Ejemplo:
Conceptos fundamentales
Ejemplo:
Asignar a la variable A el valor de 5.
A 5
El proceso de asignación se realiza en 2 fases:
Se evalúa la expresión de la parte derecha de la asignación
obteniéndose un único valor.
Se asigna ese valor a la variable de la parte izquierda.
38. Operación de Asignación
Se debe tener en cuenta:
En la parte izquierda sólo puede haber una variable.
La variable a la que se le asigna el valor pierde su valor anterior.
La variable que aparece en la derecha ya que como se evalúa primero
Conceptos fundamentales
La variable que aparece en la derecha ya que como se evalúa primero
la de la derecha cuando se tenga que evaluar el valor de esa variable se
tomara su valor antiguo.
El tipo del valor que se obtiene al evaluar la parte derecha tiene que ser
el mismo que el tipo de la variable de la parte izquierda, es decir a una
variable solo se le pueden dar valores de su mismo tipo
Ejemplo
A: entero
A 2
A 3*A + A = 8
39. Tipos de Operación de Asignación
Asignación variable numérica
En una variable numérica (declarada como entero o real) sólo se podrán
guardar datos numéricos.
Conceptos fundamentales
guardar datos numéricos.
Asignación de un número (constante numérica) a una variable numérica.
Asumamos que la variable A ha sido declarada de tipo entero, si
queremos asignar el valor de 5 en ella lo haríamos de la siguiente
manera.
A 5
40. Tipos de Operación de Asignación
Asignación del resultado de una expresión aritmética a una variable
numérica. Asumamos que las variable A ha sido declarada de tipo
entero y queremos copiar en ella el resultado de la expresión aritmética
Conceptos fundamentales
entero y queremos copiar en ella el resultado de la expresión aritmética
5*2 +1 se haría de la siguiente manera.
A 5* 2 +1 luego A = 11
Es posible que la expresión aritmética este formada con variables
numéricas, para ilustrarlo asumamos que A, B y C han sido declaradas
de tipo entero y que en B ya hemos asignado un 10 (B 10) y en C
hemos copiado un dos (C 2). si queremos asignar en A lo que tiene B
mas lo que tiene C, se haría de la siguiente manera:
A B + C luego es resultado es A = 12
41. Tipos de Operación de Asignación
Asignación variable tipo de cadena
En una variable de tipo cadena se pueden guardar cadenas
directamente o el resultado de evaluar una expresión de cadena.
Conceptos fundamentales
directamente o el resultado de evaluar una expresión de cadena.
Asumamos que la variable NOMBRE ha sido declarada de tipo cadena,
si queremos copiar en ella el nombre María lo haríamos de la siguiente
manera.
NOMBRE María
42. Tipos de Operación de Asignación
Asignación variable tipo lógico
En una variable lógica sólo se podrán guardar datos lógicos (
verdadero o falso) o el resultado de evaluar una expresión lógica.
Conceptos fundamentales
verdadero o falso) o el resultado de evaluar una expresión lógica.
Asumamos que la variable BANDERA ha sido declarada de tipo lógico,
si queremos copiar en ella el resultado de la expresión lógica 2 10, lo
haríamos de la siguiente manera.
BANDERA 2 10
Copiaría en la variable BANDERA el valor de falso, pues 2 no es
mayor que 10.
43. Entrada y salida de información
Las operaciones de entrada permiten leer determinados valores y
asignarlos a determinadas variables. Esta entrada se conoce como
operación de lectura.
Conceptos fundamentales
operación de lectura.
La salida puede aparecer en un dispositivo de salida. La operación de
salida se denomina escritura
44. Concepto de algoritmo
Los seres humanos realizamos una serie de pasos, procedimientos o
acciones que nos permiten alcanzar un resultado o resolver un
problema, esto se repite innumerables veces durante el día. En realidad
estamos aplicando un algoritmo para resolver un problema.
Algoritmos y diagramas de flujo
estamos aplicando un algoritmo para resolver un problema.
Definición de Algoritmo.- secuencia ordenada y cronológica de pasos
que llevan a la solución de un problema o a la ejecución de una tarea (o
actividad).
45. El algoritmo debe tener las siguientes características:
Tener un principio
Ser simples, claros, precisos, exactos.
Tener un orden lógico.
Debe ser finito.
Algoritmos y diagramas de flujo
Debe ser finito.
Tener un fin.
• La definición de un algoritmo debe describir tres partes:
Entrada.
Proceso.
Salida
46. La serie de pasos, procedimientos o acciones que nos permiten alcanzar
un resultado o resolver un problema a través de algoritmos, los
desarrollamos por medio de pseudocódigo.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases
en lenguaje común, instrucciones de programación y palabras clave que
definen las estructuras básicas.
Algoritmos y diagramas de flujo
definen las estructuras básicas.
El objetivo del pseudocódigo es permitir que el programador se centre en
los aspectos lógicos de la solución, evitando las reglas de sintaxis de los
lenguajes de programación.
No siendo el pseudocódigo un lenguaje formal, los pseudocódigos varían
de un programador a otro, es decir, no hay un pseudocódigo estándar.
47. Algoritmos y diagramas de flujo
Diagramas de flujo
Un diagrama de flujo representa la esquematización gráfica de un
algoritmo.
En realidad muestra gráficamente los pasos o procesos a seguir para
alcanzar la solución de un problema.
Su correcta construcción es sumamente importante porque, a partir del
mismo se escribe un programa en algún lenguaje de programación.
Si el diagrama de flujo está completo y correcto, el paso del mismo a un
lenguaje de programación es relativamente simple y directo.
A continuación, presentamos los símbolos que utilizaremos y una
explicación de los mismos. Estos satisfacen las recomendaciones de la
ISO y la ANSI.
48. Símbolo utilizado para marcar el inicio y el fin del diagrama
flujo.
Símbolo utilizado para introducir los datos de entrada. Expresa
lectura.
Algoritmos y diagramas de flujo
Símbolo utilizado para representar un proceso. En su interior
se expresan asignaciones, operaciones aritméticas, cambios
de valor de celdas en memoria, etc.
Símbolo utilizado para representar una decisión. En su
interior se almacena una condición y dependiendo del
resultado de la evaluación de la misma se sigue por una de
las ramas o caminos alternativos: verdadero o falso.
49. Símbolo utilizado para representar la impresión de un
resultado. Expresa escritura.
Símbolo utilizado para expresar conexión dentro de una misma
página.
Algoritmos y diagramas de flujo
página.
Símbolos utilizados para expresar la dirección del flujo del
diagrama
Símbolo utilizado para expresar conexión entre páginas
diferentes.
50. Símbolo utilizado para representar una
decisión múltiple. En su interior se
Algoritmos y diagramas de flujo
decisión múltiple. En su interior se
almacena un selector y dependiendo del
valor de dicho selector se sigue por una de
las ramas o caminos alternativos.
51. Estructura y diseño de un algoritmo
Existe una gran cantidad de problemas que requieren de un análisis
profundo y de un pensamiento flexible y estructurado para la solución.
La idea es ofrecer un conjunto de técnicas y herramientas metodológicas
Construcción de algoritmos y
diagramas de flujo
La idea es ofrecer un conjunto de técnicas y herramientas metodológicas
que permitan flexibilizar y estructurar el razonamiento utilizado en la
solución de problemas, esto provocará finalmente la construcción de
algoritmos eficientes.
A continuación en la figura podemos observar las etapas que debemos
seguir para la solución de un problema
52. Construcción de algoritmos y
diagramas de flujo
Problema
Análisis
profundo del
problema
Construcción
del
algoritmo
Verificación
el
algoritmo
Etapa 1 Etapa 2 Etapa 3
Nota.- Por verificación del algoritmo entendemos el seguimiento del
mismo con datos que sean representativos del problema que queremos
resolver
53. Construcción de algoritmos y
diagramas de flujo
La secuenciación es una estructura de control que permite a la
computadora ejecutar una acción, después otra, luego la que sigue y así
sucesivamente hasta la última.
Dichas acciones pueden consistir en operaciones primitivas elementales
como declaraciones de variables, leer datos, imprimir datos o calcular
como declaraciones de variables, leer datos, imprimir datos o calcular
alguna expresión.
Es conveniente etiquetar cada acción con números desde el uno en
forma ascendente de uno en uno, para denotar el orden secuencial.
Por lo tanto los elementos básicos que integran la estructura de un
algoritmo son:
54. Construcción de algoritmos y
diagramas de flujo
1. Encabezado.- todo algoritmo debe tener un encabezado como
identificación, el cual debe empezar con la palabra Algoritmo seguida
por una descripción del problema a resolver.
2. Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca el
inicio del mismo.
inicio del mismo.
3. Declaraciones.- después de marcar el inicio se debe hacer las
declaraciones que se necesiten como: variables, constantes, tipos de
datos, etc.
4. Leer, calcular e imprimir.- los siguientes pasos pueden consistir en
acciones tales como: leer datos, calcular algunas expresiones
aritméticas e imprimir datos tantas veces como se requiera y en el
orden apropiado para resolver el problema en cuestión.
5. Fin del algoritmo.- el último paso del algoritmo consiste en incluir la
indicación fin.
55. Construcción de algoritmos y
diagramas de flujo
Ejemplo No 1 de algoritmos secuenciales
Calcular e imprimir el sueldo de un empleado, se pedirá la clave del
empleado, las horas trabajadas y el pago por hora trabajada.
Algoritmo Calcular el sueldo de un empleado
1. Inicio
1. Inicio
2. Declaración de variables:
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo ht * pht
5. Imprimir cve, sueldo
6. Fin
56. Construcción de algoritmos y
diagramas de flujo
Ejemplo No 2.- desarrollar un algoritmo que permita leer un número en
radianes e imprima su equivalencia en grados; así mismo, leer un
número en grados e imprima su equivalencia en radianes.
Algoritmo Convierte radianes a grados y grados a radianes
1. Inicio
2. Declaración de variables:
PI 3.1415926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad rad * (180 / PI)
5. numrad grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
57. Construcción de algoritmos y
diagramas de flujo
Ejemplo No 3.- desarrollar un algoritmo para calcular el promedio de un
estudiante, se pedirá la matricula del estudiante y cuatro calificaciones
de los exámenes. Se imprimirá la matricula del estudiante y el promedio.
Algoritmo calcular promedio de un estudiante
1. Inicio
1. Inicio
2. Declaración de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
58. Construcción de algoritmos y
diagramas de flujo
Reglas para la construcción de diagramas de flujo
Debemos recordar que un diagrama de flujo debe ilustrar gráficamente
los pasos o procesos a seguir para alcanzar la solución de un
problema.
Los símbolos colocados adecuadamente, permiten crear una
Los símbolos colocados adecuadamente, permiten crear una
estructura gráfica flexible que ilustra los pasos a seguir para alcanzar
un resultado específico.
El diagrama de flujo facilitará más tarde la escritura del programa en
algún lenguaje de programación.
Reglas
1. Todo diagrama de flujo debe tener un inicio y un fin.
59. Construcción de algoritmos y
diagramas de flujo
2. Las líneas utilizadas para indicar la dirección del flujo del diagrama
deben ser rectas, verticales y horizontales.
3. Todas las líneas utilizadas para indicar la dirección del flujo del
diagrama deben estar conectadas. La conexión puede ser a un
símbolo que exprese lectura, proceso, decisión, impresión, conexión o
fin de diagrama.
fin de diagrama.
4. El diagrama de flujo debe ser construido de arriba hacia abajo (top-
down) y de izquierda a derecha (right to left).
5. La notación utilizada en el diagrama de flujo debe ser independiente
del lenguaje de programación.
6. Es conveniente cuando realizamos una tarea compleja poner
comentarios que expresen o ayuden a entender lo que hicimos.
60. Construcción de algoritmos y
diagramas de flujo
7. Si el diagrama de flujo requiere más de una hoja para su
construcción, debemos utilizar los conectores adecuados y enumerar
las páginas convenientemente.
8. No puede llegar más de una línea a un símbolo.
8. No puede llegar más de una línea a un símbolo.
61. Construcción de algoritmos y
diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 1:
inicio
cve, ht
cve, ht
pht
sueldo ht * pht
cve
sueldo
fin
62. Construcción de algoritmos y
diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 2:
inicio
PI 3.1415926536
rad
grad
numgrad rad * (180 / PI)
numgrad
numrad
fin
numrad grad * (PI / 180)
PI 3.1415926536
63. Construcción de algoritmos y
diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 3:
inicio
matest, cal1
cal2, cal3
cal2, cal3
cal4
calfin (cal1 + cal2 + cal3 + cal4) / 4
matest
calfin
fin
64. Esta actividad se debe realizar en grupo de 2 personas y enviar al correo:
clasesjavierpereira@gmail.com
1. Con que valor quedaría asignada la variable A
A (3*2^5 mod 1 + 8*(3-5) (2+8-1 mod 1)
Actividades
A (3*2^5 mod 1 + 8*(3-5) (2+8-1 mod 1)
A A o (3+5*8) 3 y ((-6/3 div 4)*2 2)
B 3 mod 2 div 3
C (-B*2 8*3 mod 4) y (‘A’’B’)
A C o no (3=5) y (8 3+B)
2. El maestro de la clase de matemáticas, le solicita desarrollar un
algoritmo y diagrama de flujo que le permita calcular el valor de Y de la
ecuación: Y = 3X2 + 7X – 15, con el motivo de tener una respuesta
más precisa y rápida.
65. 3. La gasolinera Muralla, le acaban de llegar 6 bombas despachadoras
de gasolina normal, el problema es que al despachar cierta cantidad
de gasolina lo registra en galones, pero el precio de la gasolina está
fijado en litros. Desarrollar un algoritmo y diagrama de flujo que calcule
e imprima lo que hay que cobrarle al cliente, se introducirá la cantidad
de galones y el precio por litro.
Actividades
de galones y el precio por litro.
4. El Zoológico la Pastora desea tener un informe estadístico de sus
rinocerontes con respecto a su longevidad, tal que da como datos el
nombre de un rinoceronte, su edad, su peso, y su longitud, expresados
estos dos últimos en libras y pies respectivamente. Desarrollar un
algoritmo y diagrama de flujo que imprima el nombre del rinoceronte,
su edad, su peso expresado en kilogramos y su longitud expresada en
metros.