Algoritmia y Programación

Slides:



Advertisements
Presentaciones similares
Algoritmo: Es una serie de procesos a seguir para la solución de un problema. Diagrama de Flujo: Es la representación de un algoritmo en forma jerárquica.
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
Instrucciones Básicas Entrada de Información
ESTRUCTURA DE DECISION LOGICA
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Asignatura: Introducción a la programación
Fundamentos de la Programación Estructurada
Técnico en programación de Software
Unidad 2 Algoritmos y resolución de problemas
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Temas Operaciones básicas Operaciones Operadores Aritméticos
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
Tema 6. Conceptos básicos de programación
ESTRUCTURAS DE CONTROL
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Fundamentos de Programación
Programación de Computadores
LOGICA DE PROGRAMACION
Academia de Informática
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
CARACTERÍSTICAS DE LOS PROGRAMAS
FUNDAMENTOS DE PROGRAMACIÓN
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
ESTRUCTURA DE DECISION LOGICA
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
COMPONENTES DE UN ALGORITMOS
Teoría – Alejandro Gonzalez
VBA – Elementos del Lenguaje
ETAPAS PARA SOLUCIONAR UN PROBLEMA
INTRODUCCION A LOS ALGORITMOS
Algoritmo Ing. Maria Rosana Heredia
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ESTRUCTURA DE DECISION LOGICA
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Elementos básicos para el desarrollo de algoritmos
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Elementos básicos para el desarrollo de algoritmos
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
PRINCIPIOS DE PROGRAMACIÓN
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
Tipos de Datos.
Fundamentos de Programación
Lic. Carla Aguirre Montalvo
Programación de Computadores
FUNDAMENTOS DE PROGRAMACIÓN
Informática Ingeniería en Electrónica y Automática Industrial
ALGORITMOS IBX12-68 ÚLTIMA CLASE.
PARCIAL 3. CADENAS Y CARACTERES PARA PODER DISTINGUIR LOS DATOS DE TIPO CARACTER (CHAR), ESTOS SE ENCIERRAN EN COMILLAS SIMPLES. LOS DATOS DE TIPO CARÁCTER.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
ALGORITMOS CLASE 2.
Unidad Temática II Algoritmia Elemental Operadores aritméticos: son símbolos que le indican al compilador la operación de cálculo a realizar entre los.
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

Algoritmia y Programación Peter Emerson Pinchao Tomado de las presentaciones la Ing Lucy Garcia

Contenido El pseudocódigo Elementos de un programa Imitación y versión abreviada de instrucciones reales para las computadoras. Elementos de un programa Palabras reservadas, Identificadores, Constantes, Variables, Expresiones, Instrucciones Entrada y/o salida de información Un ejemplo sencillo Asignación Intercambio de variables Ejemplos Estructura de control: Secuencial

Algoritmos: Conceptos Básicos El pseudocódigo Imitación y versión abreviada de instrucciones reales para las computadoras. Elementos de un programa Palabras reservadas Identificadores Constantes Variables Expresiones Instrucciones

Identificadores Nombres de los objetos de un programa Reglas: Letras (menos: ñ, Ñ, acentuadas y caracteres especiales) Mayúsculas ≠ Minúsculas (case-sensitive). El primer caracter debe ser una letra Dígitos numéricos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Símbolo de subrayado ( _ ) NO permitido el conjunto de palabras reservadas del lenguaje. En C, cuáles son esas palabras? SUGERENCIA: Nombres representativos

Ejercicio Identificadores Distinga los identificadores inválidos. Porqué? nombre_empleado area 1texto TAMANO_STRING EdadEmpleado while potencia10 i For nombre-empleado iF Nombre Teléfono nombre While

Constantes Numéricas Caracteres Lógicas Ejemplos: 123 123,45 12345 Una serie de caracteres encerrados entre comillas Ejemplos: “constante”, “Texto”, “texto”, “1” Lógicas Verdadero Falso

Variables Almacenar datos

Variables Almacenar datos Nombres Tipo de dato Numéricos Enteros Reales Cadena de Caracteres Lógicos o Booleanos

Variables Deben ser declaradas previamente Sintaxis de la Declaración Tipo de Dato Lista de variables separadas por coma Ejemplos: Caracteres: Nombre, Apellido Entero: Nro_Estudiantes Real: Valor_Hora, Salario, Descuentos

Entrada de Información Instrucción Leer

Instrucción Leer El valor ingresado por medio del dispositivo de entrada (generalmente el teclado) pasa a la variable (celdas de memoria)

Instrucción Leer Restricción El valor digitado debe concordar con el tipo de dato de la variable

Instrucción Leer Sintaxis Leer lista de variables separadas por coma y entre paréntesis Ejemplos Leer (X, Y, Z) Leer (Nota1P, Nota2P, NotaEF)

