SlideShare una empresa de Scribd logo
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad II: Algoritmos
Este material está desarrollado para la asignatura Fundamentos de Programación SCD-1008, de la carrera de Ingeniería en
Sistemas Computacionales, plan de estudios ISIC-2010-224
• Algoritmo: Conjunto de pasos, procedimientos, o acciones que
nos permiten alcanzar un resultado o resolver un problema.
• Muchas veces aplicamos los algoritmos de manera inadvertida,
inconsciente, sobre todo cuando hemos aplicado la solución de
un mismo problema muchas veces
FUNDAMENTOS DE PROGRAMACIÓN
Etapas de la solución de un problema
FUNDAMENTOS DE PROGRAMACIÓN
Características de los algoritmos
• Precisión
• Determinismo (definido)
• Finito
FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
Pseudocódigo
• Mezcla de lenguaje de programación y español (o ingles o
cualquier otro idioma) que se emplea, dentro de la
programación estructurada, para realizar el diseño de un
programa. En esencial, el pseudocódigo se puede definir como
un lenguaje de especificaciones de algoritmos.
• Es la representación narrativa de los pasos que debe seguir un
algoritmo para dar solución a un problema determinado. El
pseudocódigo utiliza palabras que indican el proceso a realizar.
FUNDAMENTOS DE PROGRAMACIÓN
Diagramas de Flujo
• Es un esquema gráfico de un algoritmo. Muestra los pasos para
alcanzar la solución del problema. Su correcta construcción
permite que la programación sea fácil y rápido.
FUNDAMENTOS DE PROGRAMACIÓN
Símbolos para la construcción de un diagrama
Inicio y fin del diagrama
Entrada de datos (lectura)
Proceso de información
FUNDAMENTOS DE PROGRAMACIÓN
Despliegue de información (impresora o
pantalla)
Flechas utilizadas para marcar el flujo del
diagrama
Decisión
FUNDAMENTOS DE PROGRAMACIÓN
Estructura general de un diagrama de flujo
Inicio
Leer datos
Definir Variables
Procesar Datos
Desplegar Resultados
Fin
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio inicial
• Diseñe el algoritmo para obtener el área de un circulo, hacer
pseudocódigo y diagrama de flujo.
a = π * r2
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio inicial
• Realice el algoritmo y diagrama de flujo que determine el valor
absoluto de un número. No es posible en este caso utilizar
condiciones.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Diseñe el algoritmo para obtener el área de un triangulo
(Hacer pseudocódigo y diagrama)
a=(b*h)/2
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Suponga que un individuo desea invertir su capital en un banco
y desea saber cuanto dinero ganará después de un mes si el
banco paga a razón de 2% mensual.
• Hacer pseudocódigo y diagrama de flujo
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Una tienda ofrece un descuento del 15% sobre el total de la
compra y un cliente desea saber cuanto deberá pagar finalmente
por su compra.
• Hacer pseudocódigo y diagrama de flujo
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Un maestro desea saber que porcentaje de hombres y que
porcentaje de mujeres hay en un grupo de estudiantes.
• Hacer pseudocódigo y diagrama de flujo que determine total
de estudiantes y calcule los porcentajes correspondientes
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Calcular el nuevo salario de un obrero si obtuvo un incremento
del 25% sobre su salario anterior.
• Hacer pseudocódigo y diagrama de flujo utilizando fórmulas
adecuadas que no requieran sumatorias.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Dada una cantidad en pesos, obtener la equivalencia en
dólares, asumiendo que la unidad cambiaría es un dato
desconocido.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
• Tres personas deciden invertir su dinero para fundar una
empresa. Cada una de ellas invierte una cantidad distinta.
Obtener el porcentaje que cada quien invierte con respecto a
la cantidad total invertida.
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURAS CONDICIONALES
FUNDAMENTOS DE PROGRAMACIÓN
Tipos de Asignaciones
• Simples: Consiste en pasar un valor constate a una variable:
(a=15)
• Contador: Consiste en usarla como un verificador del numero de
veces que se realiza un proceso: (a=a+1)
• Acumulador: Consiste en usarla como un sumador en un proceso:
(total=a1+a2+a3… )
• De trabajo: Donde puede recibir el resultado de una operación
matemática que involucre muchas variables: (a=c+b*2/4)
FUNDAMENTOS DE PROGRAMACIÓN
Estructuras de Condicionales
• Las estructuras condicionales comparan una variable o un valor
contra otras variables o valores, para que en base al resultado de
esta comparación, se siga un curso de acción dentro del programa.
• La comparación se puede hacer contra otra variable o contra una
constante, según se necesite. Existen dos tipos básicos, las
condiciones simples y las condiciones múltiples:
FUNDAMENTOS DE PROGRAMACIÓN
• Coniciones Simples: Las estructuras condicionales simples se
les conoce como “Tomas de decisión”. Estas tomas de decisión
tienen la siguiente forma:
Si <condición> entonces
Acción(es)
Fin-si
FUNDAMENTOS DE PROGRAMACIÓN
• Condiciones Dobles: Las estructuras condicionales dobles permiten
elegir entre dos opciones o alternativas posibles en función del
cumplimiento o no de una determinada condición. Se representa
de la siguiente forma:
Si <condición> entonces
Acción(es)
si no
Acción(es)
Fin-si
FUNDAMENTOS DE PROGRAMACIÓN
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)
• Tienen el mismo nivel de prioridad en su evaluación.
• Los operadores relacionales tiene menor prioridad que los aritméticos.
FUNDAMENTOS DE PROGRAMACIÓN
Operadores Relacionales:
> Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
1: Utilizando estructuras condicionales realice el algoritmo y
diagrama de flujo que determine el valor absoluto de un número
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
2: Realizar algoritmo y diagrama de flujo que lea dos números y
los imprima en forma ascendente
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
3: Realizar algoritmo y diagrama de flujo que determine si un
alumno aprueba o reprueba un curso, sabiendo que aprobará sí
su promedio de tres calificaciones es mayor o igual a 70;
reprueba en caso contrario.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
4: En un almacén se hace un 20% de descuento a los clientes cuya
compra es superior a $1000.00
¿ Cuál será la cantidad que pagara una persona por su compra?
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
5: Un hombre desea saber cuanto dinero se genera por concepto
de intereses sobre la cantidad que tiene en inversión en el
banco. El decidirá reinvertir los intereses siempre y cuando
estos excedan a $7000, y en ese caso desea saber cuanto
dinero tendrá finalmente en su cuenta.
FUNDAMENTOS DE PROGRAMACIÓN
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
FUNDAMENTOS DE PROGRAMACIÓN
Operador AND
Operando 1 Operador Operando 2 Resultado
V AND V V
V AND F F
F AND V F
F AND F F
FUNDAMENTOS DE PROGRAMACIÓN
Operador OR
Operando 1 Operador Operando 2 Resultado
T OR T T
T OR F T
F OR T T
F OR F F
FUNDAMENTOS DE PROGRAMACIÓN
Operador NOT
Operador Operando Resultado
NOT T F
NOT F T
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplos
• Una persona recibe un bono de $200 en su trabajo si es casado y tiene
hijos.
• La mercancía de temporada navideña entra en descuento del 40% siempre
y cuando la venta se haga en el mes de diciembre y el inventario tenga
menos de 10 piezas del producto vendido.
• El dispensador de agua de una veterinaria coloca un medio de agua si en la
jaula se encuentra un perro o un gato, de lo contrario coloca un cuarto de
litro de agua.
• Un paquete de correo no se entrega en el domicilio si este se encuentra
vacío.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
6: Hacer algoritmo y diagrama de flujo que resuelva lo siguiente: una empresa
de importaciones importa productos de diferentes países y debe pagar
impuestos dependiendo del país de origen de cada producto:
 Si el producto es originario de USA o Canadá no paga impuestos
 Si el producto es originario de otra parte del mundo paga un 20% de
