0% encontró este documento útil (0 votos)
51 vistas81 páginas

Algoritmos y Programación Parcial

El documento aborda conceptos fundamentales de algoritmos y programación, definiendo un algoritmo como un conjunto de instrucciones para resolver problemas. Se explican los lenguajes de programación, diagramas de flujo y pseudocódigo, así como su estructura y uso en la resolución de problemas. Además, se proponen ejercicios prácticos para aplicar estos conceptos, incluyendo la utilización de PSeInt como herramienta para trabajar con pseudocódigo.

Cargado por

xurx8 (Xur8)
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas81 páginas

Algoritmos y Programación Parcial

El documento aborda conceptos fundamentales de algoritmos y programación, definiendo un algoritmo como un conjunto de instrucciones para resolver problemas. Se explican los lenguajes de programación, diagramas de flujo y pseudocódigo, así como su estructura y uso en la resolución de problemas. Además, se proponen ejercicios prácticos para aplicar estos conceptos, incluyendo la utilización de PSeInt como herramienta para trabajar con pseudocódigo.

Cargado por

xurx8 (Xur8)
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ALGORITMOS Y

PROGRAMACIÓN

Inteligencia Artificial 4ºESO


ALGORITMOS
Un algoritmo es un conjunto de instrucciones ordenadas y
finitas que nos permite resolver un problema, partiendo de una
entrada y llegando a un resultado.

Por ejemplo: Una receta de cocina es un algoritmo, donde los
ingredientes son la entrada y el plato final el resultado.
Para programar una máquina tenemos que formalizar el problema,
construir un algoritmo y traducirlo en instrucciones.
LENGUAJES DE PROGRAMACIÓN
Son el conjunto de instrucciones y reglas gramaticales (sintaxis),
que crean un cuerpo formal capaz de programar un sistema.


Hay muchos, algunos de ellos: C++, JAVA, Python...
DIAGRAMA DE FLUJO
Es una forma gráfica de representar un
algoritmo. En ocasiones se entiende mejor
la solución a un problema con este método.
Un diagrama de flujo es una
representación gráfica de los pasos que
seguimos para realizar un proceso;
partiendo de una entrada, y después de
realizar una serie de acciones, llegamos a
una salida.
Cada paso se apoya en el anterior y sirve
de sustento al siguiente.
DIAGRAMA DE FLUJO
Símbolos y uso:

Se usa para inicio o fin.


Se usa para mostrar Se usa para introducir
También se puede usar un
mensajes por pantalla. datos por teclado
Rectángulo con los bordes
Redondeados.

Se usa para realizar


Se usa para realizar cálculos Preguntas que puedan
o asignar valores a una Ser respondidas por si/no,
variable. Verdadero/Falso,...
DIAGRAMA DE FLUJO
Ejemplo:
Diagrama que indica cual de los dos
números introducidos es mayor.
DIAGRAMA DE FLUJO
Ejercicios propuestos:
a. Realizar un diagrama de flujo que permita leer dos valores,
determinar cual de los dos valores es el menor y lo escriba.
b. Realizar un diagrama de flujo que sume dos números.
c. Realizar un diagrama de flujo que me indique si un número
introducido por pantalla es par o no.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
a. Realizar un diagrama de flujo
que permita leer dos valores,
determinar cual de los dos
valores es el menor y lo escriba.

Las soluciones proporcionadas