Entrada de Información Analice la siguiente instrucción: Leer (12, “abc1”, Verdadero) ?

Salida de Información Instrucción Escribir

Instrucción Escribir Escribir (una o más expresiones separadas por coma) Expresiones? Variables Constantes Expresiones aritméticas Cálculos

Salida de Información Ejemplo Escribir (“Producto”, Producto) Escribir (“%IVA=”, 0.16) Escribir (“Valor IVA”, ValorProducto*0.16)

Salida de Información El programador es responsable del formato de salida de la información

Salida de Información 5 3 2 4 3,5 3,5 La nota del 1er Parcial fue: 5.0 5 3 2 4 3,5 3,5 La nota del 1er Parcial fue: 5.0 La nota del 2° Parcial fue: 3.0 La nota del Examen Final fue: 2.0 La nota de Laboratorios fue: 4.0 La Nota de Quices fue: 3,5 LA NOTA FINAL ES: 3,5

Instrucción Escribir Escriba (parcial1, parcial2, final, lab, quiz, nota_final) 5 3 2 4 3,5 3,5

Instrucción Escribir Escriba (“La nota del 1er Parcial fue:”, parcial1) Escriba (“La nota del 2° Parcial fue:”, parcial2) Escriba (“La nota del Examen Final fue:”, final) Escriba (“La nota de Laboratorios fue:”, lab) Escriba (“La nota de Quices fue:”, quiz) Escriba (“LA NOTA FINAL ES:”, nota_final) La nota del 1er Parcial fue: 5.0 La nota del 2° Parcial fue: 3.0 La nota del Examen Final fue: 2.0 La nota de Laboratorios fue: 4.0 La Nota de Quices fue: 3,5 LA NOTA FINAL ES: 3,5

Ejemplo Hacer un algoritmo que lea y muestre el nombre de un estudiante

Ejemplo Algoritmo Leer_Escribir Caracteres: Nombre Inicio Lea (Nombre) Escriba (Nombre) Fin Fin Algoritmo

Ejemplo Algoritmo Leer_Escribir Cadena: Nombre Inicio Lea (Nombre) Escriba (Nombre) Fin Fin Algoritmo Nombre del algoritmo Declaración de variables Inicio de las instrucciones Fin de las instrucciones

Problemas? Mejore el anterior algoritmo, de manera que tanto la entrada como la salida sean lo más clara posible para el usuario.

Ejemplo Algoritmo Leer_Escribir Cadena: Nombre Inicio Escriba (“Ingrese el nombre del estudiante”) Lea (Nombre) Escriba (“El nombre ingresado fue ”, Nombre) Fin Fin Algoritmo

Expresiones Aritméticas Operadores binarios +   Suma -   Resta *   Multiplicación /   División %   Módulo (sólo sobre tipo entero) Operadores unitarios: -   Signo negativo ++  Incremento --  Decremento Consultar: reglas de precedencia

Expresiones Aritméticas Operador Significado Tipo de Operandos Tipo de Resultados ^,** Exponenciación Entero o real + Suma - Resta * Multiplicación / División Real Div División entera Entero Mod Modulo (rest)

Reglas de prioridad o precedencia Primero lo que está entre paréntesis Si existen paréntesis anidados las expresiones más internas se evalúan primero. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad: Operador exponencial (^, ­ , o bien **) Operadores *, / Operadores +, - Operadores div y mod  

Ejemplos de Expresiones

Ejemplos de Expresiones

Ejemplos de Expresiones ¿?

Expresiones Lógicas Operadores binarios: Operadores unitarios &&   AND (conjunción) ||   OR (disyunción) Operadores unitarios !    NOT lógico  Operadores relacionales o de comparación Comparan dos expresiones devolviendo como resultado un valor booleano ==   igual !=   distinto <    menor <=   menor o igual >    mayor >=   mayor o igual Consultar: reglas de precedencia

Operador de Asignación  Almacena datos en las variables Es un operador binario primer operando (lado izquierdo): variable El segundo operando (el del lado derecho) Variable Constante Expresión en general.

Asignación de variables Sintaxis <variable>  <expresión>

Asignación de variables Restricciones La expresión debe ser del mismo tipo de la variable ?

Asignación de variables Ejemplos X  1 X es una variable numérica Y ”abc” Y es una variable alfanumérica Y  “123” Y  “a1*+b2#&(c3%$” Z verdadero Z es una variable lógica

Errores X  “ 1 ” Y  1 + 2 Z  ”verdadero”

Errores x + y + z  variable 5  variable

Variables: Asignación X es una variable numérica entera En X se guarda el número 10 X  10 Es correcta la siguiente instrucción? X  10 * X

