SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Conalep ++ Manejo de Técnicas de Programación
TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
Las técnicas analizadas en el tema anterior permiten un diseño global del algoritmo, pero ocasionalmente
pueden desatender detalles específicos de este. Las tres técnicas o herramientas de formulación de algoritmos
más populares son:
Diagrama de flujo
Pseudocódigo
Diagramas estructurados
Diagramas de flujo
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la
representación detallada en forma gráfica de cómo deben realizarse los pasos en el computador para producir
resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la
computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los
procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización
(ANSI).
Simbología utilizada en los diagramas de flujo
Símbolo Función
Conalep ++ Manejo de Técnicas de Programación
Simbología Utilizada en los Diagramas de Flujo
Símbolo Función
Conalep ++ Manejo de Técnicas de Programación
Símbolos de diagrama de flujo empleados en el software Raptor
Función
Assignment (Asignación), este símbolo en figura de rectángulo,
permite evaluar una expresión y asignar () o guardar el valor que
se origine como resultado de la misma en una variable. Por
ejemplo, tómese la siguiente asignación: Variable  Expresión,
misma que deberá ir dentro de un símbolo rectángulo.
Call (llamada), este símbolo hace referencia e invoca a un
procedimiento o función, consistente en una sección o fragmento
de código (instrucciones) para su ejecución en bloque,
generalmente cuando se hace un diseño de la solución del
problema en programación modular.
Input (Entrada), mediante el se indicará la entrada (leer) de datos
para su lectura y almacenamiento bajo el nombre de una variable,
permitiendo al mismo tiempo la salida de un mensaje entre comilla
doble o simple de forma indistinta, y que servirá para aclarar al
usuario la petición del dato que se desea debe introducir.
Output (Salida) se usará este símbolo para escribir o dar salida a
los datos que se generen durante la ejecución del programa, ya
sea producto de un cálculo, mostrar el valor de una variable, o
bien, mostrar mensajes informativos al usuario. Para escribir un
mensaje en este símbolo, este deberá estar encerrado entre
comilla simple o doble y si en el mismo símbolo se desea mostrar
además del mensaje el valor de una variable, se usara el signo
más (+) para separar uno de otra.
Nota: Es importante destacar que tanto para la entrada como para
la salida de datos, se usa el mismo símbolo, pero hay que
diferenciarlos por la indicación en la dirección de la flecha que
señala si se está introduciendo (lectura, entrada) o si se está
escribiendo (salida)
Selection (Selección), Este símbolo representa una estructura
algorítmica condicional, que permite evaluar una expresión lógica
(condición) y derivado de su valor(siendo solo posible dos: Falso o
verdadero), seguir un curso de acción y ejecutar las instrucciones
que se encuentren en el caso previsto (falso o verdadero), según
el resultado obtenido.
Loop (iteración, repetición), Este símbolo representa una
estructura repetitiva o de iteración, mediante ella es posible
realizar la ejecución de instrucciones en más de una vez. Su
funcionamiento consiste en definir condiciones de inicio (dadas por
valores iniciales de la variable de control), y la evaluación de una
expresión lógica (condición) de salida, que involucra a la variable
de control respecto a un valor a alcanzar por esta y dentro del
cuerpo de la estructura repetitiva se debe modificar el valor de la
variable de control, para que en un determinado momento se
termine la repetición de la estructura.
Start (Inicio) y End (Fin), estos símbolos permiten marcar el inicio
y el fin del programa respectivamente.
Conalep ++ Manejo de Técnicas de Programación
Recomendaciones para el diseño de Diagramas de Flujo
 Usar solamente líneas de flujo horizontal y/o vertical.
 Evitar el cruce de líneas utilizando los conectores.
 Usar conectores solo cuando sea necesario.
 No deben quedar líneas de flujo son conectar.
 Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. El
