Sie sind auf Seite 1von 9

Universidad Pedagógica Nacional

responsable: David Santiago Melo Niño

Curso de Programación Estructurada (nivel básico)

Temas del curso:


1. Conceptos básicos
2. Entidades para el desarrollo de algoritmos
3. Formulación de algoritmos

Tema 1
1. Conceptos básicos
Introducción a los algoritmos

Algoritmo: secuencia finita “bien definida” de tareas bien definidas, las cuales se pueden realizar
con una cantidad de recursos finitos. Todo algoritmo debe tener un orden y como programador se
debe tener en cuenta los recursos de tiempo y memoria del computador.
Las características que deben tener los algoritmos en general son las siguientes:
• Precisión: es una secuencia lógica de instrucciones
• Determinista: para las mismas entradas se tiene la misma salida, si pruebo el algoritmo más
de una vez
• Finito: siempre debe terminar
Existen tres tipos de problemas que hay que tener en cuenta para el desarrollo de los algoritmos, los
cuales son:
• Solubles: tienen solución (ej: operaciones aritméticas)
• Insolubles: no tienen solución (ej: encontrar el último dígito de el numero PI)
• Indecibles: no sabemos si tienen o no solución (ej: paradoja)

Inicialmente se resolverá un ejercicio usando lenguaje natural (es el que se usa diariamente para
establecer una comunicación entre dos personas como mínimo)

Ejemplo1
Problema: preparar una taza de café
Solución: para este problema es importante definir un inicio ya que se podría empezar desde la
compra de la cafetera, entonces para este caso, se asume que se tiene una cafetera y que ya está
instalada, entonces tenemos que:

1. Si no esta puesto el filtro entonces


1.1 Pongo el filtro
2. Mido el café
3. Pongo el café en el filtro
4. Poner el pocillo bajo el grifo
5. Abrir la llave
6. Mientras no este lleno hacer
6.1 Esperar
7. Pongo el agua en la cafetera
8. Si no esta conectada la cafetera entonces
8.1 Conectarla
9. Enciendo la cafetera
10. Mientras la cafetera esta prendida entonces
10.1 esperar
11. Alistar el pocillo
12. Servir
Tema 2
Entidades para el desarrollo de algoritmos

Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del
conjunto de valores que puede tomar una variable.
Tabla 1

Tipo de dato Ejemplo


Entero -2,-1,0,1,2,3......
Real 1.5 2.1345
Carácter *, b, a, /, 1, .
Cadenas de
Hola, ab12g
caracteres
Falso (o),
Booleano
Verdadero (1)

Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y
nombres de funciones especiales. Por ejemplo:
abc
[1]
c
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se
clasifican las expresiones en:
-Aritméticas
- Relacionales
- Lógicas
Operadores según orden de precedencia
De acuerdo a como este escrita una expresión se desarrollan unas operaciones primero que otras,
observemos la siguiente tabla:
Orden de Precedencia
8 () paréntesis
7 - Signo menos
6 * / multiplicación, división, modulo
5 + - Adición, substracción
4 < > >= <= <> != Mayor que, menor que, mayor igual, menor igual, diferente
3 ~ negación
2 & “y” lógica
1 | “o” lógica
Tabla 2
Ejemplo 2
Desarrollar la siguiente expresión teniendo en cuenta el orden de precedencia de los operadores
5
−34∗ ∗93∗9
3
Lo primero acorde a la tabla anterior sería resolver lo de los paréntesis, entonces:
5
−7∗ ∗93∗9
3
Ahora multiplicamos el signo menos con los paréntesis
5
−7∗ ∗93∗9
3
Realizamos el primer producto
−35
∗93∗9
3
Sigue la división, en este caso como todos son enteros la división debe dar como resultado un
entero, entonces se omite la parte decimal
−11∗93∗9
Por último resolvemos las multiplicaciones, luego realizamos la suma y obtendremos el resultado.
−9927=−72

Operadores Relacionales:
* Se utilizan para establecer una relación entre dos valores.
* Compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad
(verdadero o falso).
* Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas)