son un ejemplo, no hay
una única solución válida.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
b. Realizar un diagrama de flujo
que sume dos números.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
c. Realizar un diagrama de flujo
que me indique si un número
introducido por pantalla es par o
no.
DIAGRAMA DE FLUJO
Ejercicios propuestos:
a. Realiza un diagrama de flujo que nos muestre el resultado del área de un triángulo en
pantalla.
b. Realiza un diagrama de flujo que nos muestre el resultado de la suma de los primeros
50 números.
c. Realiza un diagrama de flujo que nos muestre el número mayor de tres números
dados.
d. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son
bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto,
pero el año 2000 si lo fue. Hacer un diagrama de flujo que dado un año A nos diga si es
o no bisiesto.
DIAGRAMA DE FLUJO
Ejercicios propuestos Solucionados:
a. Realiza un diagrama de flujo que nos muestre el resultado
del área de un triángulo en pantalla.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
b. Realiza un diagrama de flujo
que nos muestre el resultado de
la suma de los primeros 50
números.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
c. Realiza un diagrama de flujo
que nos muestre el número
mayor de tres números dados.
DIAGRAMA DE FLUJO
Ejercicios propuestos
Solucionados:
d. Un año es bisiesto si es
múltiplo de 4, exceptuando los
múltiplos de 100, que sólo son
bisiestos cuando son múltiplos
además de 400, por ejemplo el
año 1900 no fue bisiesto, pero el
año 2000 si lo fue. Hacer un
diagrama de flujo que dado un
año A nos diga si es o no
bisiesto.
PSEUDOCÓDIGO
El pseudocódigo es una descripción de alto nivel compacta e
informal de un programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de
programación real, pero está diseñado para la lectura humana
en lugar de la lectura mediante máquina y con independencia de
cualquier lenguaje de programación.
PSEUDOCÓDIGO
Objetivos de un Pseudocódigo:
Permite una detección rápida de errores: dado que el
pseudocódigo está escrito en un formato legible por humanos, es
más fácil editar y descubrir errores antes de escribir una sola línea
de código.
Ventajas y Desventajas de un Pseudocódigo:
Ventajas: Una de las principales ventajas del pseudocódigo es
que permite a los desarrolladores esbozar su código sin atascarse
en la sintaxis y la estructura de un lenguaje concreto.
Desventajas: Cada persona maneja su pseudocódigo. Tal vez no
entiendas la notación de la persona que lo explica.
PSEUDOCÓDIGO: ESTRUCTURA
Declaraciones
Son las directrices indicadas al computador para poder llevar a cabo una
acción determinada.
Iteraciones o Bucle
Iterar es repetir un conjunto de instrucciones para generar una secuencia de
resultados. Se hacen repeticiones para poder lograr un objetivo
determinado.
Condiciones
Durante el desarrollo de un algoritmo se necesitan evaluar expresiones y
ejecutar instrucciones dependiendo si la expresión fue valuada como
verdadera o falsa.
PSEUDOCÓDIGO: ESTRUCTURA

Cabecera:

Programa Nombre

Tipos de datos:

Constantes

Variables (entero, real,…)

Cuerpo

Inicio

Instrucciones

Fin
PSEUDOCÓDIGO: ESTRUCTURA
Ejemplos:
Pseudocódigo que indica la
suma de dos números.
PSEUDOCÓDIGO: ESTRUCTURA
Ejemplos:
Pseudocódigo que indica cual
de los dos números
introducidos es mayor.
¿Qué falta en el programa?
PSEUDOCÓDIGO: ESTRUCTURA
Ejemplos:
Pseudocódigo que indica la
tabla de multiplicar de un
número introducido por el
usuario.
PSEUDOCÓDIGO
Ejercicios propuestos:
a. Realiza el pseudocódigo de un programa que indique si un
número introducido es positivo o negativo.
b. Realiza el pseudocódigo de un programa que indique si un
número dado por el usuario es par o impar.
c. Realiza el pseudocódigo de un programa que calcule el factorial
de un número dado por el usuario.
d. Realiza el pseudocódigo de un programa que calcule el área de
un triángulo.
PSEUDOCÓDIGO
Ejercicios propuestos
Solucionados:
a. Realiza el pseudocódigo de
un programa que indique si un
número introducido es positivo
o negativo.
PSEUDOCÓDIGO
Ejercicios propuestos
Solucionados:
b. Realiza el pseudocódigo de
un programa que indique si un
número es par o impar.
PSEUDOCÓDIGO
Ejercicios propuestos
Solucionados:
c. Realiza el pseudocódigo de
un programa que calcule el
factorial de un número dado por
el usuario.
PSEUDOCÓDIGO
Ejercicios propuestos
Solucionados:
d. Realiza el pseudocódigo de un
programa que calcule el área de
un triángulo.
PSeInt

Es un intérprete de pseudocódigo en lenguaje español.

Permite comprobar el funcionamiento de un algoritmo generado
en pseudocódigo.

También permite generar algoritmos mediante diagramas de
flujo.

Su creador es Pablo Novara (@Zaskar_84)

Link: [Link]
PSeInt