texto escrito en un símbolo deberá ser claro y evitar el uso de muchas palabras.
Pseudocódigo
Mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma) que se emplea, dentro de la
programación estructurada, para realizar el diseño de un programa. El uso de tal lenguaje hace el paso de
codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil. En esencial, el
pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación
narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El
pseudocódigo utiliza palabras que indican el proceso a realizar.
Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje
de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora. El
pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en este caso en español
(similares a sus homónimos en ingles en los lenguajes de programación). Tales como: Inicio, Fin, Si-Entonces,
Hacer Mientras, Repite-Hasta, Desde – Hasta, etc.
Entrada y Salida de Información
Los cálculos que realizan las computadoras requieren para ser útiles la Entrada de los datos necesarios para
ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, Salida. Las operaciones de
entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce
como operación de Lectura (read, cin, get). Los datos de entrada se introducen al procesador mediante
dispositivos de entrada (teclado, unidades de disco, etc). La salida puede aparecer en un dispositivo de salida
(pantalla, impresora, etc). La operación de salida se denomina escritura (write, cout, say, ).
Lectura o entrada
La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un dato o valor.
Diagrama de flujo Pseudocódigo
Se utiliza el símbolo de entrada/Salida de datos:
Indicaría que se lee la Edad, Sexo y Sueldo en las
variables del mismo nombre.
En el diagrama de flujo, si deseamos mostrar un
mensaje que aclare la entrada para que el usuario
sepa que dato introducir. Se puede hacer en el
mismo símbolo de entrada, Pero no es así en el
pseudocódigo.
Sintaxis (forma de escribir la instrucción):
Leer (Variable)
Ejemplo:
Leer (Num)
Donde: Num será la variable que recibirá el dato de
entrada. Siempre y cuando sea del mismo tipo a como
se definió la variable.
Leer ( Lista de Variables)
Ejemplo:
Leer (Edad, Sexo, Sueldo)
Donde: Edad, Sexo y Sueldo son las variables que
recibirán los datos de entrada respectivamente.
Código en lenguaje de programación C++
Sintaxis (forma de escribir la instrucción):
cin >> variable;
cin >> variable1>> Variable2>>…>>VariableN;
Ejemplo:
cin >> Num;
cin >> Edad>>Sexo>>Sueldo;
Edad, Sexo, Sueldo
“Teclea tu Edad: ”, Edad
Conalep ++ Manejo de Técnicas de Programación
Escritura o Salida
Consiste en mandar por un dispositivo de salida (p.ej. monitor, impresora o hacia un archivo) un resultado,
valor, dato o simplemente texto para explicar una entrada o salida de información.
Diagrama de flujo Pseudocódigo
Se utiliza el símbolo de entrada/salida de datos: Escribir (“Mensaje”, Variable)
Ejemplo:
Escribir (“La edad y sexo son: ”, Edad, Sexo)
Donde “La edad y sexo son:” es un mensaje que
se desea aparezca. Edad y Sexo son variables que
contienen los datos a mostrar.
Código en lenguaje de programación c++
Sintaxis (forma de escribir la instrucción):
cout << variable;
cout << variable1<< Variable2 <<,…<< VariableN;
cout << “Mensaje” << variable << ”Mensaje” ;
cout << “variable” <<”Mensaje” ;
Ejemplo:
cout << Sueldo;
cout << Nombre << Edad << Sexo;
cout << “La edad y sexo son: “<<Edad<<Sexo;
cout << Promedio<<” Es tu calificación final” ;
Nota: En lo que resta de este curso, se empleara el símbolo de Entrada/Salida de datos, únicamente para la
entrada y el símbolo de impresora o impresión para la salida de datos. Esto con la finalidad de evitar
confusiones.
PROGRAMACIÓN ESTRUCTURADA.
La programación Estructurada es una técnica en la cual la estructura de un programa, esto es, la interpelación
de sus partes realiza tan claramente cómo es posible mediante el uso de tres estructuras lógicas de control:
 Secuencia: Sucesión simple de dos o más operaciones.
 Selección: bifurcación condicional de una o más operaciones.
 Interacción: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen
cualquier tarea de procesamiento de información.
Estructuras Algorítmicas
Las estructuras de operación de programas son un
grupo de formas de trabajo, que permiten, mediante la
manipulación de variables, realizar ciertos procesos
específicos que nos lleven a la solución de problemas.
Estas estructuras se clasifican de acuerdo con su
complejidad, como se aprecia en el diagrama a la
derecha.
En todo algoritmo se requieren de datos de entrada
que permitan realizar con ellos procesos para generar
los resultados o salidas esperadas. Por lo que a
continuación definiremos la forma de cómo realizar las
operaciones de Entrada y Salida.
Edad, Sexo
Edad, Sexo
“La edad y sexo Son:”,
Edad, Sexo
o de Impresora:
- Compuestas o dobles
Conalep ++ Manejo de Técnicas de Programación
Estructura secuencial.  Diagrama de Flujo Diagrama N-S .
Es aquélla en la que una acción
(instrucción) 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
fin del proceso. La estructura
secuencial tiene una entrada y una
salida. Su representación gráfica es la
siguiente:
…
Pseudocódigo Código en lenguaje de ´rogramación C++
Inicio #include <constream.h>
Acción1
Acción2 void main ( )
Acción3 {
: instrucción_1;
AcciónN instrucción_2;
Fin :
instrucción_N;
}
Estructuras condicionales
Las estructuras selectivas o alternativas pueden ser: Simple, Doble o compuesta, Múltiple
Alternativa o condicional simple (si-entonces/if-then)
La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN ) ejecuta una determinada acción
cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y . . .
Si la condición es verdadera, entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción
compuesta y constar de varias acciones).
Si la condición es falsa, entonces no hace nada.
A continuación se muestra la representación de la estructura condicional simple.
Diagrama de flujo Pseudocódigo Código Lenguaje de programación C++
Si (Condición?) Entonces
Acción_1
Acción_2
Acción_3
…
Acción_n
Fin_Si
if (condición?)
{
instruccion_1;
instruccion_2;
instruccion_3;
…
instruccion_n;
}
Condición
Si No
Acciones
Conalep ++ Manejo de Técnicas de Programación
Alternativa o condicional compuesta (si-entonces-sino/if-then-else)
Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del
cumplimiento o no de una determinada condición. Solo se realizan las instrucciones de un caso (V o F).
Diagrama de flujo Pseudocódigo Código lenguaje de programación C++
Si (Condición?) Entonces
Acciones
Sino
Acciones
Fin_Si
if (condición?)
{
instrucciones;
}
else
{
instrucciones;
}
DDoonnddee:
Si Indica el comando de comparación de decisión, para proceder a evaluar la condición
Condición Indica la condición (expresión lógica o relacional) a evaluar
Entonces Procede a realizar las acciones, cuando se cumple la condición
Acciones Son las acciones a realizar cuando se cumple o no la condición
Sino Procede a realizar las acciones, cuando no se cumple la condición
Estructura selectiva o condicional múltiple (según sea, caso de / case, switch)
Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas
múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y
naturalmente de legibilidad. La estructura de decisión múltiple evaluará una expresión que podrá tomar n
valores distintos 1, 2, 3, 4,..., n. Según que elija uno de estos valores en la condición, se realizará una de las n
acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. La
representación se muestra a continuación:
Diagrama de flujo Pseudocódigo Código C++
Casos de (Valor ?)
Caso Valor1:
Instrucciones
Caso Valor2:
Instrucciones
Caso Valor3:
Instrucciones
Caso Valor4:
Instrucciones
Caso ValorN:
Instrucciones
Por Defecto:
Instrucciones
Fin_Casos
switch (Valor ?)
{
case Valor1:
instrucciones;
break;
case Valor2:
instrucciones;
break;
case ValorN:
instrucciones;
break;
default:
instrucciones;
}
Condición
Si No
Acciones Acciones
Por
Defecto
Valor 
Valor1
Acción2
1
Acción1
Acción3 Acción4
1
Acción
AcciónN
Valor2 ValorNValor3 Valor4
Conalep ++ Manejo de Técnicas de Programación
DDoonnddee:
Valor ? Será una variable, constante o expresión que arroje un valor ddee ttiippoo eenntteerroo oo ccaarraacctteerr.
Valor1,Valor2, ... ValorN Serán valores enteros o caracter, en tal caso el caracter deberá estar
entre comilla simple (‘X’), con los cuales se espera correspondencia del valor en
cuestión (Valor ?).
Acción1, Acción2, ... AcciónN; Instrucciones; Serán sustituidos por las instrucciones u
operaciones o acciones a realizar en caso de que el selector (Valor ?), corresponda con
ese caso en particular.
Por Defecto; default: Indica que las instrucciones que se encuentran después de él,
se ejecutaran cuando no exista correspondencia entre el selector de casos (Valor ?) y
los casos contemplados por Valor1, Valor2, ..., ValorN.
Estructuras repetitivas
Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan
Bucles y se denomina Iteración al hecho de repetir la ejecución de una secuencia de acciones. Se llaman
problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones
que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente
determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).
Entre las estructuras repetitivas se encuentran:
Mientras – Hacer (while)
Repetir - Hasta (repeat – until)
Desde – Para (for)
IMPORTANTE
En toda estructura repetitiva se emplea por lo general una variable de control del ciclo, la cual permite definir
el número de veces que dicho ciclo se repite. Esta variable por lo tanto, antes de iniciar la estructura repetitiva,
esta debe ser inicializada con un valor en particular, y deberá modificar su valor internamente en el ciclo,
para asegurar que en algún momento este se termine la ejecución del bucle. Y evitar con ello que el programa
se repita indefinidamente.
Estructura Mientras - Hacer (while)
La estructura repetitiva Mientras, es aquélla en que el cuerpo del bucle se repite mientras se cumple una
determinada condición. Por lo tanto puede ser que nunca llegue a ejecutarse. Su representación se muestra en
la siguiente tabla:
Diagrama de flujo Pseudocódigo Código C++
Mientras (Condición?) Hacer
Acción_1
Acción_2
Acción_3
…
Acción_n
Fin-Mientras
while (Condición?)
{
Instrucción1;
Instrucción2;
Instrucción3;
[break;]
…
[continue;]
Instrucción_n;
}
Conalep ++ Manejo de Técnicas de Programación
Donde:
Condición Será la una expresión lógica que se evalúa. Si esta es verdadera, entonces el ciclo se
ejecuta y se termina en caso contrario.
Acciones; Instrucción1, Instrucción2, … Instrucción_n Serán sustituidas por las instrucciones u
operaciones a realizar.
break; Los corchetes indican que esta instrucción puede ir o no, según la necesidad del
algoritmo. Su uso es exclusivo en código C++, y su función es forzar la terminación del
ciclo, aunque la condición siga siendo verdadera.
continue; Los corchetes indican que esta instrucción puede ir o no, según la necesidad del
algoritmo. Su uso es exclusivo en código C++, y su función regresar a la siguiente
iteración omitiendo la ejecución del resto de las instrucciones del ciclo.
ESTRUCTURA REPITE-HASTA (REPEAT – UNTIL, DO-WHILE)
Esta estructura se ejecuta hasta que se cumpla una condición determinada que se comprueba hasta el final del
bucle. Su característica principal es que se ejecuta al menos una vez. El bucle Repetir-Hasta_Que, se repite
mientras el valor de la expresión booleana de la condición sea falsa, justo la opuesta de la estructura mientras.
Diagrama de flujo Pseudocódigo Código C++
Repetir
Acción_1
Acción_2
Acción_3
…
Acción_n
Hasta_Que (Condición)
do
{
Instrucción_1;
Instrucción_2;
Instrucción_3;
[break;]
…
[continue;]
Instrucción_n;
} while (Condición);
Nota Importante: En el lenguaje de programación C++, no existe la estructura Repite-Hasta_Que. En su lugar
se emplea la estructura do-while (Hacer-Mientras), que funciona de manera similar evaluando la condición al
final. Pero la diferencia está en que, la estructura do-while se repite mientras la condición que se evalúa sea
verdadera. A la inversa que en Repite-Hasta_Que. Por lo que se debe de tener cuidado a la hora de codificar en
C++ con la escritura de la condición.
Estructura desde-para (para-hasta, for)
En muchas ocasiones se conoce de antemano
el número de veces que se desean ejecutar las
acciones de un bucle. En estos casos en el
que el número de iteraciones es fija, se debe
usar la estructura desde o para. La estructura
Desde ejecuta las acciones del cuerpo del
bucle un número específico de veces y de
modo automático controla el número de
iteraciones o pasos a través del cuerpo del
bucle.
A la derecha se muestra el diagrama de flujo
compacto para representar esta estructura. Acciones
Vi  Valor Inicial
Condición
Incremento
o Decremento de Vi Falso
Verdadero
Conalep ++ Manejo de Técnicas de Programación
Donde:
• Vi Es la variable índice de control del ciclo, mediante la cual se determina el número de repeticiones.
• Valor inicial Se utilizará para fijar el valor inicial de la variable índice para control del ciclo.
• Condición (Vi > Vf) En este apartado se especificará la condición de salida una expresión lógica que
por lo general involucra a la variable índice de control (Vi) y a un valor final (Vf) al cual tiene que llegar esta,
o bien una expresión que arroje dicho valor.
• Incremento/Decremento de Vi: Se utilizará para especificar el incremento o decremento que aplicara a la
variable de control del bucle (Vi) utilizada para control de las repeticiones. Generalmente se da en uno,
aunque en C++ es libre.
Diagrama de Flujo de la estructura Desde/Para
Pseudocódigo de la estructura Desde/Para Diagrama N-S
Desde V  Valor_Inicial Hasta Valor_Final Hacer
Acción_1
Acción_2
Acción_3
…
Acción_n
Fin-Desde
Código C++ de la estructura Desde/Para
for (Vi = Valor_Inicial ; Condición; Incremento/Decremento de Vi)
{
Instrucción_1;
Instrucción_2;
[break;]
…
[continue;]
Instrucción_n;
}

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Consulta - Programación Lineal y Programacion Orientada A Objetos
Consulta - Programación Lineal y Programacion Orientada A ObjetosConsulta - Programación Lineal y Programacion Orientada A Objetos
Consulta - Programación Lineal y Programacion Orientada A Objetos
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Algoritmos Voraces
Algoritmos VoracesAlgoritmos Voraces
Algoritmos Voraces
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Easy case
Easy caseEasy case
Easy case
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Lenguajes Regulares.
Lenguajes Regulares.Lenguajes Regulares.
Lenguajes Regulares.
 
