1. Escriba un algoritmo que pida el ingreso por teclado de dos números enteros y que muestre por pantalla la suma, resta, producto y división de los mismos.
Solución
inicio
//Declarando variables a usar
var entero A var entero B var entero suma var entero resta var entero producto var entero division escribir("Ingrese un numero: ") //Solicitando ingreso de datos por teclado leer(A) //Leyendo el primer número desde el teclado escribir("Ingrese un numero: ") //Solicitando ingreso de datos por teclado leer(B) // Leyendo el segundo número desde el teclado // Realizando operaciones suma = A +B resta = A - B producto = A*B division = A/B //mostrando resultados escribir("La suma es: ") escribir(suma) escribir("La resta es: ") escribir(resta) escribir("El producto es:") escribir(producto) escribir("La division es: ") escribir(division) fin
2. Escriba un algoritmo que muestre por pantalla un menú y que solicite el ingreso por teclado de una opción del mismo; cuando se haya elegido dicha opción le indique al usuario su elección.
Solución:
inicio //Declarando las variables var entero opcion //Mostrando el menú escribir("1. Opción 1") escribir("2. Opción 2") escribir("3. Opción 3") escribir("4. Salir") escribir("Ingrese una opción: ") //Solicitando el ingreso de datos por teclado leer(opcion) //Leyendo la opción ingresada por teclado segun_sea (opcion) caso 1: //opción 1 escribir("Usted ha elegido la opción 1") interrumpir caso 2: //opción 2 escribir("Usted ha elegido la opción 2") interrumpir caso 3: //opción 3 escribir("Usted ha elegido la opción 3") interrumpir caso 4: //opción 4 escribir("Usted ha elegido la opción Salir") interrumpir otros: //Si no coincide con los casos anteriores escribir("Opcion no válida") interrumpir fin_segun fin
En este algoritmo se utilizó una estructura de selección que nos permite relacionar un conjunto de acciones al valor de la variable dada como parámetro, este menú está constituido de 4 opciones (opción 1, opción 2, opción 3 y salir), las cuales están definidas en cada caso; además cuando se ingresa un valor que nocoincide con los casos definidos, se realizan las acciones descritas en «otros«.
3. Escriba un algoritmo que repita una cadena de caracteres un número de veces dado.
Solución:
Existen muchas formas de realizar esto:
inicio //declarando variables var cadena cadena1 var entero veces var entero contador escribir("Ingrese una cadena de caracteres") leer(cadena1) escribir("Ingrese el número de veces que desea que se repita la cadena") leer(veces) contador = 0 //Inicializando el contador mientras(contador < veces ) //Repitiendo mientras el contador sea menor que el número escribir(cadena1) //de veces contador++//incrementando el contador fin_mientras fin Otra forma inicio //declarando variables var cadena cadena1 var entero veces var entero contador escribir("Ingrese una cadena de caracteres") leer(cadena1) escribir("Ingrese el número de veces que desea que se repita la cadena") leer(veces) /*La estructura "para" asigna el un valor al contador, evalúa una condición y si esta se cumple, se realizan las acciones indicadas, luego se incrementa el contador */ para contador=0 hasta contador<veces contador++ escribir(cadena1) fin_para fin
Muchos lenguajes de programación necesitan que se declaren variables y definan constantes antes de usarlas.
En nuestro pseudocódigo vamos a declarar las variables de la siguiente forma:
var tipoDato nombreVariable
Ejemplos:
var entero nota
var caracter letra
var real costo
Hay que definir las constantes también:
definir nombre valor
Ejemplos:
definir PI 3.14
definir RADIO 3
definir JUGADORES 5
¿Por qué las variables y constantes deben ser declaradas y siempre al inicio ?
Para ilustrarlo mejor voy a poner un ejemplo sencillo: si nos contratan para construir una pared, el cliente SIEMPRE pregunta – ¿Y que necesita para construirla? -, en ese momento como buenos obreros debemos pensar en los recursos que usaremos para realizar nuestro tabajo (bloques, cemento, arena, herramientas, etc); no sería bueno que mientras construimos nuestra pared pidamos al cliente que compre más material porque no lo habíamos incluido en nuestra lista (el cliente se enfadaría y con mucha razón), y tampoco usamos cosas que no tenemos. Antes de desarrollar nuestro algoritmo, debemos calcular las cosas que necesitamos y entre ellas están las variables y constantes que usaremos.
Ejemplos:
1.- Nos piden que desarrollemos un programa que dado el radio calcule el perímetro de un círculo.
Solución:
El perímetro de un círculo es igual a 2*PI *radio, y como todos conocemos el valor de PI es 3.14
El algoritmo a usar será el siguiente:
inicio
// Definiendo las Constantes
definir PI 3.14
// Declarando las Variables
var real radio
var real perimetro
escribir(«Ingrese el radio del círculo«) //Solicitando el ingreso de el radio
leer(radio) //leyendo datos desde el teclado
perimetro = 2*PI*radio //Calculando el perímetro
escribir(«El perímetro es: «) //Mostrando un mensaje indicando que se mostrará el resultado
escribir(perimetro) //Mostrando el resultado
fin
2.- Nos piden que desarrollemos un programa que proporcionándole el la longitud de un lado calcule el volúmen de un cubo.
Solución:
El volúmen de un cubo es igual al lado al cubo lo que es equivalente a lado*lado*lado.
El algoritmo a usar será el siguiente:
inicio
// Declarando las Variables
var real lado
var real volumen
escribir(«Ingrese la longitud del lado del cubo«) //Solicitando el ingreso de datos
leer(lado) //leyendo datos desde el teclado
volumen = lado*lado*lado //Calculando el volúmen
escribir(«El volúmen es: «) //Mostrando un mensaje indicando que se mostrará el resultado
escribir(volumen) //Mostrando el resultado
fin
Pseudocódigo
El pseudocódigo es una herramienta de programación en que las palabras se escriben de manera similar en un idioma local (generalmente en inglés) que facilitan tanto la escritura como la lectura de programas.
En este curso vamos a usar un pseudocódigo que nos permita familiarizarnos con otros lenguajes de programación, además manejaremos instrucciones en español y de tipos de control secuencial, de selección y de repetición.
Instrucciones a utilizar:
inicio –> Indica el inicio de un algoritmo.
fin –> Indica el final de un algoritmo.
Estructuras secuenciales:
Son aquellas en las que una instrucción sigue a otra en secuencia hasta el final del proceso.
Estructuras selectivas
Las estructuras selectivas evalúan una condición y de acuerdo al resultado de la misma efectúa una acción u otra.
Estructuras repetitivas
Las estructuras repetitivas realizan acciones un número de veces determinado por condiciones o asignado por el desarrollador.
En el capítulo anterior analizamos lo que es un programa y las fases que requiere el desarrollo del mismo. Ahora nos centraremos en el diseño de algoritmos, previamente vimos un par de ejemplos, ahora profundizaremos en este tema.
¿Qué es un algoritmo?
Un algoritmo se puede definir como el camino que hay que seguir para llegar a la solución del problema planteado. El diseño de este camino o procedimiento debe ser siempre previo a la realización de del programa que lo ejecute.
El método algorítmico se basa en descomponer el programa en sucesivas secuencias de forma que al ir recogiéndolas nos permite llegar a la solución final.
Aquí algunos ejemplos:
1. Una máquina está construida para suelos necesita ser programada para delimitar un terreno de 20 metros de largo y 15 de ancho. Escriba un algoritmo que realice esta tarea.
La máquina acepta las siguientes instrucciones:
Subir brocha Sube la brocha para que ésta no pinte el suelo.
Bajar brocha. Baja la brocha para que ésta pinte el suelo.
Avanzar <número de metros> Mueve la máquina la cantidad de metros indicada.
Girar <ángulo> Gira la dirección de la máquina.
La máquina se encuentra inicialmente con la brocha subida y se encuentra en una de las esquinas del terreno a marcar.
Solución:
INICIO
Bajar brocha
Avanzar 15
Girar 90
Avanzar 20
Girar 90
Avanzar 15
Girar 90
Avanzar 20
Girar 90
FIN
Existe un programa llamado KTurtle para Linux (LOGO para Windows) y sirve para practicar con instrucciones sencillas como las que vimos en este ejercicio, es una herramienta muy útil para practicar con algoritmos. Si te animas a hacer estas figuras en KTurtle deja el algoritmo como comentario.
2. Una pareja de esposos con 2 hijas y 2 hijos, un policía y un ladrón necesitan cruzar el río y para ello tienen una balsa, escriba el algoritmo necesario para que todos puedan cruzar el río.
Las reglas son las siguientes:
• 1. Solo hasta 2 personas en la balsa pueden cruzar al mismo tiempo
• 2. El Padre no puede estar con ninguna de las hijas si la Madre no esta presente
• 3. La Madre no puede estar con ninguno de los hijos si el Padre no esta presente
• 4. El Ladrón no puede estar con ningún miembro de familia sin la presencia del Policía
• 5. Solo el Padre, la Madre y el Policía saben como funciona la balsa
Si quieren probar aquí les dejo un pps con el juego XD
Solución:
INICIO
El policía y el ladrón cruzan el río
El policía regresa
El policía y un niño cruzan el río
El policía y el ladrón regresan
El padre y el otro niño cruzan el río
El padre regresa
El padre y la madre cruzan el río
La madre regresa
El policía y el ladrón cruzan el río
La madre y una niña cruzan el río
El policía y el ladrón regresan
El policía y la niña cruzan el río
El policía regresa
El policía y el ladrón cruzan el río
FIN
Un programa de computadora es un conjunto de instrucciones –órdenes dadas a la máquina- que producirán la ejecución de una determinada tarea. En pocas palabras, un programa es un medio para conseguir un fin. El proceso de programación es básicamente un proceso de solución de problemas.
El desarrollo de un programa requiere las siguientes fases:
Definición y análisis del problema
Diseño de algoritmos
Codificación del programa
Depuración y verificación del programa
Documentación
Mantenimiento
El programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, donde estos últimos incluirán las técnicas para obtener las salidas a partir de las entradas.
Para ilustrarlo mejor:
Problema: Tengo mucha sed y decido ir a comprar usa cerveza a una barra. Una vez estando en la barra me propongo comprarla y surgen las interrogantes: ¿Qué necesito? ¿Qué pasos debo seguir para llevar a cabo mi objetivo? ¿Qué voy a recibir?
Objetivo: Obtener una cerveza comprándola en una barra.
Entradas: Para comprar una cerveza necesito dinero, y un vendedor.
Salidas: Cerveza.
Solución del problema:
INICIO
Me acerco al vendedor
Le solicito al vendedor una cerveza
El vendedor me solicita dinero
Le entrego el dinero al vendedor
El vendedor me entrega la cerveza
FIN
Ahora quiero beberme la cerveza
Objetivo: calmar mi sed bebiendo una cerveza.
Entradas: una cerveza (asumamos que es una botella con cerveza), una boca y una mano.
Salida: ninguna
Solución del problema:
INICIO
Tomo la cerveza con la mano
Acerco la cerveza a la boca
Abro la boca
Inclino la botella dejando que el líquido entre en la boca
FIN
Aunque parezca tonto, la programación es así, se necesita tener en cuenta hasta el más mínimo detalle.