Los operadores Relacionales son:


> Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
Operadores Lógicos:
* Estos operadores se utilizan para establecer relaciones entre valores lógicos.
* Estos valores pueden ser resultado de una expresión relacional.
Operadores Lógicos
And Y
Or O
Not Negación
A B=Entradas S=salida Tabla 3

And (&) Y lógica Or ( | ) O lógica Not (~) negación


A B S A B S
0 0 0 0 0 0 A S
0 1 0 0 1 1 0 1
1 0 0 1 0 1 1 0
1 1 1 1 1 1
Ejemplo 3
Desarrollar la siguiente expresión teniendo en cuenta los operadores lógicos
(10<20) & (20<30)
Primero realizamos lo de los paréntesis, entonces preguntamos, ¿10 es menor que 20? si la
respuesta es sí tendremos un “1” o un verdadero (es lo mismo), si no un “0” o falso, realizamos el
mismo paso para el otro grupo de paréntesis ¿20 es menor que 30?
Por lo tanto tendremos lo siguiente:
V & V (donde V = verdadero o “1”)
ahora aplicamos el operador lógico & para terminar nuestro ejercicio, donde V & V = V
Tema 3
3. Formulación de algoritmos
Programación estructurada

Se caracteriza por ser secuencial, tiene un punto de partida y un punto final y usa estructuras de
control como las siguientes:
• Secuencia: hay un orden lógico
• Selección: permite escoger opciones
• Iteración: permite realizar una acción hasta que una condición se cumpla.
Las herramientas que se usan para diseñar algoritmos generalmente son diagramas de flujo y
pseudocódigo (este último no será incluido en esta sección).

Diagrama de Flujo
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la
representación detallada en forma gráfica de como deben realizarse los pasos en la computadora
para producir resultados.
Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la
computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar
los procesos.

Representación de Algoritmos

Terminal
inicio/final de un programa

Entrada de datos

Procesos
operaciones aritméticas

no si Decisión
operaciones lógica y/o comparadores
Salida de datos

Flujo

Secuencia

si Iteración

no

Variables
Constantes y Variables
Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución
del programa.
Ejemplo:
pi = 3.1416
Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un
dato durante la ejecución de un proceso, su contenido puede cambia durante la ejecución del
programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle
un nombre con el cual podamos identificarla dentro de un algoritmo.
Ejemplo:
área = pi * radio ^ 2
Las variables son : el radio, el área y la constate es pi
Clasificación de las Variables
Por su contenido Por su uso
Numéricas De trabajo
Lógicas Contadores
Alfanuméricas (strings) Acumuladores
Por su Contenido
Variable Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o
negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo:
iva=0.15 pi=3.1416 costo=2500
Variables Lógicas: Son aquellas que solo pueden tener dos valores (verdadero “1” o falso “0”) estos
representan el resultado de una comparación entre otros datos.
Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres
especiales). Ejemplo:
letra='a' apellido='lopez' dirección='Av. Libertad #190'

Por su Uso
Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y
que se usan normalmente dentro de un programa. Ejemplo:
b
Suma=a
c
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una
operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente.
Ejemplo 4
Sumar dos números ingresados por el usuario
Solución: Lo primero es definir cuantas variables de entrada y salida necesitamos y el tipo de
variable el cual vamos a usar, en este caso serían dos de entrada y una de salida y serán de tipo
entero (también pueden ser de tipo real)

Inicio

declarar variables X entero


Y entero
Suma entero

inicializar variables X=0


Y=0
Suma=0

muestra al usuario el
siguiente mensaje “ingrese el primer numero”

guarda en x el valor ingresado


x

sigue en la siguiente página


muestra al usuario el
siguiente mensaje
“ingrese el segundo numero”

guarda en y el valor ingresado


Y

realiza la suma entre x,y


y guarda el resultado en Suma=X+Y
la variable Suma

muestra al usuario el valor de


suma Suma

Fin

Das könnte Ihnen auch gefallen