Análisis y diseño de sistemas
Análisis y diseño de sistemasAnálisis y diseño de sistemas
Análisis y diseño de sistemas
 
m discretas
m discretasm discretas
m discretas
 
Estructura de control
Estructura de controlEstructura de control
Estructura de control
 
Gauss jordan en C
Gauss jordan en CGauss jordan en C
Gauss jordan en C
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Transformaciones lineales
Transformaciones linealesTransformaciones lineales
Transformaciones lineales
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 

Destacado

Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de AlgoritmosTaniaCalle
 
Diseño estructurado de algoritmos
Diseño estructurado de algoritmosDiseño estructurado de algoritmos
Diseño estructurado de algoritmosGalo Fabara Vargas
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivosfeytho
 
Presentación polígonos, poliedros
Presentación polígonos, poliedrosPresentación polígonos, poliedros
Presentación polígonos, poliedroslarubia1
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasCarlos M. Sandoval
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlparada137
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmosYulyana López
 
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Marlon Castro
 
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...Marcelo Vilela Pardo
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor0cero
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmoroxanaparra28
 

Destacado (20)

Proyecto matemática, poliedros
Proyecto matemática, poliedrosProyecto matemática, poliedros
Proyecto matemática, poliedros
 
Matrices
MatricesMatrices
Matrices
 
