SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
República Bolivariana de Venezuela
       Universidad del Zulia
   Núcleo Costa Oriental del Lago
Programa: Humanidades y Educación
     Sub-Programa: Informática




      Tutora: María Isabel Colina




        Cabimas, Septiembre 2012
Unidad 2.- Algoritmos y Diagramas de Flujo


1.- Algoritmos
Es el conjunto de instrucciones que especifican la secuencia de operaciones a realizar en
orden, para resolver un sistema específico o clase de problemas.


1.1.- Pseudocódigo
Es una descripción de un algoritmo informático de programación de alto nivel
compacto e informal que utiliza las convenciones estructurales de un lenguaje
de programación verdadero, pero que está diseñado para la lectura humana en
lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje
de programación.


1.2.- Características

-Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP,
PilatoX o PSeInt).

-Es una forma de representación sencilla de utilizar y de manipular.

-Facilita el paso del programa al lenguaje de programación.

-Es independiente del lenguaje de programación que se vaya a utilizar.

-Es un método que facilita la programación y solución al algoritmo del
programa.

1.3.- Análisis del Problema

Requiere la clara definición del problema donde se indique que va hacer el
programa y cual ve a ser el resultado.

1.4.- Componentes de un algoritmo:
-Entrada: La entrada de los datos, corresponde a los insumos o datos necesarios para
ofrecer los resultados esperados.
-Proceso: Son los pasos necesarios para obtener la solución al problema o la
situación planteada.


-Salida: Son los resultados arrojados por el proceso como la solución.


1.4.1.- Variables
Es un nombre asociado a un elemento de datos que está situado en posiciones
contiguas de la memoria principal, y su valor puede cambiar durante la
ejecución de un programa.

Toda variable pertenece a un tipo de dato concreto. En la declaración de una
variable se debe indicar el tipo al que pertenece. Así tendremos variables
enteras, reales, booleanas, etc. Por otro lado, distinguimos tres partes
fundamentales en la vida de una variable:

-Declaración

-Iniciación

-Utilización

-Declaración de variables: Está es la primera fase en la vida de cualquier
variable. La declaración se realiza en la sección que comienza con la palabra
var.

-Iniciación de variables: Esto no es más que darle un valor inicial a una
variable. Principalmente, existen dos maneras de otorgar valores iniciales a
variables:

-Mediante una sentencia de asignación

-Mediante uno de los procedimientos de entrada de datos (read o readln).

-Utilización de variables: Una vez declarada e iniciada una variable, es el
momento de utilizarla. Esta es la parte que presenta un mayor abanico de
posibilidades
1.4.2.- Constante
Es un dato cuyo valor no puede cambiar durante la ejecución del programa.
Recibe un valor en el momento de la compilación y este permanece inalterado
durante todo el programa.

Se puede hacer una división de las constantes en tres clases:

-Constantes literales (sin nombre)

-Constantes declaradas (con nombre)

-Constantes expresión

-Constantes literales

Son valores de cualquier tipo que se utilizan directamente, no se declaran ya
que no tienen nombre.

-Constantes declaradas

También llamadas constantes con nombre, son las que se declaran en la
sección constante asignándoles un valor directamente. Por ejemplo:

-Constantes expresión

También se declaran en la sección constante, pero a estas no se les asigna un
valor directamente, sino que se les asigna una expresión. Esta expresión se
evalúa en tiempo de compilación y el resultado se le asigna a la constante.



1.4.3.- Asignaciones
 Este     tipo    de    p r o g r a ma c i ó n   se   basa     en     los    operadores
característicos         de    cada       lenguaje de programación que son los
operadores de asignación, que comúnmente a p a r e c e c o n u n s i g n o i g u a l
( = ) . C a m b i a e l v a l o r d e l a v a r i a b l e q u e e s t á a l a izquierda por un
literal o el resultado de la expresión que se encuentra a la derecha. La sintaxis
usada para ello es:<destino> = <origen>.Una asignación será correcta siempre
que la anotación de tipo no haya enlazado la variable a un tipo de datos
determinado en la instrucción.