Descarga e instalación en Linux:

El paquete para GNU/Linux es un comprimido tgz. Si no sabe qué versión
elegir (32 o 64 bits) ejecute el comando "uname -m" en una terminal, y si el
resultado es "x86_64" seleccione la de 64bits, en caso contrario la de
32bits.

No necesita instalación, solo descomprimir y ejecutar en el directorio
"pseint" el archivo "pseint". Puede hacerlo desde una terminal con los
comandos:
– tar -xzvf [Link]
– cd pseint
– ./pseint
CONFIGURACIÓN PSeInt

Descubre PseInt:
– [Link]

Características y funcionalidades:
– [Link]

Uso:
– [Link]
ESTRUCTURA DE UN ALGORITMO

Los algoritmos comenzarán con la instrucción Algoritmo y
finalizarán con la instrucción FinAlgoritmo

Para el nombre del algoritmo usaremos la convención
“UpperCamelCase”, la primera letra de todas las palabras, sin
espacios, se pone en mayúscula.
– Ejemplo: EjercicioHolaMundo

Para introducir comentarios se usa // delante del comentario.
– Ejemplo: // esto es un comentario
INDENTADO

Es un sangrado que se utiliza para
mejorar la legibilidad del código.

No es imprescindible para el
funcionamiento del algoritmo, pero es
muy recomendable acostumbrarse a
él desde el principio.

En algunos lenguajes de programación
si que es obligatorio su uso.

PseInt nos ayuda con el indentado.
EJERCICIO 1

Escribir por pantalla el típico mensaje ¡Hola Mundo!

Generar el diagrama de flujo del algoritmo
Solución 1
VARIABLES

Son datos que se almacenan en una posición de la memoria
del ordenador para poder usarlas con posterioridad, o poder
alterar su valor.
– Ejemplo: Las vidas que tiene un personaje en un videojuego

Las variables han de ser definidas dentro de alguno de los
grupos de tipos de datos y deben tener un identificador
válido para referirse a ellas dentro del algoritmo.
TIPOS DE DATOS

Números Reales: NUMERO, NUMERICO, REAL

Números Enteros: ENTERO

Cadenas de caracteres: CARACTER, TEXTO, CADENA
– Estas variables se escriben entre comillas, simples o dobles

Verdadero o Falso: LOGICO
IDENTIFICADOR

Debe comenzar con letras.

Puede contener números o guión bajo_

No puede contener espacios, acentos, ni operadores, y no
puede coincidir con una palabra reservada para no generar
ambigüedad.

Usaremos la convención de nombres “lowerCamelCase”,
comenzando la primera palabra por minúscula y las sucesivas
con Mayúscula. (Ejemplo: numVidas)
DECLARACIÓN DE VARIABLES
Todas las variables utilizadas deben ser declaradas o definidas.
¿Como le indicamos el identificador y el tipo a una variable?

Definir identificador Como tipodedato


Ejemplos:
– Definir numVidas Como entero
– Definir acierto Como Logico
ASIGNACIÓN DE VARIABLES

Si no asignamos un valor inicial a una variable, por defecto:
– Las variables numéricas se inicializarán a 0
– Las lógicas a FALSO
– Y las de tipo texto se dejarán vacías “ “

Para asignar un valor, ya sea de una operación o directamente un dato
usaremos “←” o mas común el símbolo “ = ”
Variable = operación/dato ó variable ← operación/dato
– Ejemplos: numVidas = 3
a= b+5
OPERADORES Y FUNCIONES MATEMÁTICAS
ESCRITURA

Esta estructura sirve para escribir información por pantalla:

Escribir “TEXTO”, variables datos u operaciones

– Ejemplos: Escribir “Número de Vidas”, numVidas


Escribir “Resultado”, a
LECTURA

Sirve para tomar valores por teclado y asignarlos a las
variables deseadas.

Si hay más de una variable estas se han de separar por comas.

Leer variable1, variable2;


EJERCICIO 2

Pedir su nombre al usuario y saludarlo por su nombre.
EJERCICIO 3

Convertir un dato de temperatura en Celsius a Kelvin
(K = C + 273)
EJERCICIO 4

Convertir una distancia en millas náuticas a metros.
– 1 milla náutica = 1852 metros
EJERCICIO 5