Tecnicas Algoritmicas
Tecnicas AlgoritmicasTecnicas Algoritmicas
Tecnicas Algoritmicas
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
Diseño estructurado de algoritmos
Diseño estructurado de algoritmosDiseño estructurado de algoritmos
Diseño estructurado de algoritmos
 
Manual de raptor
Manual de raptorManual de raptor
Manual de raptor
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
 
Presentación polígonos, poliedros
Presentación polígonos, poliedrosPresentación polígonos, poliedros
Presentación polígonos, poliedros
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicas
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
 
Analisis y diseño de algoritmos
Analisis y diseño de algoritmosAnalisis y diseño de algoritmos
Analisis y diseño de algoritmos
 
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmo
 

Similar a Estructuras algoritmicas representación

Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmicopaty_cursocompu
 
Unidad I Algoritmos
Unidad I   AlgoritmosUnidad I   Algoritmos
Unidad I AlgoritmosEnder Melean
 
Unidad I Algoritmos
Unidad  I    AlgoritmosUnidad  I    Algoritmos
Unidad I AlgoritmosEnder Melean
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
DIAGRAMA DE FLUJO.pptx
DIAGRAMA DE FLUJO.pptxDIAGRAMA DE FLUJO.pptx
DIAGRAMA DE FLUJO.pptxLuisMerchan17
 
Naturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaNaturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaanamaramirez19
 
Naturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaNaturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaKaren Vivas
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica IINoe Altamirano
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica iiNoe Altamirano
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2Noé AG
 

Similar a Estructuras algoritmicas representación (20)

Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Unidad I Algoritmos
Unidad I   AlgoritmosUnidad I   Algoritmos
Unidad I Algoritmos
 
Unidad I Algoritmos
Unidad  I    AlgoritmosUnidad  I    Algoritmos
Unidad I Algoritmos
 
INTRODUCCION
INTRODUCCIONINTRODUCCION
INTRODUCCION
 
Tema v
Tema vTema v
Tema v
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Práctica no 8
Práctica no 8Práctica no 8
Práctica no 8
 
Tema v
Tema vTema v
Tema v
 
DIAGRAMA DE FLUJO.pptx
DIAGRAMA DE FLUJO.pptxDIAGRAMA DE FLUJO.pptx
DIAGRAMA DE FLUJO.pptx
 
Naturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaNaturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologia
 
Naturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologiaNaturaleza y evolucion de la tecnologia
Naturaleza y evolucion de la tecnologia
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica II
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2
 

Último

UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 

Último (20)

UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 