impuestos
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
7: Una empresa de bienes raíces ofrece casas de interés social, bajo
las siguientes condiciones:
• Si los ingresos mensuales del comprador son menores o iguales a
$8000 el enganche será del 15% del costo de la casa y el resto se
distribuirá en pagos mensuales, a pagar en 15 años.
• Si los ingresos del comprador son mayores de $8000 el enganche
será del 30% del costo de la casa y el resto se distribuirá en pagos
mensuales a pagar en 10 años.
La empresa quiere obtener cuanto debe pagar un comprador por
concepto de enganche y cuanto por cada pago mensual aplicando a
cada pago mensual un interés del 14%.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
8: Hacer un programa que indique la denominación en cuanto a su edad de
una persona según los siguientes criterios:
 Cuando la edad es menor a 14, es un niño.
 Cuando la edad es de 14 a 22, es un adolecente.
 Cuando la edad es de 23 a 43, es un joven.
 Cuando la edad es de 44 a 64, es un adulto joven.
 Cuando la edad es de 65 a más es un adulto mayor.
FUNDAMENTOS DE PROGRAMACIÓN
9: Un obrero necesita calcular su salario semanal, el cual se obtiene
de la sig. manera:
• Si trabaja 40 horas o menos se le paga $16.00 por hora.
• Si trabaja mas de 40 horas se le paga $16.00 por cada una de las
primeras 40 horas y $20.00 por cada hora extra.
• Además si el obrero tiene una antigüedad de 5 años o mayor y es
casado se le paga un bono del 5% sobre el sueldo semanal
calculado.
FUNDAMENTOS DE PROGRAMACIÓN

