Docente
Rafael Antonio Torres Pabon
Introducción a la programación estructurada
La programación
estructurada es
una teoría orientada a La programación estructurada permite la escritura de programas
mejorar la claridad, fáciles de leer y modificar. En un programa estructurado el flujo
calidad y tiempo de lógico se gobierna por las estructuras de control básicas: -
desarrollo utilizando secuenciales, repetitivas y selectivas.
únicamente subrutinas o
funciones.
La idea básica de la programación
estructurada consiste en que
la estructura del texto del
programa debe auxiliarnos para
entender la función del programa.
Definición de algoritmo
Un algoritmo constituye una lista bien definida, ordenada y
finita de operaciones que permite encontrar la solución a un
problema determinado. Dado un estado inicial y una entrada, es Un algoritmo es una secuencia
a través de pasos sucesivos y bien definidos que se llega a un precisa de pasos que nos permiten
estado final en el que obtienen una o varias soluciones. alcanzar un resultado o resolver un
Un algoritmo puede ser expresado en: problema
- Lenguaje natural (a veces, este no resulta muy claro, pero es
muy útil para problemas simples)
- Pseudocódigo - Diagramas de flujo
- Programas
Juganaru Mathieu, M. (2015). Introducción a la programación: ( ed.). México D.F, Mexico: Grupo Editorial Patria. Recuperado de
https://elibro.net/es/ereader/politecnicointernacional/39449?page=16.
1. Análisis del problema
2. Diseño del algoritmo para
resolverlo.
3. verificación del algoritmo.
4. Implementación del algoritmo
en algún lenguaje de
programación.
Ejemplo de algoritmo
Algoritmo para preparar un arroz
Para preparar un arroz se necesita una serie de pasos que aseguren un alimento de buen sabor y buena presentación.
Primero debemos tener los ingredientes:
Ingredientes
a. Una taza de arroz de su preferencia
b. Dos tazas de agua de la misma proporción que la taza de arroz
c. Aceite
d. Olla con tapa
e. Cebolla y/o ajo
f. Sal
Ejemplo de algoritmo
Algoritmo para preparar un arroz de manera natural Pseudocódigo
Algoritmo: preparar un arroz cocido
1. Calentar la olla con una cucharada de aceite . Entrada: Olla, tapa, sal, cebolla, ajo, aceite,
2. Agregar la cebolla y/o ajo 1 taza de arroz, dos tazas de agua.
3. Agregar la sal Salida: Arroz cocido
4. Vierta la taza de arroz y revuelva
5. Vierta las dos tazas de agua y revuelva INICIO:
6. Dejar que se evapore el agua con la olla sin tapa
7. Colocar la tapa y bajar la llama por 10 min 1. Calentar la olla con una cucharada de aceite .
8. Apagar la llama y dejar reposar 2. Agregar la cebolla y/o ajo
3. Agregar la sal
9. Servir y disfrutar 4. Vierta la taza de arroz y revuelva
5. Vierta las dos tazas de agua y revuelva
6. Dejar que se evapore el agua con la olla sin tapa
7. Colocar la tapa y bajar la llama por 10 min
8. Apagar la llama y dejar reposar
9. Servir y disfrutar
FIN
PSEUDOCÓDIGO
Un Pseudocódigo es una manera de representar las instrucciones de un algoritmo sin recurrir a ningún código de
programación particular. Para dicha realización debemos tener presente las variables y sus formas.
Una variable es un dato que puede tomar distintos valores según el algoritmo. Los nombres de las
variables deben empezar con una letra y solamente pueden contener letras, números y guiones bajos.
Tipos de variables:
Variable entera: 5; 18; -13
Variable real: -10; 3.5; 15.22 c;
Variable alfanumérica: a=“universitarios_2013” ; calificación=A;
valor=T
Variable lógica: x=verdadero; y=falso; aviso=falso
/b
Verificar que dado un número N este sea divisible por 3 b
Problema: Dado un número N queremos verificar que este sea divisible por 3
Inicio
Inicio
Declaramos las variables de entrada
N= (Número ingresado a verificar); Declaramos las variables de entrada
RN%3 #Residuo de la división entre N y 3; A base del rectángulo;
SI: B Altura del rectángulo;
R==0;
Escriba “El número N es divisible por 3”; AreaA*B;
Si no: Perimetro 2*(A+B);
Escriba “ El número N no es divisible por 3”;
Escriba “ El área del rectángulo es, Area” ;
Fin Escriba “El perímetro del rectángulo es, Perimetro”;
Fin
Programa sugerido por el programa Pseint
Sensus bussiness process Idle
ALGUNOS PROBLEMAS
1. Realizar un programa que me indique la raíz cuadrada del número ingresado.
2. Una maquina vende dulces cuyo costo es de $200 diseñe un algoritmo para que cuando la máquina reciba una
moneda de $500 o de $1000 de la orden de despachar el dulce y dar el cambio.
3. Realiza un programa que me dados tres lados verifique que dichos lados pueden conformar un triángulo.
4. Realizar un programa en el cual pueda adivinar un número entero del 1 al 20.
Para ejercicio 1:
Algoritmo: A partir de un número dado, encontrar su raíz cuadrada.
Entrada: Escriba un número real positivo
Salida: Raiz cuadrada de el numero positivo ingresado
Inicio
Si(x>=0):
a=;
Escriba: “ La raíz cuadrada es “, a ;
Si no:
Escriba: “EL número no es válido por ser negativo”
Fin
1. Una maquina vende dulces cuyo costo es de $200 diseñe un algoritmo para que cuando la máquina reciba una moneda
de $500 o de $1000 de la orden de despachar el dulce y dar el cambio.
Algoritmo: Dado el valor de la moneda ingresada, determinar el valor del cambio despachando el dulce y el cambio.
Entrada: Valor de la moneda
Salida: El cambio del dinero y su respectivo dulce
Hacer el diagrama de flujo
INICIO
Vmoneda “Ingrese el valor de la moneda”;
Si (Vmoneda==500):
Escriba(“El valor de su cambio es 300 y recoja su dulce”);
Si no:
Escriba(“El valor de su cambio es 800 y recoja su dulce”);
FIN
Realizar un programa en el cual pueda adivinar un número
entero del 1 al 20.
Algoritmo: A partir de la generación de un número aleatorio del 1 al 20 por el programa, ingresar números enteros de
1 a 20 hasta verificar que el numero ingresado sea igual al número generado.
Entrada: Número entero del 1 al 20.
Salida: “Adivinaste el número, El número es el número de entrada”
INICIO
Aleazar(1,20)+1;
x”;
Mientras (x!=Ale):
Escriba(“Intentelo otra vez”);
Si (x==Ale):
Escriba(“Adivinaste el número”);
FIN
Algunos programas realizados usando if
Algunos programas realizados usando if
Algunos programas realizados usando While
Algunos programas realizados usando while
Algoritmo: suma de enteros
#Este algoritmo suma enteros del 1 al N
#El usuario proporciona el valor de N
Variables:
Entero: j,suma,N ;
INICIO
Recibir: N ;
#Inicia j y la suma
suma ;
j ;
Mientras(j<=0):
suma ;
j ;
Fin Mientras
Mostrar”La suma de los N primeros enteros es: ”, suma ;
FIN
CICLO for: o ciclo para
Los ciclos Para son ciclos en los cuales la instrucción o el conjunto de instrucciones se repiten de un determinado
número de veces. Por esto, es necesario tener un contador para llevar la cuenta de cuantas veces se repite el ciclo Para.
El formato del pseudocódigo es:
Estructura del ciclo for es:
La estructura del ciclo Para es:
Para contador Valor inicial hasta valor_final; incremento: For contador in lista:
instrucciones Instrucciones
FinPara For contador in range():
Instrucciones
Ejemplo:
Realizar la suma de los enteros del 1 al 10
Algunos programas realizados usando for
Algoritmo: Suma de enteros.
#Este programa suma los enteros de 1 al 10
Variables:
Entero: Suma, contador
INICIO
suma0 ;# inicializa la suma
Para contador 1 hasta contador <=10; incremento 1:
Suma suma + contador ;
Fin_Para
Mostrar:”La suma es :\n“, suma ;
FIN
Cadenas, listas, Diccionarios y tuplas
Los datos se agrupan en conjuntos con distintas estructuras llamadas estructuras de datos. Las estructuras de datos más
sencillas son las cadenas, listas y los diccionarios.
Cadena:
Las cadenas son elementos alfanuméricos que se encierran entre comillas dobles o sencillas.
A=“perro” b=‘Casa’ carro=“Mazda3” animal=“Caballo_23”
El Indice, indica la posición que tiene un carácter en la cadena.
A[3]=r carro[1]=a carro[-2]=a b[0:2]=Ca animal[-8:-3]=ballo
Algunas operaciones de Cadenas
Suma o concatenación
Multiplicación de cadenas
Inmutabilidad de cadenas
Condición sobre una cadena
Separación de cadena
Cadenas, listas, Diccionarios y tuplas
Lista:
Las listas son colecciones de datos los cuales pueden ser de cualquier tipo. Las listas se agrupan dentro de corchetes.
Los elementos de la lista se separan con comas.
A=[1,2,3,4,5,6,7,8,9,10] b=[“coche”, “bici”,”patin”, 14 , -23]
El Indice, indica la posición que tiene un dato en una lista.
A[3]=3 b[0]=“coche”
Algunas operaciones de listas
Suma o concatenación
Multiplicación de listas
Mutabilidad de listas
Lista de cadenas a cadena
Cadenas, listas, Diccionarios y tuplas
Tuplas:
Una tupla es una estructura de datos conformada por elementos los cuales pueden ser de distinto tipo. Las tuplas
son inmutables. Las tuplas se encierran entre paréntesis y sus elementos se separan por comas
A=(1,2,3,4,5,6,7,8,9,10) b=(“coche”, “bici”,”patin”, 14 , -23)
El Indice, indica la posición que tiene un dato en una lista.
A[3]=3 b[0]=“coche”
Algunas operaciones de listas
Tuple(lista)
Len(tupla)
Max(tupla)
Min(tupla)
Cadenas, listas, Diccionarios y tuplas
Diccionario:
Los diccionarios son estructuras de datos consistentes en Listas de pares de variables. Cada par tiene un elemento
llamado clave (key) que puede ser de cualquier tipo y otro elemento llamado valor que también puede ser de
cualquier tipo. Los diccionarios de delimitan por llaves. El formato de un diccionario es:
a={“clave1”:valor1, “clave2”:valor2 “clave3”:valor3,…,”claveM”:valorM}
Un ejemplo de diccionario es
calificaciones={“Hugo”:9, “sara”:9.2 “Beto”:7.8 , “Xavier”:10}
Para seleccionar un valor solo es necesario dar la clave
Calificaciones[“Beto”]
Algoritmo: Adivinar la palabra establecida en el juego del ahorcado en máximo 5 turnos
INICIO
Escribir:”Escriba la palabra a adivinar”
Leer Palabra_adivinar
longitud=len(Palabra_adivinar)
Contador=0
Lista=[]
Letra=str(input()) #La letra a ingresar
Mientras(Lista!=Palabra_adivinar & Contador<5):
Para(i,range(longitud)):
if(letra==Palabra_adivinar[i]):
lista[i]=letra
else:
Contador=Contador+1
print(“ Haz perdido un turno”)