Variables: Asignación X es una variable numérica entera X  10 Con qué valor quedaría la variable X después de ejecutar la siguiente instrucción? X  10 * X

Intercambio del contenido de dos variables

Intercambio del contenido de dos variables aux  var1 { El valor inicial de var1 se guarda en aux } var1  var2 { El contenido de var2 se pasa a var1 } var2  aux { El contenido de aux se pasa a var2 } Ejercicio en clase: Hacer el algoritmo

Ejercicio en Clase Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

Ejercicio en Clase Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética. Pasos Nombre algoritmo Variables: Cuántas? Cuáles? Tipo? Declarar variables Instrucciones del Algoritmo Inicio Leer Calcular Mostrar Fin

Ejercicio en Clase Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (producto, suma, media) fin Fin-Algoritmo

Ejercicio Mejorar el formato de salida del anterior algoritmo.

Ejercicio en Clase Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto) escribir (“la suma es: ”, suma) escribir (“la media es: ”, media) fin Fin-Algoritmo

Ejercicio en Clase Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto, “la suma es: ”, suma, “la media es: ”, media) fin Fin-Algoritmo

Estructuras de Control: Secuencial Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto, “la suma es: ”, suma, “la media es: ”, media) fin Fin-Algoritmo

Ejercicio Diseñar un algoritmo que calcule la definitiva de esta asignatura (ver la sección evaluación en el programa del curso).

Ejercicio Diseñar un algoritmo que calcule la definitiva de esta asignatura (ver la sección evaluación en el programa del curso). Descomponer el problema Tarea: Generalizar el algoritmo para notas con diferentes porcentajes

Solución del Ejercicio Tareas Leer el nombre del estudiante Pedir al usuario que ingrese cada una de las notas Leer cada una de las notas Calcular la nota final: sumar las notas y dividir entre 5 Mostrar el resultado

Ejercicio 1er Parcial 2º Parcial Laboratorios Quices Examen Final Variables Una variable para identificar al estudiante Una variable para cada nota 1er Parcial 2º Parcial Laboratorios Quices Examen Final Una variable para guardar el resultado

Solución del Ejercicio DECLARACIÓN DE VARIABLES real: parcial1, parcial2, final, quiz, lab, nota_final caracteres: nombre

Algoritmo: Solución del Ejercicio (1) algoritmo Calculo_Nota real: parcial1, parcial2, final, quiz, lab, nota_final caracteres: nombre Inicio escribir (“Ingrese el nombre del estudiante”) //TAREA #1 leer (nombre) escribir (“Digite las notas así: bla bla bla …”) //TAREA #2 leer (parcial1, parcial2, final, quiz, lab) //TAREA #3 … fin

Algoritmo: Solución del Ejercicio (2) algoritmo Calculo_Nota real: parcial1, parcial2, final, quiz, lab, nota_final caracteres: nombre Inicio escribir (“Ingrese el nombre del estudiante”) leer (nombre) escribir (“Digite las notas”) leer (parcial1, parcial2, final, quiz, lab) nota_final  (parcial1 + parcial2 + final + quiz + lab)/5 escribir (“la nota definitiva de:”, nombre, “es:”, nota_final) fin

Ejercicios Transforme una temperatura de °C a °F ( T°F = T°C * 1.8 + 32 ). Obtener el área de un rectángulo de lados conocidos a y b menos el área de una circunferencia completamente contenida en él de diámetro d. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Las ganancias de la empresa serán repartidas entre los fundadores de acuerdo a la proporción invertida por cada uno. Obtener el porcentaje de ganancias que le corresponde a cada uno.

Ejercicios: Lógica de Programación (E. Oviedo) Hacer un algoritmo que: Calcule los meses transcurridos entre enero de 2009 y enero 1964. Generalizar el anterior ejercicio para cualquier subrango de años. Calcule el área y el perímetro de un rectángulo cuyos lados son conocidos

Ejercicios: Lógica de Programación (E. Oviedo) Hacer un algoritmo que: Calcule la edad de los miembros de una familia: La mamá tiene tres hijos y se conoce la edad de uno de ellos Juan. José 2/3 de la edad de Juan. Ana Tiene 4/3 de la edad de Juan. Y la edad de la mamá es la suma de la edad de los tres hijos.

Ejercicios: Lógica de Programación (E. Oviedo) Hacer la prueba de escritorio: Inicio suma  0 x  20 suma  suma + x y  40 x  x+y**2 suma  suma + x/y Escriba (“el valor de la suma es”, suma) Fin

Ejercicios: Lógica de Programación (E. Oviedo) Escriba las siguientes expresiones algebraicas como expresiones algorítmicas X2 +4YZ

Pendiente Repasar aplicaciones de los porcentajes Comisión Descuentos Aumento Precio con Impuesto a las ventas Interés simple Interés simple y principal