Está en la página 1de 65

Introducción a la programación

Introducción a la programación
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.
 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.
Introducción a la programación
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.

¿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
Introducción a la programación
¿Qué es un programa?
Conjunto de instrucciones que hacen funcionar a la computadora.
Organización física de la computadora

UPC (procesador)

Dispositivos de Unidad de control Dispositivos de


entrada salida
Memoria principal
Memoria externa
Almacenamiento
Unidad aritmética lógica
permanente
Introducción a la programación
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.
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
Introducción a la programación
 Los dispositivos de salida permiten representar resultados (salida) del
proceso de los datos.
Tipos de dispositivos de salida:
• Pantalla.
• Impresoras.
• 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.
Introducción a la programación
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
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.
Introducción a la programación
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
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.
Introducción a la programación
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.
• 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.
Introducción a la programación
 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.
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel.
Introducción a la programación
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.
 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.
Introducción a la programación
Lenguajes máquina
Ventajas Desventajas

 Cargar programas a la  Dificultad y lentitud en la


memoria sin necesidad de codificación
traducción  Poca fiabilidad
 Velocidad de ejecución  Dificultad grande de verificar y
poner a punto los programas
 Los programas sólo son
ejecutables en el mismo
procesador
Introducción a la programación
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
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.
Introducción a la programación
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.
 El traductor de programas fuente a objeto es un programa llamado
ensamblador.
Introducción a la programación
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
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.
Introducción a la programación
Lenguajes de alto nivel

Ventajas Desventajas

 Tiempo de formación de los  Incremento del tiempo de


programadores relativamente puesta a punto, al necesitarse
corto diferentes traducciones
 Similar al lenguaje humano  No se aprovechan los recursos
 Transportabilidad internos de la máquina
 Reducción del costo de los  Aumento de la ocupación de
programas memoria
 Tiempo de ejecución mucho
mayor
Introducción a la programación
Tipos de lenguajes de alto nivel:
C, C++, Fortran, C#, VisualBasic, Java
Muy extendidos:
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.
Conceptos fundamentales
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
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
Conceptos fundamentales
 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:
 Arreglos
 Cadena de caracteres
 Registros

Identificador Identificador

Dato simple Dato estructurado


Conceptos fundamentales
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
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’
Conceptos fundamentales
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:
“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.
Conceptos fundamentales
Identificadores, constantes y variables
Identificadores.
son nombres que se usamos para referirnos a variables, constantes,
funciones o cualquier objeto definido por el usuario.

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.
Conceptos fundamentales
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
 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
Conceptos fundamentales
Operaciones aritméticas

 Para poder realizar operaciones aritméticas necesitamos de operadores


aritméticos.

 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:
Conceptos fundamentales
Operadores Aritméticos
Operador Operación Ejemplo Resultado
Aritmético
** o ^ Potencia 3**2 o 3^2 9
* Multiplicación 5.25*3 15.75
/ División 17/4 4.25
+ Suma 58+79 137
- Resta 25.96 -11.25 14.71
Mod Módulo (residuo) 21 mod 2 1
div División entera 19/3 6
Conceptos fundamentales
 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.
Jerarquía de los operadores aritméticos
Operad Jerarqu Operación
or ía
** o ^ (Mayor) Potencia
*, /, Multiplicación, división, módulo,
mod, división entera
div (menor)
+, - Suma, resta
Conceptos fundamentales
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
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.
Conceptos fundamentales
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
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
Conceptos fundamentales
4). 7 * 8 * (160 mod 3 ** 3) div 5 * 13 – 28 3640 - 28
1 7
7 * 8 * (160 mod 27) div 5 * 13 – 28 = 3612
2
7 * 8 * 25 div 5 * 13 – 28
3
56 * 25 div 5 * 13 – 28
4
1400 div 5 * 13 – 28
5
280 * 13 – 28
6
Conceptos fundamentales
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
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.
Conceptos fundamentales
El resultado de una expresión con operadores relacionales es verdadero
o falso.
Operadores Relacionales
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
Conceptos fundamentales
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
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.
Conceptos fundamentales
Operadores Lógicos
Operador Jerarquía Expresión lógica Jerarquía de todos los Operadores
No (~) (Mayor) No P Operadores Jerarquía
Y (^) PyQ ( ) (Mayor)
**
o (Menor) PoQ
*, /, div, mod

==, < >, <, >, < =, > =


Tabla de verdad de los Operadores Lógicos
P Q P ^Q PoQ ~P ~Q No ( ~ )

V V V V F F y(^)
o (Menor)
V F F V F V
F V F V V F
F F F F V V
Conceptos fundamentales
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
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
Conceptos fundamentales
Continuación 2)
148.638 < = (X ** 3 div B)
5
148.638 < = (216 div B)
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
Conceptos fundamentales
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
~ Falso o (43 – 4 < > 6 div 2)
6
~ Falso o (43 – 4 < > 3)
7
~ Falso o (39 < > 3)
8
~ Falso o Verdadero
9
Conceptos fundamentales
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:
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.
Conceptos fundamentales
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


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
Conceptos fundamentales
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.
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
Conceptos fundamentales
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
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
Conceptos fundamentales
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.
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"
Conceptos fundamentales
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.
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.
Conceptos fundamentales
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.
 La salida puede aparecer en un dispositivo de salida. La operación de
salida se denomina escritura
Algoritmos y diagramas de flujo
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.

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).
Algoritmos y diagramas de flujo
 El algoritmo debe tener las siguientes características:
 Tener un principio
 Ser simples, claros, precisos, exactos.
 Tener un orden lógico.
 Debe ser finito.
 Tener un fin.

• La definición de un algoritmo debe describir tres partes:


 Entrada.
 Proceso.
 Salida
Algoritmos y diagramas de flujo
 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.

 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.
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.
Algoritmos y diagramas de flujo
Símbolo utilizado para marcar el inicio y el fin del diagrama
flujo.

Símbolo utilizado para introducir los datos de entrada. Expresa


lectura.

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.
Algoritmos y diagramas de flujo
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.

Símbolos utilizados para expresar la dirección del flujo del


diagrama

Símbolo utilizado para expresar conexión entre páginas


diferentes.
Algoritmos y diagramas de flujo

Símbolo utilizado para representar una


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.
Construcción de algoritmos y
diagramas de flujo
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


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
Construcción de algoritmos y
diagramas de flujo

Problema

Análisis Construcción Verificación


profundo del del el
problema algoritmo 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
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
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:
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.
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.
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
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
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
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
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
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
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.
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.
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.
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.
Construcción de algoritmos y
diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 1:

inicio

cve, ht
pht

sueldo ht * pht

cve
sueldo

fin
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 grad * (PI / 180) fin
numrad
Construcción de algoritmos y
diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 3:
inicio

matest, cal1
cal2, cal3
cal4

calfin (cal1 + cal2 + cal3 + cal4) / 4

matest
calfin

fin
Actividades
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)
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.
Actividades
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.

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.

También podría gustarte