TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Unidad I: Diseño Algorítmico
Mtro. José Antonio Sandoval Acosta
Retícula ISIC-2010-224: Programa: AED-1285/2016

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTOS DE PROGRAMACION
Temario

Competencia:
• Comprende y aplica los conceptos básicos, nomenclatura y herramientas
para el diseño de algoritmos orientado a la resolución de problemas.

FUNDAMENTOS DE PROGRAMACIÓN

• 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 .

dentro de la programación estructurada. • 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. . En esencial. FUNDAMENTOS DE PROGRAMACIÓN Pseudocódigo • Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea. el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. para realizar el diseño de un programa.

FUNDAMENTOS DE PROGRAMACIÓN Diagramas de Flujo • Es un esquema gráfico de un algoritmo. Su correcta construcción permite que la programación sea fácil y rápido. Muestra los pasos para alcanzar la solución del problema. .

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 Decisión Despliegue de información (impresora o pantalla) Flechas utilizadas para marcar el flujo del diagrama .

FUNDAMENTOS DE PROGRAMACIÓN Estructura general de un diagrama de flujo Inicio Definir Variables Leer datos Procesar Datos Desplegar Resultados Fin .

hacer pseudocódigo y diagrama de flujo. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio inicial • Diseñe el algoritmo para obtener el área de un circulo. a = π * r2 .

No es posible en este caso utilizar condiciones. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio inicial • Realice el algoritmo y diagrama de flujo que determine el valor absoluto de un número. .

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 .

• 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.

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 .

. • Hacer pseudocódigo y diagrama de flujo utilizando fórmulas adecuadas que no requieran sumatorias. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio • Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

asumiendo que la unidad cambiaría es un dato desconocido. obtener la equivalencia en dólares. . FUNDAMENTOS DE PROGRAMACIÓN Ejercicio • Dada una cantidad en pesos.

Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. Cada una de ellas invierte una cantidad distinta. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio • Tres personas deciden invertir su dinero para fundar una empresa. .

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) .

Existen dos tipos básicos. 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. • La comparación se puede hacer contra otra variable o contra una constante. las condiciones simples y las condiciones múltiples: . se siga un curso de acción dentro del programa. según se necesite.

Estas tomas de decisión tienen la siguiente forma: Si <condición> entonces Acción(es) Fin-si . FUNDAMENTOS DE PROGRAMACIÓN • Coniciones Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisió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 • 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.

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 tiene menor prioridad que los aritméticos. . • Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas) • Tienen el mismo nivel de prioridad en su evaluación.

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 .

sabiendo que aprobará sí su promedio de tres calificaciones es mayor o igual a 70. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio: 3: Realizar algoritmo y diagrama de flujo que determine si un alumno aprueba o reprueba un curso. . reprueba en caso contrario.

00 ¿ Cuál será la cantidad que pagara una persona por su compra? . 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.

El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000. . 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. 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. Operadores Lógicos And .O Not . • Estos valores pueden ser resultado de una expresión relacional.Negación .Y Or .

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 .

• Un paquete de correo no se entrega en el domicilio si este se encuentra vacío. de lo contrario coloca un cuarto de litro de agua. 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.

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. • 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. . a pagar en 15 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%.

.  Cuando la edad es de 65 a más es un adulto mayor. es un niño.  Cuando la edad es de 14 a 22. es un joven. es un adolecente. 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 adulto joven.  Cuando la edad es de 23 a 43.  Cuando la edad es de 44 a 64.

FUNDAMENTOS DE PROGRAMACIÓN 9: Un obrero necesita calcular su salario semanal. • 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.00 por hora. el cual se obtiene de la sig. manera: • Si trabaja 40 horas o menos se le paga $16. .00 por cada hora extra.00 por cada una de las primeras 40 horas y $20. • Si trabaja mas de 40 horas se le paga $16.

un conjunto de parámetros que va de 1 a n. a estos subprocesos se les llama módulos o funciones. esto implica que el problema se divide en subprocesos más pequeños y sencillos que al unirlos tenemos una solución completa. FUNDAMENTOS DE PROGRAMACIÓN Diseño de Funciones Cuando la solución a un problema es muy compleja se requiere utilizar el diseño descendiente (divide y vencerás). Una función esta constituida por un nombre (identificador de función). y un valor de retorno .

. para esto se debe definir el tipo de dato a regresar en el recuadro final. • Todas las funciones pueden regresar un valor final. • Si la función recibe parámetros se inicializan en el recuadro que apunta al inicio del a función.FUNDAMENTOS DE PROGRAMACIÓN Diseño de Funciones • nomFun es el nombre de la función.

los suma y regresa un valor entero en la variable enteroTres. se pretende calcular la suma de dos números. para ello creamos una función llamada sumar.FUNDAMENTOS DE PROGRAMACIÓN Ejemplo • En este caso. que recibe dos parámetros. .

FUNDAMENTOS DE PROGRAMACIÓN Ejercicio: Se requiere realizar la venta de un producto el cual debe pagar IVA. el IVA debe ser calculado en una función. y desplegar el total a pagar. . Desarrolle el diagrama correspondiente.

FUNDAMENTOS DE PROGRAMACIÓN Ejercicio: Diseñe algoritmo que permita leer el valor correspondiente a una distancia en millas y las visualice expresadas en kilómetros. El cálculo del total de kilómetros debe realizarse en una función. . Sabiendo que 1 milla marina equivale a 1852 metros.

. FUNDAMENTOS DE PROGRAMACIÓN Ejercicio: Diseñe algoritmo que calcule el área y el perímetro de un rectángulo dada la base y la altura. El área y el perímetro deben realizarse en funciones separadas.

FUNDAMENTOS DE PROGRAMACIÓN Tarea: Diseñe el diagrama de flujo para un rectángulo.b2)/2  El área de la circunferencia circunscrita: A = pi * R2 . añada las funciones necesarias (una función por fórmula) para obtener:  El área del rectángulo: A=a*b  El perímetro del rectángulo : P = 2(a + b)  El radio de la circunferencia circunscrita: R = √(a2 .

Metodología de la Programación. . FUNDAMENTOS DE PROGRAMACIÓN Bibliografía Cairó. (2005). AlfaOmega. D. F. México. Osvaldo. Tercera edición.