trimestre 1 unidad 5 clase 1

56
Ing. Thais T. Hernández C. Algorítmica y Programación Instituto Universitario de Tecnología “José Antonio Anzoátegui” Ingeniería en Informática Núcleo: El Tigre Programación Estructurada

Upload: anthony-finley

Post on 02-Oct-2015

225 views

Category:

Documents


1 download

DESCRIPTION

Algoritmica y programación, instrucciones, tipo de instrucciones, estructuras selectivas, estructuras de decision simples, pseudocodigo, diagrama de nassi-schneidermann, diagrama de flujo

TRANSCRIPT

  • Ing. Thais T. Hernndez C.Algortmica y ProgramacinInstituto Universitario de TecnologaJos Antonio AnzoteguiIngeniera en InformticaNcleo: El TigreProgramacin Estructurada

  • Programa Es un conjunto de instrucciones rdenes dadas a la mquina que producirn la ejecucin de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin ser probablemente definido como la informacin necesaria para solucionar un problema

  • Instrucciones El proceso de diseo del algoritmo o posteriormente de codificacin del programa consiste en definir las acciones o instrucciones que resolvern el problema. Las acciones o instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de ejecutarse, es decir, en secuencia. Un programa puede ser lineal o no lineal. Un programa es lineal si las instrucciones se ejecutan secuencialmente, sin bifurcaciones, decisin, ni comparaciones

  • Instrucciones En el caso del algoritmo, las instrucciones se suelen conocer como acciones, y se tendra: Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcacin.

    Accin 1Accin 2Accin 3Accin xAccin n

  • Tipos de Instrucciones Las instrucciones disponibles en un lenguaje de programacin dependen del tipo de lenguaje, es decir, las instrucciones bsicas son independientes del lenguaje. La clasificacin ms usual, es la siguiente:Instrucciones de Inicio / Fin

    Instrucciones de Asignacin

    Instrucciones de Lectura

    Instrucciones de Escritura

    Instrucciones de Bifurcacin

  • Tipos de InstruccionesComienzo del Programa

    Fin del Proceso

    Entrada (Lectura)

    Salida (Escritura)

    Asignacin

    Tipo de InstruccinEspaolInicio

    Fin

    Leer

    Escribir

    B 7

    InglsBegin

    End

    Read

    Write

    B 7

    PseudocdigoInstrucciones o Acciones Bsicas

  • Instrucciones de Asignacin Son aquellas que nos permiten asignar a una variable un valor. Ejemplos:A 3

    nombre 'thais'

    C A

  • Instrucciones de Entrada Son aquellas que nos permiten leer datos de un dispositivo de entrada. Ejemplos:Leer (numero)

    Leer (nombre)

    Leer (horas)

  • Instrucciones de Escritura Son aquellas que nos permiten escribir datos en un dispositivo de salida. Ejemplos:Escribir (numero)

    Escribir (nombre)

    Escribir (horas)

  • Instrucciones de Bifurcacin El desarrollo lineal de un programa se interrumpe cuando se ejecuta una bifurcacin. Las bifurcaciones pueden ser, segn el punto del programa donde se bifurca, hacia delante o hacia atrs.

    Accin 1Accin 2Accin 3Accin xAccin n

    Accin 1Accin 2Accin 3Accin xAccin nBifurcacin delante (positivo)Bifurcacin atrs (negativo)

  • Elementos Bsicos de un Programa En programacin se debe separar el diseo del algoritmo y su implementacin en un lenguaje especfico. Los lenguajes de programacin tienen elementos bsicos que se utilizan como bloques constructivos, as como reglas para las que esos elementos se combinan. Estas reglas se denominan sintaxis del lenguaje. Slo las instrucciones sintcticamente correctas pueden ser interpretadas por el computador y los programas que contengan errores de sintaxis son rechazados por la mquina (errores de compilacin).

  • Elementos Bsicos de un ProgramaPalabras reservadas: (inicio, fin, si entonces, leer, escribir, repita para, repita mientras, repita hasta, nombre de funciones, etc.)

    Identificadores: (nombres de las variables esencialmente, procedimientos, funciones, nombres del programa, etc.

    Caracteres especiales: (coma, apostrofo, etc.)

    Constantes

    Variables

    Expresiones

    Instrucciones

  • Elementos Bsicos de un ProgramaBucles

    Adems de estos elementos bsicos, existen otros elementos que forman parte de los programas, cuya comprensin y funcionamiento ser vital para el correcto diseo de un algoritmo y naturalmente la codificacin del programaContadores

    Acumuladores

    Interruptores

    Estructuras: secuenciales, selectivas, repetitivas

  • Cuerpo del Programa (Instrucciones) Esta parte del programa contiene las instrucciones que implementan los pasos del algoritmo, puede incluir instrucciones de asignacin, entrada, salida, entre otras.

    Sintaxis:

    {instruccin_1;

    instruccin_2;instruccin_3

    }

  • Tipo de Instrucciones Las instrucciones disponibles en un lenguaje de programacin dependen del tipo de lenguaje. Las instrucciones bsicas que se pueden implementar de modo general en un algoritmo y que bsicamente puedan soportar todos los lenguajes son:Instrucciones de Inicio / Fin

    Instrucciones de Asignacin

    Instrucciones de Lectura

    Instrucciones de Escritura

    Instrucciones de Bifurcacin

  • Comentarios La documentacin de un programa es el conjunto de informacin interna - externa al programa, que facilitar su posterior mantenimiento y puesta en punto. La documentacin puede ser interna o externa. La documentacin interna es aquella que acompaa al cdigo o programa fuente y se realiza a base de comentarios significativos.

    Documentacin Interna:

    Sintaxis:

    //

    Ejemplo:

    //Calcula el precio

    //Calcula el acumulado de las notas

  • Programa En C++ los programas contienen una o ms funciones, una de los cuales es el programa principal que se denominara main. Todos los programas en C++, comienzan a ejecutarse con la funcin main, la cual es un bloque constructivo conocido como una funcin. La llave izquierda ({), debe iniciar el cuerpo de cada funcin. La llave derecha (}), da por terminada cada funcin. Este par de llaves, y la porcin de programa existente entre ambas, tambin se conoce como un bloque. El bloque es una importante unidad de programa en C++.

  • Instrucciones de Inicio / Fin Son las que le indican al sistema que comienza o termina un programa, una funcin o un procedimiento. {(indica inicio del programa)}(indica fin del programa) Estas son:

  • Instrucciones de Escritura de Datos En un programa se suele mostrar mensajes al usuario solicitndoles informacin en su defecto despus de calcular resultados, se han de emitir al exterior a travs de una unidad de salida (pantalla, etc.) para luego ser utilizados por el usuario.

    Sintaxis:

    printf (mensaje);

    Ejemplo:

    printf (introduzca el numero de horas diurnas trabajadas: );

    printf (Nombre: );

  • Instrucciones de Escritura de Datos La instruccin printf, instruye a la computadora para que ejecute una accin, es decir, que imprima en la pantalla la cadena de caracteres descritas por las comillas. Una cadena a veces se conoce como una cadena de caracteres, un mensaje o una literal. Toda la lnea, incluyendo a printf, sus argumentos dentro de los parntesis, y el punto y coma (;), se llama enunciado. Los caracteres por lo regular se imprimirn exactamente como aparecen entre las dobles comillas del enunciado printf.

  • Ejercicio 1

    Algoritmo Hola Mundo

    Inicio

    Escribir (Hola Mundo);

    Fin

    Pseudo - Cdigo

  • Ejercicio 1

    {

    printf (Hola Mundo);

    main()

    # include Librera

    }

    fflush (stdin);

    getchar ();

    FuncionesSalidaFin del programaInicio del programa

    Codificacin del Ejercicio

  • Programa

  • Ejercicio 1

    Compilacin del Ejercicio

  • Ejercicio 1

    Corrida del Ejercicio en C++

  • Instrucciones de Escritura de Datos Advierta que los caracteres ( \n ) no aparecieron impresos en pantalla. La diagonal invertida (\) se llama un carcter de escape, es decir, indica que debe ejecutar una accin. Cuando se encuentra con una diagonal invertida, printf mira hacia adelante, lee el siguiente carcter y lo combina con la diagonal invertida para formar una secuencia de escape. La secuencia de escape (\) significa nueva lnea, y hace que en pantalla el cursor se coloque al principio de la siguiente lnea.

  • Instrucciones de Escritura de Datos

    SecuenciaDescripcin\nNueva lnea. Coloca el cursor al principio de la siguiente lnea\tTabulador horizontal. Mueve el cursor al siguiente tabulador\rRetorno de carro. Coloca el cursor al principio de la lnea actual; no avanza a la lnea siguiente\aAlerta. Hace sonar la campana del sistema\\Diagonal invertida. Imprime un carcter de diagonal invertida en un enunciado printf\Doble comilla. Imprime un carcter de doble comilla en un enunciado printf

  • Instrucciones de Lectura de Datos La mayora de los programas necesitan una serie de datos. Estos datos suelen ser introducidos usando alguna unidad de entrada (teclado, etc.) para luego guardarlos en una variable.

    Sintaxis:

    scanf (%identificador, &nombre_variable);

    Ejemplo:

    scanf (%i,&horasdiurnas);

    scanf (%f, &costocasa);Operadorde direccinen C

    scanf (%identificador, &nombre_variable);Argumentos: Cadena deControl deFormato

  • Instrucciones de Lectura de Datos El scanf tiene dos argumentos:Cadena de control de formato:

    Indica el tipo de dato que deber ser escrito por el usuario. El especificador de conversin indica los datos que se han de utilizar. El signo de % en este contexto es tratado por el scanf como un carcter de escape, y la combinacin %d es una secuencia de escape, indicando que es un entero decimal.

  • Instrucciones de Lectura de DatosOperador de direccin en C:

    El segundo argumento de scanf empieza con un ampersand (&), llamado el operador de direccin en C, seguido por un nombre de variable. El ampersand, al ser combinado con el nombre de la variable, le indica a scanf la posicin en memoria en la cual est almacenada la variable. La computadora a continuacin almacena el valor correspondiente a la variable en dicha posicin. El usuario responder escribiendo un entero y presionando la tecla de retorno (a veces conocida como tecla de entrar) para enviar el nmero a la computadora. La computadora entonces asigna este nmero, o valor a la variable.

  • Instrucciones de Lectura de DatosPor ahora, slo recuerde de anteceder cada variable en todos los enunciados scanf con un ampersand. El verdadero significado del uso del ampersand ser aclarado una vez que se estudie el uso de los apuntadores.

    Ejemplo:

    scanf (%i,&edad); (enteros)

    scanf (%f, &estatura); (real)El uso del ampersand (&) resulta con frecuencia confuso para los programadores nefitos o para personas que hayan programado en otros lenguajes que no requieran de esta notacin.

  • Ejercicio 2

    Algoritmo Fuerza_Electrica

    Inicio

    Escribir (' Introduzca el valor de la carga 1:');

    Leer (q1);

    Escribir (' Introduzca el valor de la carga 2:');

    Leer (q2);

    Escribir (' Introduzca la distancia entre las cargas:');

    Leer (d);K

    Escribir ('Fuerza Electrica:', Fe);

    Fin1 / (4 * 3.14159 * Eo);FeK * q1 * q2 / (d * d);

    Pseudo - Cdigo

  • Ejercicio 2

    {

    printf (Introduzca el valor de la carga 1: );

    scanf (%f,&q1);

    printf (Introduzca el valor de la carga 2: );

    scanf (%f,& q2);

    Float e0=8.9e-12, q1, q2, k, d;

    main()

    printf (Introduzca la distancia entre las cargas: );

    scanf (%f,& d);

    # include LibreraConstanteVariables

    EntradasInicio del programa

  • Ejercicio 2

    }

    fe = K * q1 * q2 / (d * d);

    printf (La fuerza electrica es %f,fe);

    fflush (stdin);

    getchar ();

    k = 1 / (4 * 3.14159 * eo);

    FuncionesSalidaProceso

    Fin del programa

    Codificacin del Ejercicio

  • RecomendacionesLos programas deben ser legibles y comprensibles.

    Use identificadores con significado.

    Use comentarios para describir el objetivo de un programa o de otros segmentos de programa.

    Etiquete toda la salida producida por un programa.

  • Estructuras Secuenciales Una estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el final del proceso. La estructura secuencial tiene una entrada y una salida. Su representacin grfica se muestra a continuacin:

    Accin 1

    Accin 2

    Accin N

  • Estructuras Selectivas Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que suelen denominarse tambin estructuras de decisin o alternativas En las estructuras selectivas se evala una condicin y en funcin del resultado de la misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas.

  • Tipos de Estructuras Selectivas

    Dobles

    Mltiples

    Simples

    Si entonces, de lo contrario

    Segn sea el caso

    Si - entoncesTipoAlgoritmoCodificacin

    If Ifelse

    Case

  • Estructuras Selectivas Simple Esta estructura ejecuta una determinada accin cuando se cumple una determinada condicin. La seleccin Si entonces evala la condicin y

    Si la condicin es verdadera, entonces ejecuta la accin_1 (o acciones en caso de ser una accin compuesta y constar de varias acciones)

    Si la condicin es falsa, entonces no hace nada

    En C++, cuando la condicin es verdadera, las ordenes se ejecutan, pero se encuentran escritas con sangra (aunque es opcional, es muy recomendable hacerlo ya que enfatiza la estructura del programa estructurado).

  • Representaciones de la Estructura Condicional Simple

    Pseudocdigo:

    Si entonces

    Fin_Si

    Si entonces

    Fin_Si

    Accin Sencilla

    Accin Compuesta

  • Representaciones de la Estructura Condicional Simple

    Diagrama de Flujo

    Diagrama de N - SCondicin

    Accin 1

    Falsa

    Verdadera

  • Estructuras Selectivas Simple (Codificacin en C++)

    Sintaxis:

    If (expresion_booleana)

    Instruccin;

    Donde:

    If: es una palabra reservadaCinstruccin: Es una instruccin en C++ vlida

    Objetivo: Si la expresin booleana es cierta; se ejecuta la instruccin especificada; en caso contrario no se ejecuta. En cualquier caso, la ejecucin contina con la siguiente instruccin del programa.

  • Ejercicio 3

    Algoritmo Calculadora

    Inicio

    Escribir (' Introduzca la operacion:');

    Leer (op);

    Pseudo - Cdigo

    Escribir (' Introduzca el numero 1:');

    Leer (N1);

    Escribir (' Introduzca el numero 2:');

    Leer (N2);

    Algoritmo del Ejercicio

  • Ejercicio 3

    Si (op=1);

    Inicio

    resultado = N1 + N2;

    Escribir (La suma es :, resultado);

    Fin

    Si (op=2);

    Inicio

    resultado = N1 - N2;

    Escribir (La resta es :, resultado);

    Fin

    Algoritmo del Ejercicio

  • Ejercicio 3

    Si (op=3);

    Inicio

    resultado = N1 * N2;

    Escribir (La multiplicacion es :, resultado);

    Fin

    Si (op=4);

    Inicio

    resultado = N1 / N2;

    Escribir (La division es :, resultado);

    Fin

    Fin

    Algoritmo del Ejercicio

  • Ejercicio 1

    Inicio

    Leer op, N1, N2

    op=1

    Escribir resultado

    resultado=N1+N2

    Si

    No

    Diagrama de Flujo

  • Ejercicio 1

    op=2

    Escribir resultado

    resultado=N1-N2

    Si

    No

    Algoritmo del Ejercicio

  • Ejercicio 1

    op=3

    Escribir resultado

    resultado=N1*N2

    Si

    No

    Algoritmo del Ejercicio

  • Ejercicio 1

    op=4

    Escribir resultado

    resultado=N1/N2

    Si

    No

    Fin

    Algoritmo del Ejercicio

  • Ejercicio 1

    leer op, N1, N2

    op=1

    Si

    No

    resultado = N1 + N2

    escribir resultado

    op=2

    Si

    No

    resultado = N1 - N2

    escribir resultado

    Diagrama de Nassi - Schneiderman

  • Ejercicio 1

    op=3

    Si

    No

    resultado = N1 + N2

    escribir resultado

    op=4

    Si

    No

    resultado = N1 / N2

    escribir resultado

    Algoritmo del Ejercicio

  • Ejercicio 3

    {

    printf (Introduzca la operacin a realizar: );

    scanf (%i,&op);

    printf (Introduzca el numero 1: );

    scanf (%f,&N1);

    float N1, N2,resultado;

    main()

    printf (Introduzca el numero 2: );

    scanf (%f,&N2);

    # include LibreraDeclaracin de Variables

    EntradasInicio del programa

    int op;

  • Ejercicio 3

    If (op=1) then

    {

    resultado = N1 + N2;

    printf (La suma es :%f, resultado);

    }

    If (op=2) then

    {

    resultado = N1 - N2;

    printf (La resta es :%f, resultado);

    }

    Codificacin del Ejercicio

  • Ejercicio 3

    If (op=3) then

    {

    resultado = N1 * N2;

    printf (La multiplicacion es :%f, resultado);

    }

    If (op=4) then

    {

    resultado = N1 / N2;

    printf (La division es :%f, resultado);

    }

    Codificacin del Ejercicio

  • Ejercicio 3

    }

    fflush (stdin);

    getchar ();

    FuncionesFin del programa

    Codificacin del Ejercicio

  • GRACIAS POR SU ATENCION.