CARACTERÍSTICA
-L a s a s i g n a c i o n e s s o n e xp r e s i o n e s y r e s p o n d e n e l r e s u l t a d o
d e e v a l u a r e l miembro de la derecha.


-L a s a s i g n a c i o n e s p u e d e n e n c a d e n a r s e , r e s u l t a n d o q u e l a
a s i g n a c i ó n d e l miembro derecho sea la respuesta de la asignación anterior.


-Las asignaciones no copian datos, ligan nombres a objetos. Siempre
van al ámbito interno.


-Una asignación es simplemente una instrucción mediante la que se indica un
valor a almacenar en un dato.


Nota: Se debe tener en cuenta que a una variable sólo se le pueden asignar
valores que correspondan a su tipo de dato, así, por ejemplo, no se le puede
asignar un número flotante a una variable entera.


1.4.4.- Entrada de Datos
Son los que la computadora va a procesar.

1.4.5.- Estructuras Condicionales

Se utilizan para lograr que un algoritmo analice los datos y tome ciertas
decisiones., con las estructuras condicionales se regula el comportamiento de
un algoritmo, para que interactúe con los datos ingresados por el usuario, o con
datos que ha obtenido de procesos internos.

Para cumplir con estos objetivos existen tres categorías de estructuras
condicionales, las cuales son:
-Estructuras condicionales simples

 En este tipo de estructuras se limita la ejecución de un bloque de código
 dependiendo el resultado de una condición.

 -Estructuras condicionales dobles

  Son aquellas que ofrecen dos posibles alternativas para continuar la
 ejecución del código, una de ellas se ejecutará si la condición se cumple
 (verdadero) y la otra alternativa se ejecutará si la condición no se cumple
 (falso).

 -Estructuras Condicionales múltiples

  Entregan una decisión más especializada, debido a que representan una
 serie más amplia de parámetros o alternativas, con lo que se logra analizar de
 manera más correcta la variable.

1.4.6.- Estructuras Cíclicas
Es aquella que le permite al programador repetir un conjunto o bloque de
instrucciones un número determinado de veces mientras una condición dada
sea cierta o hasta que una condición dada sea cierta.


1.5.- Elaboración de algoritmos utilizando Pseudocódigos


Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un
programa que escribe el porcentaje descontado en una compra, introduciendo
por teclado el precio de la tarifa y el precio pagado.
Pseudocódigo
PROGRAMA: Descuento
INICIO
DATOS:
VARIABLES
Tarifa Numérico Entero
Precio Numérico Entero
Dto Numérico Entero
Pd Numérico Real
ALGORITMO:
Leer Tarifa
Leer Precio
Dto = Tarifa – Precio
Pd = Dto * 100 / Tarifa
Escribir “Porcentaje de descuento:”, Pd
FIN
Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un
programa que pida por teclado dos números enteros y muestre su suma, resta,
multiplicación, división y el resto (módulo) de la división. Si la operación no es
conmutativa, también se mostrará el resultado invirtiendo los operadores.
Pseudocódigo
PROGRAMA: Operaciones aritméticas
INICIO
DATOS:
VARIABLES
Num1 Numérico Entero
Num2 Numérico Entero
ALGORITMO:
Leer num1, num2
Escribir “n1 + n2 = “, num1+num2
Escribir “n1 - n2 = “, num1-num2
Escribir “n2 - n1 = “, num2-num1
Escribir “n1 * n2 = “, num1*num2
Escribir “n1 / n2 = “, num1/num2
Escribir “n2 / n1 = “, num2/num1
Escribir “n1 mod n2 = “, num1 mod num2
Escribir “n2 mod n1 = “, num2 mod num1
FIN
Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un
programa que exprese en horas, minutos y segundos un tiempo expresado en
segundos.