Calcular el precio final de un artículo conociendo el precio
inicial y el porcentaje de descuento
EJERCICIO 6

Pide al usuario dos números. Posteriormente muestra por
pantalla el resultado de sumarlos, restarlos, multiplicarlos,
dividirlos, hacer la potencia del primero elevado al segundo y el
resto que resulte de dividir el mayor entre el menor.
EJERCICIO 7

Calcula la longitud de una circunferencia y su área conociendo
el radio.
SI … ENTONCES ...
Esta estructura permite ejecutar distinto código dependiendo del
resultado de la evaluación de una expresión lógica, que puede ser
VERDADERA o FALSA.
Si expresión_logica Entonces
acciones_verdadero
SiNo
acciones_falso
FinSi
OPERADORES LÓGICOS Y RELACIONALES
EJERCICIO 8

Indica si un número dado es positivo o negativo.
EJERCICIO 9

Indica si un número entero dado es par o impar.
EJERCICIO 10

Determinar cuál es el menor de tres números dados.
SEGÚN
Segun variable Hacer
Opción₁:
acciones_opcion1
Opción₂:
acciones_opcion2
De Otro Modo:
accion_alternativa
FinSegun
EJERCICIO 11

Indica la calificación de un alumno (SOBRESALIENTE,
NOTABLE, BIEN, SUFICIENTE, SUSPENSO) según su
calificación numérica.
BUCLE MIENTRAS
Esta estructura permite ejecutar un código mientras una condición
lógica sea verdadera. Al terminar de ejecutar el código se vuelve a
comprobar la condición.
Es imprescindible que dentro del bucle se altere de alguna manera la
condición lógica para que no se genere un bucle infinito, sin salida.
Mientras expresion_logica Hacer
secuencia_de_acciones
FinMientras
Ejemplo
EJERCICIO 12

Escribe todos los números enteros comprendidos entre el 0 y el
100 (incluidos), de uno en uno, y en orden creciente.
REPETIR-MIENTRAS

Muy parecido al bucle anterior, con la importante diferencia de
que la evaluación de la condición lógica se realiza después de
que se haya ejecutado el código. Eso garantiza que el código se
ejecutará al menos una vez

Repetir
secuencia_de_acciones
Mientras Que expresion_logica
EJERCICIO 13

Haz un juego en el que el usuario tenga que acertar un número
al azar entre el 0 y el 9. Después el programa indicará cuantos
intentos ha necesitado para acertar.
– Nota: azar(n) retorna un número al azar entre 0 y n-1
Tercer bloque de ejercicios

Realiza los siguientes ejercicios utilizando SOLO estructuras
que hayamos visto en clase o estructuras que se manden
explícitamente. Cualquier ejercicio que contenga “algo” que no
se haya visto o que no sea lo pedido, se puntuará con un cero.
EJERCICIO 14

Escribe un pseudocódigo que resuelva una ecuación cuadrática
de la forma 𝑎 𝑥 2+𝑏 𝑥 +𝑐 =0 , donde los coeficientes 𝑎 , 𝑏 y 𝑐 son
proporcionados por el usuario. Considerad todas las posibles
opciones.
EJERCICIO 15

Realiza un bucle para leer números de teclado y que parará
cuando se introduzca el valor 0. Después mostrará la suma de
los números y cuál de ellos es el mayor.
EJERCICIO 16

Escribe un pseudocódigo que calcule la suma de los dígitos de
un número entero positivo.
EJERCICIO 17

Haz un programa que permita ingresar números. El programa
debe contar cuántos números pares se ingresan antes de que
el usuario ingrese un número impar.
EJERCICIO 18

Diseña un programa que permita ingresar las notas de los
estudiantes (entre 0 y 10, fuera de este rango no se contarán)
hasta que el usuario ingrese un -1. El programa debe contar
cuántas notas son aprobadas (mayores o iguales a 6).
EJERCICIO 19

Crea un programa que permita ingresar notas de estudiantes
(entre 0 y 10 y pueden contener decimales). El usuario termina
de ingresar notas al ingresar un -1. El programa debe calcular y
mostrar el promedio de las notas ingresadas y se debe de
realizar con la estructura REPETIR.
EJERCICIO 20