Más contenido relacionado

PPTX
Fundamentos de Programación - Unidad II: Introducción a la Programación
PPTX
Fundamentos de Programación - Unidad III Control de Flujo
DOCX
Qué es uml, PARA QUE SIRVE, PASOS
PPTX
Fundamentos de Programación - Unidad I: Diseño Algorítmico
PPTX
Paradigmas de programación
PPT
Estructura de un compilador 2
PPT
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
PDF
Virtual Box
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad III Control de Flujo
Qué es uml, PARA QUE SIRVE, PASOS
Fundamentos de Programación - Unidad I: Diseño Algorítmico
Paradigmas de programación
Estructura de un compilador 2
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
Virtual Box

La actualidad más candente (20)

PDF
Investigación Técnicas de detección de errores de transmisión
PPT
Deadlock
DOCX
Manual para ponchar un cable utp cruzado y directo
PPTX
Planificacion cpu
PPSX
Estructuras iterativas
PPTX
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
PPTX
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
PPTX
Metodologia estructurada
PDF
Manual de reparación y soporte técnico de PC y redes informáticas
PDF
Ingenieria de software
PPTX
Metodos de ordenacion radix sort
PPSX
Estructuras de control selectivas
PDF
Arquitectura Del Computador
PPTX
Estructura de Datos - Unidad 6 Metodos de busqueda
PPTX
Programación Orientada a Objetos - Unidad 2: clases y objetos
DOCX
Cuadro comparativo algoritmos de busqueda
PPTX
Planificacion de proyecto de software
PPTX
Estructura de Datos -Unidad III: Estructuras Lineales
PPTX
Red Fisica
PDF
Diseño estructurado y las técnicas que lo caracterizan
Investigación Técnicas de detección de errores de transmisión
Deadlock
Manual para ponchar un cable utp cruzado y directo
Planificacion cpu
Estructuras iterativas
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Metodologia estructurada
Manual de reparación y soporte técnico de PC y redes informáticas
Ingenieria de software
Metodos de ordenacion radix sort
Estructuras de control selectivas
Arquitectura Del Computador
Estructura de Datos - Unidad 6 Metodos de busqueda
Programación Orientada a Objetos - Unidad 2: clases y objetos
Cuadro comparativo algoritmos de busqueda
Planificacion de proyecto de software
Estructura de Datos -Unidad III: Estructuras Lineales
Red Fisica
Diseño estructurado y las técnicas que lo caracterizan
Publicidad

Destacado (20)

PPTX
Fundamentos de Programacion - Unidad 4 control de flujo
PPTX
Fundamentos de BD - Unidad 5 algebra relacional
PPTX
Estructura de Datos - Unidad II Recursividad
PPTX
Topicos Avanzados de Programacion - Unidad 5 programacion movil
PPTX
Fundamentos de BD - Unidad 6 lenguaje sql
PPTX
Fundamentos de Programacion - Unidad 1 conceptos basicos
PPTX
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
PPTX
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
DOCX
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
PPTX
Fundamentos de BD - Unidad 4 diseño de bd relacional
PPTX
Simulación - Unidad 3 generacion de variables aleatorias
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPTX
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
PPTX
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
PPTX
Taller de Base de datos - Unidad 1 SGBD introduccion
PPT
Conexiones inalámbricas punto a punto usando wds
PPTX
Taller de Base de Datos - Unidad 3 lenguage DML
PPTX
Programacion orientada a objetos Unidad 1-intro al paradigma poo
PPTX
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
PPTX
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de BD - Unidad 5 algebra relacional
Estructura de Datos - Unidad II Recursividad
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Fundamentos de BD - Unidad 4 diseño de bd relacional
Simulación - Unidad 3 generacion de variables aleatorias
Taller de Base de Datos - Unidad 7 Conectividad
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Taller de Base de datos - Unidad 1 SGBD introduccion
Conexiones inalámbricas punto a punto usando wds
Taller de Base de Datos - Unidad 3 lenguage DML
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Publicidad