Pseudocódigo
PROGRAMA: Tiempo_segundos
INICIO
DATOS:
VARIABLES
Segundos Numérico Entero
Minutos Numéricos Entero
Horas Numéricas Entero
ALGORITMO:
Leer segundos
Horas = segundos / 3600
Segundos = segundos mod 3600
Minutos = segundos / 60
Segundos = segundos mod 60
Escribir horas, “h “, minutos, “m “, segundos, “s”
FIN


1.6.- Diagramas de Flujo


1.7.- Conceptos
-Es la representación gráfica del algoritmo o proceso. Estos diagramas utilizan
símbolos con significados bien definidos que representan los pasos del
algoritmo, y representan el flujo de ejecución mediante flechas que conectan
los puntos de inicio y de fin de proceso.
-Son diagramas que emplean símbolos gráficos para representar los pasos o
etapas de un proceso. También permiten describir la secuencia de los distintos
pasos o etapas y su interacción.


1.8.- Características
-Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben
estar presentes el dueño o responsable del proceso, los dueños o
responsables     del proceso anterior        y posterior y de   otros procesos
interrelacionados, otras partes interesadas.


-Definir qué se espera obtener del diagrama de flujo.


-Identificar quién lo empleará y cómo.


-Establecer el nivel de detalle requerido.


-Determinar los límites del proceso a describir.


1.9.- Ventajas


 -Favorecen la comprensión del proceso al mostrarlo como un dibujo. El
 cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de
 flujo reemplaza varias páginas de texto.


 -Permiten identificar los problemas y las oportunidades de mejora del proceso.
 Se identifican los pasos, los flujos de los re-procesos, los conflictos de
 autoridad, las responsabilidades, los cuellos de botella, y los puntos de
 decisión.


 -Muestran las interfaces cliente-proveedor y las transacciones que en ellas se
 realizan, facilitando a los empleados el análisis de las mismas.


 -Son una excelente herramienta para capacitar a los nuevos empleados y
 también a los que desarrollan la tarea, cuando se realizan mejoras en el
 proceso
 .
 -Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de
 algoritmos de programación puede ser ejecutado en un ordenador, con un IDE
 como Free DFD.
1.10.- Tipos

 -Formato vertical: En él, el flujo o la secuencia de las operaciones, va de
 arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso
 con toda la información que se considere necesaria, según su propósito.

 -Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de
 izquierda a derecha.

 -Formato panorámico: El proceso entero está representado en una sola
 carta y puede apreciarse de una sola mirada mucho más rápido que leyendo
 el texto, lo que facilita su comprensión, aún para personas no familiarizadas.
 Registra no solo en línea vertical, sino también horizontal, distintas acciones
 simultáneas y la participación de más de un puesto o departamento que el
 formato vertical no registra.

 -Formato Arquitectónico: Describe el itinerario de ruta de una forma o
 persona sobre el plano arquitectónico del área de trabajo. El primero de los
 flujo gramas es eminentemente descriptivo, mientras que los utilizados son
 fundamentalmente representativos.

1.11.- Simbología


    -Óvalo o Elipse: Inicio y término (Abre y/o cierra el diagrama).




    -Rectángulo: Actividad (Representa la ejecución de una o más actividades
    o procedimientos).




    -Rombo: Decisión (Formula una pregunta o cuestión).
-Círculo: Conector (Representa el enlace de actividades con otra dentro
    de un procedimiento).




    -Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma
    permanente).




    -Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el
    almacenamiento del documento).




1.12.- Reglas Básicas
-Debe de indicar claramente dónde inicia y dónde termina el diagrama.

-Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin.

-Organizar los símbolos de tal forma que siga visualmente el flujo de arriba
hacia abajo y de izquierda a derecha.

-No usar lenguaje de programación dentro de los símbolos.

-Centrar el diagrama en la página.

-Las líneas deben ser verticales u horizontales, nunca diagonales.

-No fraccionar el diagrama con el uso excesivo de conectores.

- Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar
muchas líneas de flujo a otras líneas.