Crea un programa que genere la tabla de multiplicar de un
número ingresado por el usuario. La tabla debe mostrar los
valores de multiplicar ese número por los números del 1 al 10.
Por ejemplo, la tabla del 2 debería mostrar en ejecución:
2x1=2
2x2=4
2 x 3 = 6…...
EJERCICIO 21

Crea un programa que clasifique a una persona según su edad:

Si la edad es menor a 12, es un "Niño".

Si la edad está entre 12 y 17, es un "Adolescente".

Si la edad está entre 18 y 64, es un "Adulto".

Si la edad es 65 o más, es un "Adulto Mayor".
EJERCICIO 22

Crea un programa que calcule y muestre el precio final de un
producto según el precio inicial y el tipo de cliente, estos datos
se pedirán por pantalla:

Si el cliente es "Regular", no hay descuento.

Si el cliente es "Estudiante", el descuento es del 10%.

Si el cliente es "Premium", el descuento es del 20%.
EJERCICIO 23

Crea un programa que determine si un año es bisiesto o no.
Recordamos, un año es bisiesto si:

Es divisible entre 4.

Si es divisible entre 100, también debe ser divisible entre
400.
PARA

El bucle "Para" es una estructura de control que permite repetir un conjunto de
instrucciones un número específico de veces. Es ideal cuando sabes de antemano
cuántas veces deseas ejecutar el bucle.

PARA variable ← inicio HASTA fin HACER


// Instrucciones dentro del bucle
FIN PARA

variable: Es el contador que cambia de valor en cada iteración.


inicio: Es el valor inicial de la variable.
fin: Es el valor final de la variable.
PARA

El bucle incrementa automáticamente la variable en cada iteración, normalmente en pasos de 1. Si
deseas cambiar el incremento, puedes especificarlo con PASO valor.

Ejemplo 1: Imprimir números del 1 al 4
INICIO
PARA i ← 1 HASTA 4 HACER
Escribir i
FIN PARA
FIN

Salida:
1
2
3
4
PARA

Ejemplo 2: Calcular la suma de los números pares del 1 al 100
INICIO
suma ← 0
PARA i ← 1 HASTA 100 PASO 2 HACER
suma ← suma + i
FIN PARA
Escribir "La suma de los números pares 1 al 100 es:",
suma
FIN
Cuarta entrega

Realiza los siguientes ejercicios utilizando SOLO estructuras
que hayamos visto en clase o estructuras que se manden
explícitamente. Cualquier ejercicio que contenga “algo” que no
se haya visto o que no sea lo pedido, se puntuará con un cero.
EJERCICIO 24

El programa hace al jugador tres preguntas tipo test, cada una
con tres posibles soluciones. El jugador ganará un punto por
cada pregunta que acierte. Y se restarán los fallos.

Se mostrará un mensaje final adecuado al número de aciertos
que tenga el jugador.
EJERCICIO 25

Realizar un programa que simule el lanzamiento de un dado de
6 caras. El jugador puede lanzar el dado tantas veces como
quiera eligiendo “lanzar” para realizar una nueva tirada y “salir”
para acabar el juego.

El programa mostrará el resultado de cada lanzamiento y al
finalizar cual fue la mejor tirada.
EJERCICIO 26

Realiza un programa que dado un número en segundos me
diga cuantas horas, minutos y segundos son. Si pasa de 12
horas deberás mostrar el texto “pm”.

Realiza la comprobación para ver que el resultado es
adecuado.
EJERCICIO 27

Realiza un algoritmo con la estructura Para que compruebe si
un número es primo. Debe comprobar si es par o impar.

Un número primo es aquel que solo es divisible por 1 y por él
mismo.
EJERCICIO 28

Realizar un programa debe que reciba 10 números, debe
contar cuántos son positivos, negativos, ceros y cuántos son
enteros. Utilizar la estructura Para.
EJERCICIO 29

Realiza un programa que simule una caja de “supermercado”.
– Se introducirá nombre del artículo, precio y cantidad.
– Si en nombre de artículo se introduce “Fin” el programa se detendrá.
– Se mostrará el precio total por artículo y el precio total de la compra.
– Si se compran más de 5 unidades de un artículo se le realizará un
5% de descuento.
– El precio final deberá contar con el 16% de IVA.

También podría gustarte