Similar a Fundamentos de Programacion - Unidad 2 Algoritmos (20)

PPTX
ALGORITMOS DESDE CERO.pptx
PPTX
Diapositiva 1 (enhanced by VisualBee)
PPTX
Estructura de selección, ciclo y contador (counter)
PDF
Estructuras Secuenciales - Sullin Santaella
PDF
Santaella u4 estructurassecuenciales
PDF
EJERCICIOS DE ALGORITMOS
PDF
software
PDF
Ejercicios secuenciales
PDF
Ejercicios secuenciales
PPSX
Ppt uca
PPTX
El proceso de programación y algoritmo c3. p1.
DOCX
Deber de algoritmos ing rene
PDF
INTRODUCCIÓN ADSI - PARTE 3
PPTX
El proceso de programación y algoritmo c3. p1.
PPTX
El proceso de programación y algoritmo c3. p1.pptx
DOCX
Ejercicios propuestos II
PDF
Ejercicios secuenciales
PPTX
Algoritmos
PDF
Tecnologias de información ebc
PPT
Unidad 1 Introducción a los Algoritmos.ppt
ALGORITMOS DESDE CERO.pptx
Diapositiva 1 (enhanced by VisualBee)
Estructura de selección, ciclo y contador (counter)
Estructuras Secuenciales - Sullin Santaella
Santaella u4 estructurassecuenciales
EJERCICIOS DE ALGORITMOS
software
Ejercicios secuenciales
Ejercicios secuenciales
Ppt uca
El proceso de programación y algoritmo c3. p1.
Deber de algoritmos ing rene
INTRODUCCIÓN ADSI - PARTE 3
El proceso de programación y algoritmo c3. p1.
El proceso de programación y algoritmo c3. p1.pptx
Ejercicios propuestos II
Ejercicios secuenciales
Algoritmos
Tecnologias de información ebc
Unidad 1 Introducción a los Algoritmos.ppt

Más de José Antonio Sandoval Acosta (20)

PPTX
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
PPTX
Gestión de la Calidad Total (UNIDAD 2) UAIM
PPTX
Taller de ética U1 El sentido de aprender sobre etica.pptx
PPTX
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
PPTX
Linea del tiempo de la inteligencia artificial.pptx
PPTX
Ing. Mecatronica Prog. Básica, U5 Módulos
PPTX
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
PPTX
Ing. Mecatrónica, Prog. Básica U3 control de flujo
PPTX
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
PPTX
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
PDF
Manual de prácticas y antología para POO
PPTX
Aplicaciones móviles intro.
PPTX
Plantilla presentación.pptx
PPTX
PPTX
Diagrama de Casos de Uso UML
PPTX
Introducción al Diagrama de Clases UML
PPTX
Diagrama de clases UML
PPTX
Diagrama UML Casos de Uso
PDF
Tema 3 - Comandos básicos.pdf
PDF
Tema 1 - Intro.pdf
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
Gestión de la Calidad Total (UNIDAD 2) UAIM
Taller de ética U1 El sentido de aprender sobre etica.pptx
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
Linea del tiempo de la inteligencia artificial.pptx
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Manual de prácticas y antología para POO
Aplicaciones móviles intro.
Plantilla presentación.pptx
Diagrama de Casos de Uso UML
Introducción al Diagrama de Clases UML
Diagrama de clases UML
Diagrama UML Casos de Uso
Tema 3 - Comandos básicos.pdf
Tema 1 - Intro.pdf

Último (20)

PDF
Módulo-de Alcance-proyectos - Definición.pdf
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
Logging While Drilling Ingenieria Petrolera.pptx
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
Supervisión del PROC. 228_Osinergmin.pdf
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PPTX
Software para la educación instituciones superiores
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PPTX
leyes de los gases Ideales. combustible refinación
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPTX
Seminario de telecomunicaciones para ingeniería
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
Módulo-de Alcance-proyectos - Definición.pdf
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
NILS actividad 4 PRESENTACION.pptx pppppp
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Logging While Drilling Ingenieria Petrolera.pptx
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Supervisión del PROC. 228_Osinergmin.pdf
Curso Corto de PLANTA CONCENTRADORA FREEPORT
Manual ISO9001_2015_IATF_16949_2016.pptx
Software para la educación instituciones superiores
Sustancias Peligrosas de empresas para su correcto manejo
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
prg2_t01_p01_Fundamentos POO - parte1.pdf
leyes de los gases Ideales. combustible refinación
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
Seminario de telecomunicaciones para ingeniería
clase MICROCONTROLADORES ago-dic 2019.pptx
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES

Fundamentos de Programacion - Unidad 2 Algoritmos

  • 1. Ingeniería en Sistemas Computacionales Fundamentos de Programación Unidad II: Algoritmos Este material está desarrollado para la asignatura Fundamentos de Programación SCD-1008, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224
  • 2. • Algoritmo: Conjunto de pasos, procedimientos, o acciones que nos permiten alcanzar un resultado o resolver un problema. • Muchas veces aplicamos los algoritmos de manera inadvertida, inconsciente, sobre todo cuando hemos aplicado la solución de un mismo problema muchas veces FUNDAMENTOS DE PROGRAMACIÓN
  • 3. Etapas de la solución de un problema FUNDAMENTOS DE PROGRAMACIÓN
  • 4. Características de los algoritmos • Precisión • Determinismo (definido) • Finito FUNDAMENTOS DE PROGRAMACIÓN
  • 6. Pseudocódigo • Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. • Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar. FUNDAMENTOS DE PROGRAMACIÓN
  • 7. Diagramas de Flujo • Es un esquema gráfico de un algoritmo. Muestra los pasos para alcanzar la solución del problema. Su correcta construcción permite que la programación sea fácil y rápido. FUNDAMENTOS DE PROGRAMACIÓN
  • 8. Símbolos para la construcción de un diagrama Inicio y fin del diagrama Entrada de datos (lectura) Proceso de información FUNDAMENTOS DE PROGRAMACIÓN
  • 9. Despliegue de información (impresora o pantalla) Flechas utilizadas para marcar el flujo del diagrama Decisión FUNDAMENTOS DE PROGRAMACIÓN
  • 10. Estructura general de un diagrama de flujo Inicio Leer datos Definir Variables Procesar Datos Desplegar Resultados Fin FUNDAMENTOS DE PROGRAMACIÓN
  • 11. Ejercicio inicial • Diseñe el algoritmo para obtener el área de un circulo, hacer pseudocódigo y diagrama de flujo. a = π * r2 FUNDAMENTOS DE PROGRAMACIÓN
  • 12. Ejercicio inicial • Realice el algoritmo y diagrama de flujo que determine el valor absoluto de un número. No es posible en este caso utilizar condiciones. FUNDAMENTOS DE PROGRAMACIÓN
  • 13. Ejercicio • Diseñe el algoritmo para obtener el área de un triangulo (Hacer pseudocódigo y diagrama) a=(b*h)/2 FUNDAMENTOS DE PROGRAMACIÓN
  • 14. Ejercicio • Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganará después de un mes si el banco paga a razón de 2% mensual. • Hacer pseudocódigo y diagrama de flujo FUNDAMENTOS DE PROGRAMACIÓN
  • 15. Ejercicio • Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. • Hacer pseudocódigo y diagrama de flujo FUNDAMENTOS DE PROGRAMACIÓN
  • 16. Ejercicio • Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. • Hacer pseudocódigo y diagrama de flujo que determine total de estudiantes y calcule los porcentajes correspondientes FUNDAMENTOS DE PROGRAMACIÓN
  • 17. Ejercicio • Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. • Hacer pseudocódigo y diagrama de flujo utilizando fórmulas adecuadas que no requieran sumatorias. FUNDAMENTOS DE PROGRAMACIÓN
  • 18. Ejercicio • Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido. FUNDAMENTOS DE PROGRAMACIÓN
  • 19. Ejercicio • Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. FUNDAMENTOS DE PROGRAMACIÓN
  • 21. Tipos de Asignaciones • Simples: Consiste en pasar un valor constate a una variable: (a=15) • Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso: (a=a+1) • Acumulador: Consiste en usarla como un sumador en un proceso: (total=a1+a2+a3… ) • De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables: (a=c+b*2/4) FUNDAMENTOS DE PROGRAMACIÓN
  • 22. Estructuras de Condicionales • Las estructuras condicionales comparan una variable o un valor contra otras variables o valores, para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. • La comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen dos tipos básicos, las condiciones simples y las condiciones múltiples: FUNDAMENTOS DE PROGRAMACIÓN
  • 23. • Coniciones Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: Si <condición> entonces Acción(es) Fin-si FUNDAMENTOS DE PROGRAMACIÓN
  • 24. • Condiciones Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Si <condición> entonces Acción(es) si no Acción(es) Fin-si FUNDAMENTOS DE PROGRAMACIÓN
  • 25. 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) • Tienen el mismo nivel de prioridad en su evaluación. • Los operadores relacionales tiene menor prioridad que los aritméticos. FUNDAMENTOS DE PROGRAMACIÓN
  • 26. Operadores Relacionales: > Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual FUNDAMENTOS DE PROGRAMACIÓN
  • 27. Ejercicio: 1: Utilizando estructuras condicionales realice el algoritmo y diagrama de flujo que determine el valor absoluto de un número FUNDAMENTOS DE PROGRAMACIÓN
  • 28. Ejercicio 2: Realizar algoritmo y diagrama de flujo que lea dos números y los imprima en forma ascendente FUNDAMENTOS DE PROGRAMACIÓN
  • 29. Ejercicio: 3: Realizar algoritmo y diagrama de flujo que determine si un alumno aprueba o reprueba un curso, sabiendo que aprobará sí su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. FUNDAMENTOS DE PROGRAMACIÓN
  • 30. Ejercicio 4: En un almacén se hace un 20% de descuento a los clientes cuya compra es superior a $1000.00 ¿ Cuál será la cantidad que pagara una persona por su compra? FUNDAMENTOS DE PROGRAMACIÓN
  • 31. Ejercicio 5: Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta. FUNDAMENTOS DE PROGRAMACIÓN
  • 32. 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 FUNDAMENTOS DE PROGRAMACIÓN
  • 33. Operador AND Operando 1 Operador Operando 2 Resultado V AND V V V AND F F F AND V F F AND F F FUNDAMENTOS DE PROGRAMACIÓN
  • 34. Operador OR Operando 1 Operador Operando 2 Resultado T OR T T T OR F T F OR T T F OR F F FUNDAMENTOS DE PROGRAMACIÓN
  • 35. Operador NOT Operador Operando Resultado NOT T F NOT F T FUNDAMENTOS DE PROGRAMACIÓN
  • 36. Ejemplos • Una persona recibe un bono de $200 en su trabajo si es casado y tiene hijos. • La mercancía de temporada navideña entra en descuento del 40% siempre y cuando la venta se haga en el mes de diciembre y el inventario tenga menos de 10 piezas del producto vendido. • El dispensador de agua de una veterinaria coloca un medio de agua si en la jaula se encuentra un perro o un gato, de lo contrario coloca un cuarto de litro de agua. • Un paquete de correo no se entrega en el domicilio si este se encuentra vacío. FUNDAMENTOS DE PROGRAMACIÓN
  • 37. Ejercicio 6: Hacer algoritmo y diagrama de flujo que resuelva lo siguiente: una empresa de importaciones importa productos de diferentes países y debe pagar impuestos dependiendo del país de origen de cada producto:  Si el producto es originario de USA o Canadá no paga impuestos  Si el producto es originario de otra parte del mundo paga un 20% de impuestos FUNDAMENTOS DE PROGRAMACIÓN
  • 38. Ejercicio 7: Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: • Si los ingresos mensuales del comprador son menores o iguales a $8000 el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en 15 años. • Si los ingresos del comprador son mayores de $8000 el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 10 años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago mensual aplicando a cada pago mensual un interés del 14%. FUNDAMENTOS DE PROGRAMACIÓN
  • 39. Ejercicio 8: Hacer un programa que indique la denominación en cuanto a su edad de una persona según los siguientes criterios:  Cuando la edad es menor a 14, es un niño.  Cuando la edad es de 14 a 22, es un adolecente.  Cuando la edad es de 23 a 43, es un joven.  Cuando la edad es de 44 a 64, es un adulto joven.  Cuando la edad es de 65 a más es un adulto mayor. FUNDAMENTOS DE PROGRAMACIÓN
  • 40. 9: Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: • Si trabaja 40 horas o menos se le paga $16.00 por hora. • Si trabaja mas de 40 horas se le paga $16.00 por cada una de las primeras 40 horas y $20.00 por cada hora extra. • Además si el obrero tiene una antigüedad de 5 años o mayor y es casado se le paga un bono del 5% sobre el sueldo semanal calculado. FUNDAMENTOS DE PROGRAMACIÓN