-Las líneas de flujo deben de entrar a un símbolo pro la parte superior y/o
izquierda y salir de él por la parte inferior y/o derecha.

-Evitar que el diagrama sobrepase una página; de no ser posible, enumerar y
emplear los conectores correspondientes.

-Usar lógica positiva, es decir, realizar procesos cuando es verdadera la
condición y expresar las condiciones de manera clara (por ej., "no es a =/= de
b" ==> "a=b").

1.13.- Elaboración de algoritmos utilizando Diagramas de Flujo


Diseñar el algoritmo correspondiente a un programa que obtiene la última cifra
de un número introducido.
Diseñar el algoritmo correspondiente a un programa que calcule el área y el
perímetro de un triángulo rectángulo dada la base y la altura.
Diseñar el algoritmo correspondiente a un programa que tras introducir una
medida expresada en centímetros la convierta en pulgadas (1pulgada = 2,54
centímetros).




Diseñar el algoritmo correspondiente a un programa que exprese en horas,
minutos y segundos un tiempo expresado en segundos.
Unidad II

Contenu connexe

Tendances

Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónJeckson Loza
 
Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011seolivares
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representaciónBenjamin Medina Ramirez
 
Resumen actividades
Resumen actividadesResumen actividades
Resumen actividadesJames Logan
 
Programacion Logica
Programacion LogicaProgramacion Logica
Programacion LogicaNatalia
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacionMichele André
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Estructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxEstructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxLuzAngieBolaosOrdoez
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Sol Hernández
 

Tendances (20)

Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diagramas de flujo - Estructura - Definición
Diagramas de flujo - Estructura - Definición Diagramas de flujo - Estructura - Definición
Diagramas de flujo - Estructura - Definición
 
Resumen actividades
Resumen actividadesResumen actividades
Resumen actividades
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Anexo1
Anexo1Anexo1
Anexo1
 
Programacion Logica
Programacion LogicaProgramacion Logica
Programacion Logica
 
Introduccion Analisis Algoritmos
Introduccion Analisis AlgoritmosIntroduccion Analisis Algoritmos
Introduccion Analisis Algoritmos
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
 
Diagrama secuencial
Diagrama secuencialDiagrama secuencial
Diagrama secuencial
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Variables
VariablesVariables
Variables
 
Estructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docxEstructuras básicas 3 er periodo.docx
Estructuras básicas 3 er periodo.docx
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 

Similaire à Unidad II

Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programaciónMilton Escobar
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicosmoni26011993
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructuradaramirezadi
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- PseudocódigoYenny Salazar
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujoMelian2027
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo iiMauro Rangel
 
Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)LuzAngieBolaosOrdoez
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfEstructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfMrsKyojuro
 
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdf
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdfestructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdf
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdfRazeThefox
 
Estructuras básicas/Conceptos básicos de programación.pdf
Estructuras básicas/Conceptos básicos de programación.pdfEstructuras básicas/Conceptos básicos de programación.pdf
Estructuras básicas/Conceptos básicos de programación.pdfAlejandro991941
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfEstructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfValeriaGonzalezHerna1
 
Copia de Estructuras básicas_ conceptos básicos de programación.pdf
Copia de Estructuras básicas_ conceptos básicos de programación.pdfCopia de Estructuras básicas_ conceptos básicos de programación.pdf
Copia de Estructuras básicas_ conceptos básicos de programación.pdfIncognitoJhets107
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clasetammyrodriguez2010
 
Estructuras basicas tecnología
Estructuras basicas  tecnología Estructuras basicas  tecnología
Estructuras basicas tecnología valentinacrdenas6
 
Estructuras basicas tecnología (1)
Estructuras basicas  tecnología (1)Estructuras basicas  tecnología (1)
Estructuras basicas tecnología (1)SebastianNaranjo19
 
Estructuras básicas tecnología
Estructuras básicas  tecnología Estructuras básicas  tecnología
Estructuras básicas tecnología valentinacrdenas6
 
