Semana 5 Algoritmos
Semana 5 Algoritmos
INTRODUCCION A LA
COMPUTACION
Docente:
ANIVAL TORRE CAMONES
Semestre: 2025-1
Semana 5
ALGORITMOS
2
Contenido
Análisis
2 del enunciado de un problema
5 Diseño de un algoritmo
6 Registro de instrucciones
Introducción
COMPUTACION
SOFTWARE DE SOFTWARE DE
ALGORITMO
SISTEMA APLICACION Progra
ma
Sistema Procesador de texto Es un conjunto preciso y Matemática,
operativo Hoja electrónica ordenado de instrucciones informática,
Compiladores Gestor de base de datos o reglas definidas para ingeniería,
Aplicaciones Web realizar una tarea o resolver ciencia de
Sistemas de Información un problema específico. datos
Sistemas estadísticos …
Definición de algoritmo
• Es la codificación de un algoritmo en un
Programa:
lenguaje de programación concreto.
• Características: completo, no ambiguo,
finito (tiempo)
Para programar hay que analizar el problema y diseñar una estrategia de resolución.
Hay que considerar todas las alternativas lógicas posibles (no dejar cabos sueltos).
5
Algoritmo y problema
Unidad central
de
procesamiento
Metodología de programación
Mantener y modificar
el programa
Probar y depurar el prog.
Ejecutar el programa
Compilar
CONCLUSIONES
#include <iostream>
using namespace std;
// Definición de la función suma Es un bloque de código que realiza
int suma(int a, int b) {
return a + b; una tarea específica y puede ser
} reutilizado en diferentes partes del
int main() { programa.
int num1, num2;
// Solicitar al usuario que ingrese dos números Las funciones se utilizan para
cout << "Ingrese el primer número: "; modularizar el código y hacerlo más
cin >> num1; fácil de mantener y entender.
cout << "Ingrese el segundo número: ";
cin >> num2;
// Llamar a la función suma y mostrar el resultado
cout << "La suma es: " << suma(num1, num2) << endl;
return 0;
}
¿Qué es una biblioteca?
Para entrada y
Para manejar Son funciones predefinidas
salida de datos
iostream vector vectores que se pueden utilizar en
(cin, cout).
dinámicos un programa.
Para Pueden ser estándar como
manipular
string
Biblio map
Para mapas la biblioteca de funciones
cadenas de clave-valor de C++ o específicas para
texto
teca un lenguaje o plataforma
en particular.
Para usar Funciones
funciones como
algorithm cmath matemáticas
sort, find, count, como sqrt, pow,
etc. sin, cos, etc.
¿Qué es una depuración?
Ausencia de
Ambigüedades
Propiedades de un algoritmo
La ejecución de un algoritmo
programado debe finalizar después de
Limitaciones Generalidad que se haya llevado a cabo una
cantidad finita de operaciones.
Ausencia de
Ambigüedades
Dominio
Secuencialidad
Se presentan cuando no han
especificado todas las situaciones que se
pueden presentar en la práctica o se han
descuidado de su
Si se presenta, se importancia.
tiene tres opciones:
Limitaciones Dominio Generalidad (1) Ignorarlo porque es improbable y
quizás nunca ocurra.
(2) Restringir el dominio del algoritmo
para excluirlo.
Ausencia de (3) Corregir el algoritmo.
Ambigüedades
Errores de lógica:
P1
P1.1 P1.2 P1.3
Composición de las
soluciones de los sub-
problemas para lograr la
solución final
El diseño del algoritmo, realizado con esta técnica recibe el nombre
de DISEÑO DESCENDENTE y resulta un algoritmo muy legibles,
claros, fáciles de entender, seguir y corregir.
Si un sub-problema es
grande, por descomposición
y continuando hasta que
resulten de la
descomposición sub - CONFECCIÓN
problemas fácilmente
DE LOS
resolubles.
PLANOS
CONTRATACIÓN
DEL
PERSONAL
ANÁLISIS
PEDIDO DE REDACCIÓN
DE LOS ENTREVISTAS
CURRICULUM DE LOS
CURRÍCULUM PERSONALES
VITAE CONTRATOS
VITAE
Otro sub- problema
COMPRA
DE
MATERIALES
1 2
flujo Inicio o termino Conector en la Conector en la
misma pag. pag. diferente
Ingreso de datos
Salida de información
Decisión
Programa1
PROBLEMA 01
Dado dos números enteros, hallar la b) Diagrama
c) Seudocódigo
suma. Se pide: de flujo
a) Declaración de variables (2 puntos)
b) Diagrama de flujo (2 puntos) Inicio Inicio
c) Seudocódigo (2 puntos) n1, n2, //Variables
suma: n1, n2, suma: Entero
d) Programa en C++ (4 puntos)
Entero
SOLUCIÓN //Entrada
n1, n2 n1, n2
a) Declaración de variables suma = n1+n2 //Proceso
ENTRADA SALIDA suma=n1+n2
suma //Salida
Variable Símbolo Variable Símbolo suma
Número1 n1 Suma suma Fin
Número2 n2 Fin
Programa1
Dev C++
1. Incluye la biblioteca estándar <stdio.h> para
#include <stdio.h>
int main() { poder utilizar funciones de entrada/salida
int n1, n2, suma; estándar.
printf("Teclee dos números enteros: "); 2. Define la función main(), que es el punto de
scanf("%d %d", &n1, &n2); entrada de todos los programas en C.
suma = n1 + n2; 3. Declara tres variables enteras n1, n2 y suma.
printf("La suma es %d\n", suma); 4. Imprime un mensaje pidiendo al usuario que
return 0; ingrese dos números enteros.
} 5. Lee los dos números enteros ingresados por
el usuario utilizando scanf().
6. Calcula la suma de los dos números y la
guarda en la variable suma.
7. Imprime el resultado de la suma en la pantalla
Programa2
PROBLEMA 01
Hallar la potencia de an, donde a y n pertenecen
a los enteros positivos. b) Diagrama c) Seudocódigo
Se pide: de flujo
a) Declaración de variables (dos puntos) Inicio
b) Diagrama de flujo (dos puntos) INICIO
//Variables
c) Seudocódigo (dos puntos)
a, n, p: a, n, p: Entero
d) Programa en C++ (cuatro puntos)
SOLUCIÓN Entero //Entrada
a, n
a) Declaración de variables a, n
//Proceso
ENTRADA SALIDA
p = a**n p=a**n
Variable Símbolo Variable Símbolo //Salida
base a Potencia p p
p
exponente n FIN Fin
Programa2
C++
1. Incluye las bibliotecas estándar <stdio.h> y <math.h>, que
# include <stdio.h> contienen las funciones necesarias para entrada/salida y
# include <math.h> operaciones matemáticas, respectivamente.
int main() { 2. Define la función main(), que es el punto de entrada del
programa.
int a, n, p; 3. Declara tres variables enteras a, n y p para almacenar la base,
printf("Teclee la base y el exponente: "); el exponente y el resultado de la potencia, respectivamente.
scanf("%d %d" ,&a, &n); 4. Imprime un mensaje en la consola solicitando al usuario que
p=pow(a, n); ingrese la base y el exponente.
5. Utiliza la función scanf() para leer dos números enteros
printf("la potencia es %d\n ", p); ingresados por el usuario y los almacena en las variables a y n.
return 0; 6. Calcula la potencia utilizando la función pow(a, n) de la
} biblioteca math.h, que eleva a a la potencia n, y almacena el
resultado en la variable p.
7. Imprime el resultado de la potencia en la consola utilizando
printf().
8. Devuelve 0 para indicar que el programa se ha ejecutado
correctamente y termina la función main()
Programa3
Hallar la Longitud de la circunferencia y b) Diagrama de c) Seudocódigo
el área del círculo, conociendo el valor
del radio.
flujo Inicio
Se pide: //Variables
INICIO
a) Declaración de variables (2 puntos) r, l, a: real
b) Diagrama de flujo (2 puntos) //Entrada
r, l, a: real
c) Seudocódigo (2 puntos)
d) Programa en C++ (4 puntos)
radio
a) Declaración de variables
r //Proceso
ENTRADA SALIDA l = 2πr l=2πr
a= πr2
Variable Símbolo Variable Símbolo a = πr2
//Salida
radio r Longitud l l, a l, a
Área a
FIN Fin
Programa3
C++
# include <stdio.h>
main()
{
float r, l, a;
printf("\nTeclee el radio: ");
scanf("%f" ,&r);
l=2*3.1416*r;
a=3.1416*r*r;
printf("La longitud es %f : ",l);
printf("El área es %f : ",a);
return 0;
}
Programa4
Hallar la radicación , donde a y n Diagrama de flujo Seudocódigo
pertenecen a los enteros positivos. INICIO Inicio
Se pide: //Variables
a) Declaración de variables (2 puntos) a, n: int a, n: Entero
r: Real
b) Diagrama de flujo (2 puntos) r: float
//Entrada
c) Seudocódigo (2 puntos) Leer a, n
a, n
d) Código en C++ (4 puntos) //Proceso
SOLUCIÓN r=a**(1/n) r=a**(1/n)
a) Declaración de variables //Salida
Escribir r
ENTRADA SALIDA r
Fin
Variable Símbolo Variable Símbolo FIN
base a Radicación r
radical n
Código Programa4
C++
# include <stdio.h> 1. Incluye las bibliotecas estándar <stdio.h> y <math.h>, que
# include <math.h> contienen las funciones input/output y operaciones matemáticas.
# include <stdlib.h> 2. Define la función main(), que es el punto de entrada del programa.
int main() { 3. Declara tres variables enteras a, n y r para almacenar la base, el
float a, n; exponente y el resultado de la potencia, respectivamente.
double r; 4. Imprime un mensaje en la consola solicitando al usuario que
printf("Teclee la base y el índice: "); ingrese la base y el indice.
scanf("%f %f", &a, &n); 5. Utiliza la función scanf() para leer dos números enteros
r = pow(a, 1/n); ingresados por el usuario y los almacena en las variables a y n.
printf("La radicación es %lf\n", r); 6. Calcula la potencia utilizando pow(a, 1/n) de la biblioteca math.h,
system("pause"); que eleva a a la potencia n, y almacena el resultado en r.
return 0; 7. Imprime el resultado de la potencia en la consola utilizando
} printf().
Ingrese la base: 8 8. Devuelve 0 para indicar que el programa se ha ejecutado
Ingrese índice de la raiz: 3 correctamente y termina la función main()
La raiz es: 2.0
Hallar la suma, resta, multiplicación y Diagrama de flujo Seudocódigo
división de dos números reales. INICIO
Inicio
Se pide: //Variables
a) Declaración de variables (2 puntos) n1,n2,s,r,m,d:
n1,n2,s,r,m,d:
real
b) Diagrama de flujo (2 puntos) real
c) Seudocódigo (2 puntos) //Entrada
n1,n2
d) Código en C++ (4 puntos) n1,n2
//Proceso
SOLUCIÓN s=n1+n2
s=n1+n2
a) Declaración de variables r=n1-n2
r=n1-n2
ENTRADA SALIDA m=n1*n2
Variable Símbolo Variable Símbolo m=n1*n2 d=n1/n2
Numero1 n1 suma s //Salida
d=n1/n2 s,r,m,d
Numero2 n2 resta r Fin
s,r,m,d
Mulplicación m
división d FIN
Seamos dueños de nuestro
propio destino
Gracias
47