Introduccion Informatica I

33
INFORMATICA INFORMATICA I I Ing. Erick Núñez Tarrillo Correo Electrónico [email protected] Horario Sabado 6:30 p.m. a 8:45 p.m.

description

info

Transcript of Introduccion Informatica I

  • INFORMATICA I

    Ing. Erick Nez TarrilloCorreo [email protected]

    HorarioSabado 6:30 p.m. a 8:45 p.m.

  • Objetivos Generales:

    1. Introducir al alumno en el anlisis de los algoritmos, as como en el diseo e implementacin de stos con un leguaje de programacin.

    2. Desarrollar habilidades en el uso de las tcnicas de anlisis y diseo de algoritmos.

  • Temas a Tratar1.- INTRODUCCION Y CONCEPTOS GENERALES2.- REPRESENTACION DE UN ALGORITMO3.- LENGUAJE C4.- INSTRUCCIONES BASICAS5.- ESTRUCTURAS DE CONTROLSECUENCIAL SELECTIVASREPETITIVAS

  • INTRODUCCIONQUE ES UN ALGORITMO

    1. Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema.2. Mtodo y notacin en las distintas formas del clculo. Real Academia Espaola

    Muhammad Musa Al-khawarizmi

  • Definicin de algoritmo

    Secuencia ordenada de pasos exentos de ambigedad tal que, al llevarse a cabo con fidelidad, dar como resultado que se realice la tarea para la que se ha diseado en un tiempo finito.

    Un algoritmo nos permite obtener la solucin del problema para el que est diseado.

  • GENERALIDADES SOBRE LOS ALGORITMOS Describir los pasos para cruzar la calle. Describa los pasos para llevar a una amiga a cine. Describa los pasos para cambiar la llanta pinchada de una bicicleta. Describa los pasos para cambiar un bombillo quemado.

  • FinitudLa ejecucin de un algoritmo ha de terminar despus de un nmero finito de etapas.

    PrecisinCada etapa ha de estar especificado rigurosamente. La ejecucin de un algoritmo no ha de dejar espacio para la interpretacin, la intuicin o la creatividadPropiedades de un algoritmo

  • Caractersticas de un algoritmoEntradas Un algoritmo tiene cero o ms entradas (cantidades que se le dan inicialmente antes de que comience su ejecucin).Salidas Un algoritmo tiene una o ms salidas (cantidades que tienen una relacin especfica con las entradas)

  • El trmino estructura de datos se refiere a la forma en que la informacin esta organizada dentro de un programa. La correcta organizacin de datos puede conducir a algoritmos ms simples y ms eficientes.

    Estructura de datos: Conjunto de variables agrupadas y organizadas de cierta forma para representar un comportamiento. Definicin de Estructura de Datos.Algoritmos + Estructuras de datos = ProgramasEl profesor Niklaus Wirth

  • Datos: Segn sus caractersticas, los datos pueden ser:

  • Elementos del ComputadorHARDWARE (elem.fsicos)SOFTWARE (programa)

  • SOFTWARE (Conjunto de Programas)TIPOS DE SOFTWARE:

    Sistemas operativos Ejm. DOS, Windows, Linux, etc.

    Aplicaciones de uso general Ejm. Word, Excel, Power Point, etc.

    Aplicaciones de uso especfico Ejm. sistema de notas, sistema de facturacin,etc)Programa 1Programa 2Programa 3 MEMORIA RAM

  • ;Lenguaje ensamblador, sintaxis Intel para procesadores x86mov eax,1 ;mueve a al registro eax el valor 1 xor ebx, ebx ;pone en 0 el registro ebx int 80h ;llama a la interrupcin 80h (80h = 128 sistema decimal) int main() {

    float r,s,x;

    couts;r=x+s;cout

  • Traductores de lenguajeSi el computador solo entiende binario como es que puede ejecutar los programas que nosotros escribimos?Computadora mata a Flanders???????

  • Traductores de lenguajeSon los programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a cdigo de maquina.Clasificacin:Compiladores: Lenguaje de alto nivel --> Lenguaje de maquina.Interprete: Un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta.

  • ETAPAS EN LARESOLUCION DE PROBLEMASRESOLUCIONDE UN PROBLEMADISEO DELALGORITMORESOLUCIONDEL PROBLEMA ENCOMPUTADORAANALISIS DELPROBLEMACODIFICACIONDEL PROGRAMAEJECUCIONDEL PROGRAMACOMPROBACIONDEL PROGRAMA

  • ANALISIS DEL PROBLEMA Determinacin de objetivos del programa. Determinacin de la salida deseada. Determinacin de los datos de entrada. Determinacin de los requerimientos de procesamiento. Documentacin de las especificaciones del programa. Variables ETAPAS EN LA RESOLUCION DE PROBLEMAS

  • DISEO DEL ALGORITMOEscritura inicial del algoritmo Debern seguir una secuencia definida por pasos hasta obtener un resultado distinto.Podrn ejecutarse cada vez que se requiera para distintos datos.Verificacin Manual del Algoritmo (Corrida en Fro) Una vez realizadas estas dos etapas se puedepasar a la resolucin del problema con lacomputadora.

  • ETAPAS EN LARESOLUCION DE PROBLEMASCODIFICACION DEL PROBLEMA: es la conversin del algoritmo y/o diagrama de flujo a un lenguaje de programacin.EJECUCION DEL PROGRAMA: permite ver en la computadora el programa en funcionamiento.COMPROBACION DEL PROGRAMA: permite verificar la correcta ejecucin del mismo, teniendo en cuenta los diferentes tipos de errores (lgicos y de sintaxis). Una comprobacin sucesiva del programa permitir localizar , verificar y corregir los posibles errores, con lo que se conforma la puesta a punto del programa.

  • Representacin de algoritmos.Descripcin NarradaPseudocdigo Diagramas de Flujo Diagramas N- S (Nassi-Schneiderman o de Chapin)

  • Pseudocdigo Pseudo = falso. Es una tcnica para diseo de programas que permite definir las estructuras de datos, las operaciones que se aplicarn a los datos y la lgica que tendr el programa de computadora para solucionar un determinado problema Ejemplo 1 Disear un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmtica.InicioLeer (a, b, c, d) producto (a * b * c * d) suma (a + b + c + d) media (a + b + c + d) / 4 escribir (producto, suma, media)Fin

  • Reglas para crear los pseudocdigos:Cada instruccin debe ir en una lneaDebe comenzar con la palabra Inicio y terminar con la palabra FinUtiliza los operadores aritmticos, lgicos, bolanos Debe escribirse de manera indentada (tabulada) para apreciar las dependencias de las instrucciones.Utiliza palabras reservadas como: INICIO, FIN, LEER, ESCRIBIR, MIENTRAS, SI, SINO, ENTONCES, PARA, REPETIR, etc.Ejemplo 2 Disear un algoritmo que lea dos numeros enteros y si son diferentes de cero calcule e imprima su producto, en caso contrario calcule y muestre el promedio de los dos.

    Analisis Diseo del Algoritmo

    InicioLeer (a, b) Si ((a0) y (b0)) entonces producto (a * b)Sino media (a + b) / 2 Fin siescribir (producto, media)Fin

  • Diagramas de Flujo. Son la representacin grfica de la solucin algortmica de un problema.

    Simbologa bsica para disear flujogramas.Inicio/FinProcesoSalida por impresoraEntrada/SalidaDecisinConector misma pginaConector pginas diferentes

  • Diagrama de flujosPara su elaboracin se siguen ciertas reglas: Se escribe de arriba hacia abajo y de izquierda a derecha Siempre se usan flechas verticales u horizontales, jams curvasEvitar cruce de flujosEn cada paso expresar una accin concreta

  • Diagrama de flujos. EjemploInicioa,ba0 y b0Producto a*bMedia (a+b)/2ProductoFin Si No Media

  • Diagrama de Flujo y Pseudo-Cdigo

  • Ejercicio de ProgramacinRealizar un Algoritmo en pseudo cdigo y diagrama de flujo que permita calcular el rea de un triangulo, dada su base y su altura

  • Anlisis del problemaObjetivo del problema:Obtener o calcular el rea del trianguloDatos de entrada:Las medidas de la base y de la altura del trianguloDatos de salida:EL rea del trianguloProcesamiento:Aplicar formula: Multiplicar base * altura y dividirlo entre 2 o Multiplicar base* altura * 0.5Documentacin de variables:B = base del trianguloh = altura del trianguloA= rea del triangulo

  • Pseudocodigo TrianguloVariables B, h, AInicio A0; Escribir(Introduzca la base y la altura del triangulo); Leer(B,h); A (B*h)/2; Escribir (El rea del triangulo es, A);FinDiagrama de flujoInicioA 0A (B*h)/2Introduzca base y alturaB, hEl rea es: AFin

  • Un Operador: es un smbolo o palabra que significa que se ha de realizar cierta accin entre uno o dos valores que son llamados operandos.

    TipoOperadorSignificadoDe asignacinAsignacinMatemticos+-*/^DivModSuma Resta MultiplicacinDivisinPotenciaDivisin entera (cociente) MduloRelacionales==Menor queMayor que

    Menor o igual queMayor o igual queIgual aDistinto a, diferente de

    LgicosY ONoY lgicoO lgicoNegacin lgica

  • Ejemplo con OperadoresAsignacin ()sintaxisVariable valor o expresinEjemplo:X A+BX 2X a^2 +d

  • Ejemplo con OperadoresResiduo (mod)sintaxisVariable valor mod valorEjemplo:X 15 mod 2Esto da como resultado 1, ya que es el residuo de la divisionDivisin entera (div)sintaxisVariable valor div valorEjemplo:X 15 div 2Esto da como resultado 7, ya que es la parte entera del cociente de la divisin

  • Prioridad de los Operadores

    Jerarqua de OperadoresParntesis ( )+/-signo^Potencia* y /Producto y divisinDivDivision enteraModResiduo + y -Suma y resta+ o &Concatenacin>,=,