Estructuras algoritmicas representación

  • 1. Conalep ++ Manejo de Técnicas de Programación TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS Las técnicas analizadas en el tema anterior permiten un diseño global del algoritmo, pero ocasionalmente pueden desatender detalles específicos de este. Las tres técnicas o herramientas de formulación de algoritmos más populares son: Diagrama de flujo Pseudocódigo Diagramas estructurados Diagramas de flujo Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en el computador para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI). Simbología utilizada en los diagramas de flujo Símbolo Función
  • 2. Conalep ++ Manejo de Técnicas de Programación Simbología Utilizada en los Diagramas de Flujo Símbolo Función
  • 3. Conalep ++ Manejo de Técnicas de Programación Símbolos de diagrama de flujo empleados en el software Raptor Función Assignment (Asignación), este símbolo en figura de rectángulo, permite evaluar una expresión y asignar () o guardar el valor que se origine como resultado de la misma en una variable. Por ejemplo, tómese la siguiente asignación: Variable  Expresión, misma que deberá ir dentro de un símbolo rectángulo. Call (llamada), este símbolo hace referencia e invoca a un procedimiento o función, consistente en una sección o fragmento de código (instrucciones) para su ejecución en bloque, generalmente cuando se hace un diseño de la solución del problema en programación modular. Input (Entrada), mediante el se indicará la entrada (leer) de datos para su lectura y almacenamiento bajo el nombre de una variable, permitiendo al mismo tiempo la salida de un mensaje entre comilla doble o simple de forma indistinta, y que servirá para aclarar al usuario la petición del dato que se desea debe introducir. Output (Salida) se usará este símbolo para escribir o dar salida a los datos que se generen durante la ejecución del programa, ya sea producto de un cálculo, mostrar el valor de una variable, o bien, mostrar mensajes informativos al usuario. Para escribir un mensaje en este símbolo, este deberá estar encerrado entre comilla simple o doble y si en el mismo símbolo se desea mostrar además del mensaje el valor de una variable, se usara el signo más (+) para separar uno de otra. Nota: Es importante destacar que tanto para la entrada como para la salida de datos, se usa el mismo símbolo, pero hay que diferenciarlos por la indicación en la dirección de la flecha que señala si se está introduciendo (lectura, entrada) o si se está escribiendo (salida) Selection (Selección), Este símbolo representa una estructura algorítmica condicional, que permite evaluar una expresión lógica (condición) y derivado de su valor(siendo solo posible dos: Falso o verdadero), seguir un curso de acción y ejecutar las instrucciones que se encuentren en el caso previsto (falso o verdadero), según el resultado obtenido. Loop (iteración, repetición), Este símbolo representa una estructura repetitiva o de iteración, mediante ella es posible realizar la ejecución de instrucciones en más de una vez. Su funcionamiento consiste en definir condiciones de inicio (dadas por valores iniciales de la variable de control), y la evaluación de una expresión lógica (condición) de salida, que involucra a la variable de control respecto a un valor a alcanzar por esta y dentro del cuerpo de la estructura repetitiva se debe modificar el valor de la variable de control, para que en un determinado momento se termine la repetición de la estructura. Start (Inicio) y End (Fin), estos símbolos permiten marcar el inicio y el fin del programa respectivamente.
  • 4. Conalep ++ Manejo de Técnicas de Programación Recomendaciones para el diseño de Diagramas de Flujo  Usar solamente líneas de flujo horizontal y/o vertical.  Evitar el cruce de líneas utilizando los conectores.  Usar conectores solo cuando sea necesario.  No deben quedar líneas de flujo son conectar.  Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. El texto escrito en un símbolo deberá ser claro y evitar el uso de muchas palabras. Pseudocódigo Mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil. En esencial, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora. El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en este caso en español (similares a sus homónimos en ingles en los lenguajes de programación). Tales como: Inicio, Fin, Si-Entonces, Hacer Mientras, Repite-Hasta, Desde – Hasta, etc. Entrada y Salida de Información Los cálculos que realizan las computadoras requieren para ser útiles la Entrada de los datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, Salida. Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como operación de Lectura (read, cin, get). Los datos de entrada se introducen al procesador mediante dispositivos de entrada (teclado, unidades de disco, etc). La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc). La operación de salida se denomina escritura (write, cout, say, ). Lectura o entrada La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un dato o valor. Diagrama de flujo Pseudocódigo Se utiliza el símbolo de entrada/Salida de datos: Indicaría que se lee la Edad, Sexo y Sueldo en las variables del mismo nombre. En el diagrama de flujo, si deseamos mostrar un mensaje que aclare la entrada para que el usuario sepa que dato introducir. Se puede hacer en el mismo símbolo de entrada, Pero no es así en el pseudocódigo. Sintaxis (forma de escribir la instrucción): Leer (Variable) Ejemplo: Leer (Num) Donde: Num será la variable que recibirá el dato de entrada. Siempre y cuando sea del mismo tipo a como se definió la variable. Leer ( Lista de Variables) Ejemplo: Leer (Edad, Sexo, Sueldo) Donde: Edad, Sexo y Sueldo son las variables que recibirán los datos de entrada respectivamente. Código en lenguaje de programación C++ Sintaxis (forma de escribir la instrucción): cin >> variable; cin >> variable1>> Variable2>>…>>VariableN; Ejemplo: cin >> Num; cin >> Edad>>Sexo>>Sueldo; Edad, Sexo, Sueldo “Teclea tu Edad: ”, Edad
  • 5. Conalep ++ Manejo de Técnicas de Programación Escritura o Salida Consiste en mandar por un dispositivo de salida (p.ej. monitor, impresora o hacia un archivo) un resultado, valor, dato o simplemente texto para explicar una entrada o salida de información. Diagrama de flujo Pseudocódigo Se utiliza el símbolo de entrada/salida de datos: Escribir (“Mensaje”, Variable) Ejemplo: Escribir (“La edad y sexo son: ”, Edad, Sexo) Donde “La edad y sexo son:” es un mensaje que se desea aparezca. Edad y Sexo son variables que contienen los datos a mostrar. Código en lenguaje de programación c++ Sintaxis (forma de escribir la instrucción): cout << variable; cout << variable1<< Variable2 <<,…<< VariableN; cout << “Mensaje” << variable << ”Mensaje” ; cout << “variable” <<”Mensaje” ; Ejemplo: cout << Sueldo; cout << Nombre << Edad << Sexo; cout << “La edad y sexo son: “<<Edad<<Sexo; cout << Promedio<<” Es tu calificación final” ; Nota: En lo que resta de este curso, se empleara el símbolo de Entrada/Salida de datos, únicamente para la entrada y el símbolo de impresora o impresión para la salida de datos. Esto con la finalidad de evitar confusiones. PROGRAMACIÓN ESTRUCTURADA. La programación Estructurada es una técnica en la cual la estructura de un programa, esto es, la interpelación de sus partes realiza tan claramente cómo es posible mediante el uso de tres estructuras lógicas de control:  Secuencia: Sucesión simple de dos o más operaciones.  Selección: bifurcación condicional de una o más operaciones.  Interacción: Repetición de una operación mientras se cumple una condición. Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento de información. Estructuras Algorítmicas Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad, como se aprecia en el diagrama a la derecha. En todo algoritmo se requieren de datos de entrada que permitan realizar con ellos procesos para generar los resultados o salidas esperadas. Por lo que a continuación definiremos la forma de cómo realizar las operaciones de Entrada y Salida. Edad, Sexo Edad, Sexo “La edad y sexo Son:”, Edad, Sexo o de Impresora: - Compuestas o dobles
  • 6. Conalep ++ Manejo de Técnicas de Programación Estructura secuencial.  Diagrama de Flujo Diagrama N-S . Es aquélla en la que una acción (instrucción) 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 fin del proceso. La estructura secuencial tiene una entrada y una salida. Su representación gráfica es la siguiente: … Pseudocódigo Código en lenguaje de ´rogramación C++ Inicio #include <constream.h> Acción1 Acción2 void main ( ) Acción3 { : instrucción_1; AcciónN instrucción_2; Fin : instrucción_N; } Estructuras condicionales Las estructuras selectivas o alternativas pueden ser: Simple, Doble o compuesta, Múltiple Alternativa o condicional simple (si-entonces/if-then) La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN ) ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y . . . Si la condición es verdadera, entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción compuesta y constar de varias acciones). Si la condición es falsa, entonces no hace nada. A continuación se muestra la representación de la estructura condicional simple. Diagrama de flujo Pseudocódigo Código Lenguaje de programación C++ Si (Condición?) Entonces Acción_1 Acción_2 Acción_3 … Acción_n Fin_Si if (condición?) { instruccion_1; instruccion_2; instruccion_3; … instruccion_n; } Condición Si No Acciones
  • 7. Conalep ++ Manejo de Técnicas de Programación Alternativa o condicional compuesta (si-entonces-sino/if-then-else) Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Solo se realizan las instrucciones de un caso (V o F). Diagrama de flujo Pseudocódigo Código lenguaje de programación C++ Si (Condición?) Entonces Acciones Sino Acciones Fin_Si if (condición?) { instrucciones; } else { instrucciones; } DDoonnddee: Si Indica el comando de comparación de decisión, para proceder a evaluar la condición Condición Indica la condición (expresión lógica o relacional) a evaluar Entonces Procede a realizar las acciones, cuando se cumple la condición Acciones Son las acciones a realizar cuando se cumple o no la condición Sino Procede a realizar las acciones, cuando no se cumple la condición Estructura selectiva o condicional múltiple (según sea, caso de / case, switch) Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos 1, 2, 3, 4,..., n. Según que elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. La representación se muestra a continuación: Diagrama de flujo Pseudocódigo Código C++ Casos de (Valor ?) Caso Valor1: Instrucciones Caso Valor2: Instrucciones Caso Valor3: Instrucciones Caso Valor4: Instrucciones Caso ValorN: Instrucciones Por Defecto: Instrucciones Fin_Casos switch (Valor ?) { case Valor1: instrucciones; break; case Valor2: instrucciones; break; case ValorN: instrucciones; break; default: instrucciones; } Condición Si No Acciones Acciones Por Defecto Valor  Valor1 Acción2 1 Acción1 Acción3 Acción4 1 Acción AcciónN Valor2 ValorNValor3 Valor4
  • 8. Conalep ++ Manejo de Técnicas de Programación DDoonnddee: Valor ? Será una variable, constante o expresión que arroje un valor ddee ttiippoo eenntteerroo oo ccaarraacctteerr. Valor1,Valor2, ... ValorN Serán valores enteros o caracter, en tal caso el caracter deberá estar entre comilla simple (‘X’), con los cuales se espera correspondencia del valor en cuestión (Valor ?). Acción1, Acción2, ... AcciónN; Instrucciones; Serán sustituidos por las instrucciones u operaciones o acciones a realizar en caso de que el selector (Valor ?), corresponda con ese caso en particular. Por Defecto; default: Indica que las instrucciones que se encuentran después de él, se ejecutaran cuando no exista correspondencia entre el selector de casos (Valor ?) y los casos contemplados por Valor1, Valor2, ..., ValorN. Estructuras repetitivas Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan Bucles y se denomina Iteración al hecho de repetir la ejecución de una secuencia de acciones. Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa). Entre las estructuras repetitivas se encuentran: Mientras – Hacer (while) Repetir - Hasta (repeat – until) Desde – Para (for) IMPORTANTE En toda estructura repetitiva se emplea por lo general una variable de control del ciclo, la cual permite definir el número de veces que dicho ciclo se repite. Esta variable por lo tanto, antes de iniciar la estructura repetitiva, esta debe ser inicializada con un valor en particular, y deberá modificar su valor internamente en el ciclo, para asegurar que en algún momento este se termine la ejecución del bucle. Y evitar con ello que el programa se repita indefinidamente. Estructura Mientras - Hacer (while) La estructura repetitiva Mientras, es aquélla en que el cuerpo del bucle se repite mientras se cumple una determinada condición. Por lo tanto puede ser que nunca llegue a ejecutarse. Su representación se muestra en la siguiente tabla: Diagrama de flujo Pseudocódigo Código C++ Mientras (Condición?) Hacer Acción_1 Acción_2 Acción_3 … Acción_n Fin-Mientras while (Condición?) { Instrucción1; Instrucción2; Instrucción3; [break;] … [continue;] Instrucción_n; }
  • 9. Conalep ++ Manejo de Técnicas de Programación Donde: Condición Será la una expresión lógica que se evalúa. Si esta es verdadera, entonces el ciclo se ejecuta y se termina en caso contrario. Acciones; Instrucción1, Instrucción2, … Instrucción_n Serán sustituidas por las instrucciones u operaciones a realizar. break; Los corchetes indican que esta instrucción puede ir o no, según la necesidad del algoritmo. Su uso es exclusivo en código C++, y su función es forzar la terminación del ciclo, aunque la condición siga siendo verdadera. continue; Los corchetes indican que esta instrucción puede ir o no, según la necesidad del algoritmo. Su uso es exclusivo en código C++, y su función regresar a la siguiente iteración omitiendo la ejecución del resto de las instrucciones del ciclo. ESTRUCTURA REPITE-HASTA (REPEAT – UNTIL, DO-WHILE) Esta estructura se ejecuta hasta que se cumpla una condición determinada que se comprueba hasta el final del bucle. Su característica principal es que se ejecuta al menos una vez. El bucle Repetir-Hasta_Que, se repite mientras el valor de la expresión booleana de la condición sea falsa, justo la opuesta de la estructura mientras. Diagrama de flujo Pseudocódigo Código C++ Repetir Acción_1 Acción_2 Acción_3 … Acción_n Hasta_Que (Condición) do { Instrucción_1; Instrucción_2; Instrucción_3; [break;] … [continue;] Instrucción_n; } while (Condición); Nota Importante: En el lenguaje de programación C++, no existe la estructura Repite-Hasta_Que. En su lugar se emplea la estructura do-while (Hacer-Mientras), que funciona de manera similar evaluando la condición al final. Pero la diferencia está en que, la estructura do-while se repite mientras la condición que se evalúa sea verdadera. A la inversa que en Repite-Hasta_Que. Por lo que se debe de tener cuidado a la hora de codificar en C++ con la escritura de la condición. Estructura desde-para (para-hasta, for) En muchas ocasiones se conoce de antemano el número de veces que se desean ejecutar las acciones de un bucle. En estos casos en el que el número de iteraciones es fija, se debe usar la estructura desde o para. La estructura Desde ejecuta las acciones del cuerpo del bucle un número específico de veces y de modo automático controla el número de iteraciones o pasos a través del cuerpo del bucle. A la derecha se muestra el diagrama de flujo compacto para representar esta estructura. Acciones Vi  Valor Inicial Condición Incremento o Decremento de Vi Falso Verdadero
  • 10. Conalep ++ Manejo de Técnicas de Programación Donde: • Vi Es la variable índice de control del ciclo, mediante la cual se determina el número de repeticiones. • Valor inicial Se utilizará para fijar el valor inicial de la variable índice para control del ciclo. • Condición (Vi > Vf) En este apartado se especificará la condición de salida una expresión lógica que por lo general involucra a la variable índice de control (Vi) y a un valor final (Vf) al cual tiene que llegar esta, o bien una expresión que arroje dicho valor. • Incremento/Decremento de Vi: Se utilizará para especificar el incremento o decremento que aplicara a la variable de control del bucle (Vi) utilizada para control de las repeticiones. Generalmente se da en uno, aunque en C++ es libre. Diagrama de Flujo de la estructura Desde/Para Pseudocódigo de la estructura Desde/Para Diagrama N-S Desde V  Valor_Inicial Hasta Valor_Final Hacer Acción_1 Acción_2 Acción_3 … Acción_n Fin-Desde Código C++ de la estructura Desde/Para for (Vi = Valor_Inicial ; Condición; Incremento/Decremento de Vi) { Instrucción_1; Instrucción_2; [break;] … [continue;] Instrucción_n; }