Estructuras basicas tecnología (2)
Estructuras basicas  tecnología (2)Estructuras basicas  tecnología (2)
Estructuras basicas tecnología (2)SebastianNaranjo19
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfcarlosquiza2
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaLauraOspina49
 

Similaire à Unidad II (20)

Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo ii
 
Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)Estructuras básicas 3 er periodo.docx (1)
Estructuras básicas 3 er periodo.docx (1)
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfEstructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdf
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdfestructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdf
estructurasbsicasconceptosbsicosdeprogramacin-230805023628-b6397fbe.pdf
 
Estructuras básicas/Conceptos básicos de programación.pdf
Estructuras básicas/Conceptos básicos de programación.pdfEstructuras básicas/Conceptos básicos de programación.pdf
Estructuras básicas/Conceptos básicos de programación.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdfEstructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Copia de Estructuras básicas_ conceptos básicos de programación.pdf
Copia de Estructuras básicas_ conceptos básicos de programación.pdfCopia de Estructuras básicas_ conceptos básicos de programación.pdf
Copia de Estructuras básicas_ conceptos básicos de programación.pdf
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clase
 
Estructuras basicas tecnología
Estructuras basicas  tecnología Estructuras basicas  tecnología
Estructuras basicas tecnología
 
Estructuras basicas tecnología (1)
Estructuras basicas  tecnología (1)Estructuras basicas  tecnología (1)
Estructuras basicas tecnología (1)
 
Estructuras básicas tecnología
Estructuras básicas  tecnología Estructuras básicas  tecnología
Estructuras básicas tecnología
 
Estructuras basicas tecnología (2)
Estructuras basicas  tecnología (2)Estructuras basicas  tecnología (2)
Estructuras basicas tecnología (2)
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 

Plus de Massielis Ramirez (6)

Unidad III
Unidad IIIUnidad III
Unidad III
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Unidad i
Unidad iUnidad i
Unidad i
 
Unidad I Programacion
Unidad I ProgramacionUnidad I Programacion
Unidad I Programacion
 
Programacion Unidad I
Programacion Unidad IProgramacion Unidad I
Programacion Unidad I
 
Unidad i
Unidad iUnidad i
Unidad i
 

