trimestre 1 unidad 5 clase 1
DESCRIPTION
Algoritmica y programación, instrucciones, tipo de instrucciones, estructuras selectivas, estructuras de decision simples, pseudocodigo, diagrama de nassi-schneidermann, diagrama de flujoTRANSCRIPT
-
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.