Dernier

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Dernier (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Unidad II

  • 1. República Bolivariana de Venezuela Universidad del Zulia Núcleo Costa Oriental del Lago Programa: Humanidades y Educación Sub-Programa: Informática Tutora: María Isabel Colina Cabimas, Septiembre 2012
  • 2. Unidad 2.- Algoritmos y Diagramas de Flujo 1.- Algoritmos Es el conjunto de instrucciones que especifican la secuencia de operaciones a realizar en orden, para resolver un sistema específico o clase de problemas. 1.1.- Pseudocódigo Es una descripción de un algoritmo informático de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. 1.2.- Características -Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX o PSeInt). -Es una forma de representación sencilla de utilizar y de manipular. -Facilita el paso del programa al lenguaje de programación. -Es independiente del lenguaje de programación que se vaya a utilizar. -Es un método que facilita la programación y solución al algoritmo del programa. 1.3.- Análisis del Problema Requiere la clara definición del problema donde se indique que va hacer el programa y cual ve a ser el resultado. 1.4.- Componentes de un algoritmo: -Entrada: La entrada de los datos, corresponde a los insumos o datos necesarios para ofrecer los resultados esperados.
  • 3. -Proceso: Son los pasos necesarios para obtener la solución al problema o la situación planteada. -Salida: Son los resultados arrojados por el proceso como la solución. 1.4.1.- Variables Es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa. Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Por otro lado, distinguimos tres partes fundamentales en la vida de una variable: -Declaración -Iniciación -Utilización -Declaración de variables: Está es la primera fase en la vida de cualquier variable. La declaración se realiza en la sección que comienza con la palabra var. -Iniciación de variables: Esto no es más que darle un valor inicial a una variable. Principalmente, existen dos maneras de otorgar valores iniciales a variables: -Mediante una sentencia de asignación -Mediante uno de los procedimientos de entrada de datos (read o readln). -Utilización de variables: Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es la parte que presenta un mayor abanico de posibilidades
  • 4. 1.4.2.- Constante Es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa. Se puede hacer una división de las constantes en tres clases: -Constantes literales (sin nombre) -Constantes declaradas (con nombre) -Constantes expresión -Constantes literales Son valores de cualquier tipo que se utilizan directamente, no se declaran ya que no tienen nombre. -Constantes declaradas También llamadas constantes con nombre, son las que se declaran en la sección constante asignándoles un valor directamente. Por ejemplo: -Constantes expresión También se declaran en la sección constante, pero a estas no se les asigna un valor directamente, sino que se les asigna una expresión. Esta expresión se evalúa en tiempo de compilación y el resultado se le asigna a la constante. 1.4.3.- Asignaciones Este tipo de p r o g r a ma c i ó n se basa en los operadores característicos de cada lenguaje de programación que son los operadores de asignación, que comúnmente a p a r e c e c o n u n s i g n o i g u a l ( = ) . C a m b i a e l v a l o r d e l a v a r i a b l e q u e e s t á a l a izquierda por un literal o el resultado de la expresión que se encuentra a la derecha. La sintaxis usada para ello es:<destino> = <origen>.Una asignación será correcta siempre
  • 5. que la anotación de tipo no haya enlazado la variable a un tipo de datos determinado en la instrucción. CARACTERÍSTICA -L a s a s i g n a c i o n e s s o n e xp r e s i o n e s y r e s p o n d e n e l r e s u l t a d o d e e v a l u a r e l miembro de la derecha. -L a s a s i g n a c i o n e s p u e d e n e n c a d e n a r s e , r e s u l t a n d o q u e l a a s i g n a c i ó n d e l miembro derecho sea la respuesta de la asignación anterior. -Las asignaciones no copian datos, ligan nombres a objetos. Siempre van al ámbito interno. -Una asignación es simplemente una instrucción mediante la que se indica un valor a almacenar en un dato. Nota: Se debe tener en cuenta que a una variable sólo se le pueden asignar valores que correspondan a su tipo de dato, así, por ejemplo, no se le puede asignar un número flotante a una variable entera. 1.4.4.- Entrada de Datos Son los que la computadora va a procesar. 1.4.5.- Estructuras Condicionales Se utilizan para lograr que un algoritmo analice los datos y tome ciertas decisiones., con las estructuras condicionales se regula el comportamiento de un algoritmo, para que interactúe con los datos ingresados por el usuario, o con datos que ha obtenido de procesos internos. Para cumplir con estos objetivos existen tres categorías de estructuras condicionales, las cuales son:
  • 6. -Estructuras condicionales simples En este tipo de estructuras se limita la ejecución de un bloque de código dependiendo el resultado de una condición. -Estructuras condicionales dobles Son aquellas que ofrecen dos posibles alternativas para continuar la ejecución del código, una de ellas se ejecutará si la condición se cumple (verdadero) y la otra alternativa se ejecutará si la condición no se cumple (falso). -Estructuras Condicionales múltiples Entregan una decisión más especializada, debido a que representan una serie más amplia de parámetros o alternativas, con lo que se logra analizar de manera más correcta la variable. 1.4.6.- Estructuras Cíclicas Es aquella que le permite al programador repetir un conjunto o bloque de instrucciones un número determinado de veces mientras una condición dada sea cierta o hasta que una condición dada sea cierta. 1.5.- Elaboración de algoritmos utilizando Pseudocódigos Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado. Pseudocódigo PROGRAMA: Descuento INICIO DATOS: VARIABLES Tarifa Numérico Entero
  • 7. Precio Numérico Entero Dto Numérico Entero Pd Numérico Real ALGORITMO: Leer Tarifa Leer Precio Dto = Tarifa – Precio Pd = Dto * 100 / Tarifa Escribir “Porcentaje de descuento:”, Pd FIN Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que pida por teclado dos números enteros y muestre su suma, resta, multiplicación, división y el resto (módulo) de la división. Si la operación no es conmutativa, también se mostrará el resultado invirtiendo los operadores. Pseudocódigo PROGRAMA: Operaciones aritméticas INICIO DATOS: VARIABLES Num1 Numérico Entero Num2 Numérico Entero ALGORITMO: Leer num1, num2 Escribir “n1 + n2 = “, num1+num2 Escribir “n1 - n2 = “, num1-num2 Escribir “n2 - n1 = “, num2-num1 Escribir “n1 * n2 = “, num1*num2 Escribir “n1 / n2 = “, num1/num2 Escribir “n2 / n1 = “, num2/num1 Escribir “n1 mod n2 = “, num1 mod num2 Escribir “n2 mod n1 = “, num2 mod num1 FIN
  • 8. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos. Pseudocódigo PROGRAMA: Tiempo_segundos INICIO DATOS: VARIABLES Segundos Numérico Entero Minutos Numéricos Entero Horas Numéricas Entero ALGORITMO: Leer segundos Horas = segundos / 3600 Segundos = segundos mod 3600 Minutos = segundos / 60 Segundos = segundos mod 60 Escribir horas, “h “, minutos, “m “, segundos, “s” FIN 1.6.- Diagramas de Flujo 1.7.- Conceptos -Es la representación gráfica del algoritmo o proceso. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso. -Son diagramas que emplean símbolos gráficos para representar los pasos o etapas de un proceso. También permiten describir la secuencia de los distintos pasos o etapas y su interacción. 1.8.- Características
  • 9. -Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas. -Definir qué se espera obtener del diagrama de flujo. -Identificar quién lo empleará y cómo. -Establecer el nivel de detalle requerido. -Determinar los límites del proceso a describir. 1.9.- Ventajas -Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto. -Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión. -Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas. -Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso . -Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de programación puede ser ejecutado en un ordenador, con un IDE como Free DFD.
  • 10. 1.10.- Tipos -Formato vertical: En él, el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. -Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha. -Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aún para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. -Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujo gramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos. 1.11.- Simbología -Óvalo o Elipse: Inicio y término (Abre y/o cierra el diagrama). -Rectángulo: Actividad (Representa la ejecución de una o más actividades o procedimientos). -Rombo: Decisión (Formula una pregunta o cuestión).
  • 11. -Círculo: Conector (Representa el enlace de actividades con otra dentro de un procedimiento). -Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente). -Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del documento). 1.12.- Reglas Básicas
  • 12. -Debe de indicar claramente dónde inicia y dónde termina el diagrama. -Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. -Organizar los símbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. -No usar lenguaje de programación dentro de los símbolos. -Centrar el diagrama en la página. -Las líneas deben ser verticales u horizontales, nunca diagonales. -No fraccionar el diagrama con el uso excesivo de conectores. - Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas líneas de flujo a otras líneas. -Las líneas de flujo deben de entrar a un símbolo pro la parte superior y/o izquierda y salir de él por la parte inferior y/o derecha. -Evitar que el diagrama sobrepase una página; de no ser posible, enumerar y emplear los conectores correspondientes. -Usar lógica positiva, es decir, realizar procesos cuando es verdadera la condición y expresar las condiciones de manera clara (por ej., "no es a =/= de b" ==> "a=b"). 1.13.- Elaboración de algoritmos utilizando Diagramas de Flujo Diseñar el algoritmo correspondiente a un programa que obtiene la última cifra de un número introducido.
  • 13. Diseñar el algoritmo correspondiente a un programa que calcule el área y el perímetro de un triángulo rectángulo dada la base y la altura.
  • 14. Diseñar el algoritmo correspondiente a un programa que tras introducir una medida expresada en centímetros la convierta en pulgadas (1pulgada = 2,54 centímetros). Diseñar el algoritmo correspondiente a un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos.