5
Lo más leído
6
Lo más leído
7
Lo más leído
Diagramas Nassi-Schneiderman
Los diagramas Nassi-Schneiderman son una técnica para la especificación de
algoritmos que combina la descripción textual del pseudocódigo con la
representación gráfica del diagrama de flujo.

Todo algoritmo se representa de la siguiente forma:




Existe una representación para cada una de las 3 instrucciones permitidas en
la programación estructurada.

•   Secuenciales. Recordemos que aquí tenemos: declaración de variables
    (tipo:    nombre_variable), asignación (nombre_variable           =
    valor), lectura (Leer <lista de variables>) y escritura de datos
    (Escribir <lista de constantes y variables>).




•   Alternativas.
        o Alternativa simple.




                                                                          1
o Alternativa doble




       o Alternativa múltiple




•   Iterativas.
        o Ciclo Mientras




       o Ciclo Repetir




                                2
o Ciclo Desde / Para




•   Alternativas anidadas. Consta de una serie de estructuras si, unas interiores
    a otras; a su vez, dentro de cada estructura pueden existir diferentes
    acciones. Se utiliza para diseñar estructuras que contengan más de dos
    alternativas.




•   Iterativas anidadas. Consta en anidar un ciclo dentro de otro. En este caso
    la estructura interna debe estar incluida totalmente dentro de la externa y no
    puede existir solapamiento.




                                                                                3
Ejemplos:

Elabora una solución, la más conveniente, para calcular el valor de la suma 1 +
2 + 3 + … + 100, utilizando la estructura mientras (algoritmo visto en clase).

algoritmo suma_1_a_100
var
     entero: contador, SUMA
inicio
     contador ← 1
     SUMA ← 0
     mientras contador <= 100 hacer
          SUMA ← SUMA + contador
          contador ← contador + 1
     fin_mientras
     escribir (‘La suma es:’, SUMA)
fin
algoritmo suma_1_a_100
var
     entero: contador, SUMA
begin
     contador ← 1
     SUMA ← 0
     while contador <= 100 do
          SUMA ← SUMA + contador
          contador ← contador + 1
     endwhile
     write (‘La suma es:’, SUMA)
end




                                                                             4
Elabora una solución, la más conveniente, para calcular la suma de todos los
números pares entre 2 y 1000, utilizando la estructura desde.

algoritmo pares_2_a_1000
var
     entero: i, SUMA
inicio
     SUMA ← 0
     desde i ← 2 hasta 1000 incremento 2 hacer
          SUMA ← SUMA + i
     fin_desde
     escribir (‘La suma es:’, SUMA)
fin
algoritmo pares_2_a_1000
var
     entero: i, SUMA
begin
     SUMA ← 0
     for i ← 2 to 1000 increase 2 do
          SUMA ← SUMA + i
     endfor
     write (‘La suma es:’, SUMA)
end




Elabora una solución, la más conveniente, para calcular la suma de los
números impares hasta N (inclusive), utilizando la estructura repetir.

algoritmo impares_1_a_N
var

                                                                          5
entero: N, contador, SUMA
inicio
     SUMA ← 0
     contador ← 1
     Leer (N)
     repetir
          SUMA ← SUMA + contador
          contador ← contador + 2
     hasta_que contador > N
     escribir (‘La suma es:’, SUMA)
fin
algoritmo impares_1_a_N
var
     entero: N, contador, SUMA
begin
     SUMA ← 0
     contador ← 1
     read (N)
     repeat
          SUMA ← SUMA + contador
          contador ← contador + 2
     until contador > N
     write (‘La suma es:’, SUMA)
end




                                      6
Elabora una solución, la más conveniente, para calcular el factorial de un
número N (N! = N * (N – 1) * (N – 2) * … * 3 * 2 * 1).

algoritmo factorial
var
     entero: i, N, FACTORIAL
inicio
     leer (N)
     si N < 0 entonces
          escribir (‘El número dado debe ser positivo.’)
     si_no
          FACTORIAL ← 1
          Si N > 1 entonces
               desde i ← 2 hasta N incremento 1 hacer
                    FACTORIAL ← FACTORIAL * i
               fin_desde
          fin_si
          escribir (‘El factorial de’, N, ‘es:’, FACTORIAL)
     fin_si
fin
algoritmo factorial
var
     entero: i, N, FACTORIAL
begin
     read (N)
     if N < 0 then
          escribir (‘El número dado debe ser positivo.’)
     else
          FACTORIAL ← 1
          if N > 1 then
               for i ← 2 to N increase 1 do
                    FACTORIAL ← FACTORIAL * i
               endfor
          endif
          escribir (‘El factorial de’, N, ‘es:’, FACTORIAL)
     endif
end




                                                                        7
Elabora una solución, la más conveniente, para leer tres números A, B, C e
indicar cual es el valor más grande. Suponga que los tres valores son
diferentes.

algoritmo mayor_de_3
var
     real: A, B, C, MAYOR
inicio
     leer (A, B, C)
     si A > B entonces
          si A > C entonces
               MAYOR ← A
          si_no
               MAYOR ← C
          fin_si
     si_no
          si B > C entonces
               Mayor ← B
          si_no
               MAYOR ← C
          fin_si
     fin_si

                                                                        8
escribir (‘El número mayor es:’, MAYOR);
fin
-----------------------------------------------------------
algoritmo mayor_de_3
var
     real: A, B, C, MAYOR
begin
     read (A, B, C)
     if A > B then
          if A > C then
               MAYOR ← A
          else
               MAYOR ← C
          endif
     else
          if B > C then
               Mayor ← B
          else
               MAYOR ← C
          endif
     endif
     write (‘El número mayor es:’, MAYOR);
end

Elabora una solución, la más conveniente, para determinar simultáneamente
los valores máximo y mínimo de una lista de 100 números.

algoritmo max_y_min
var
     entero: i
     real: MAXIMO, MINIMO, NUMERO
inicio
     leer (NUMERO)
     MAXIMO ← NUMERO
     MINIMO ← NUMERO
     desde i ← 2 hasta 100 incremento 1 hacer
          leer (NUMERO)
          si NUMERO > MAXIMO entonces
               MAXIMO ← NUMERO
          si_no
               si NUMERO < MINIMO entonces
                    MINIMO ← NUMERO
               fin_si
          fin_si
     fin_desde
     escribir (‘Máximo=’, MAXIMO, ‘Mínimo=’, MINIMO)
fin


algoritmo max_y_min
var

                                                                       9
entero: i
     real: MAXIMO, MINIMO, NUMERO
begin
     read (NUMERO)
     MAXIMO ← NUMERO
     MINIMO ← NUMERO
     for i ← 2 to 100 increase 1 do
          read (NUMERO)
          if NUMERO > MAXIMO then
               MAXIMO ← NUMERO
          else
               if NUMERO < MINIMO else
                    MINIMO ← NUMERO
               endif
          endif
     endfor
     write (‘Máximo=’, MAXIMO, ‘Mínimo=’, MINIMO)
fin




                                                    10

Más contenido relacionado

PDF
Persistencia en Java - Serialización
PDF
phpMyAdmin con Xampp
PPTX
Impacto economico o ambiental (quimica)
PDF
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
PPTX
Máquinas de Turing
PPTX
Estructura General de un Programa
PPTX
Programación estructurada, modular y orientada a objeto
PPTX
Arreglos Java
Persistencia en Java - Serialización
phpMyAdmin con Xampp
Impacto economico o ambiental (quimica)
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
Máquinas de Turing
Estructura General de un Programa
Programación estructurada, modular y orientada a objeto
Arreglos Java

La actualidad más candente (20)

DOCX
Ejercicios propuesto 3
PDF
5. Ejercicios normalización
PPTX
Ejercicios Modelo Entidad Relación
PPTX
Programación Orientada a Objetos - Otras relaciones entre clases
PDF
Ejercicios de axiomas
PDF
PDF
Algoritmos
PDF
PDF
Sistema binario
PPTX
Ejercicios del 1 al 9
PPTX
Elementos basicos de un programa
PPT
Estructuras en c++
PPTX
Pilas estáticas. IESIT
PPTX
1.4.3 Notación infija, prefija y postfija.pptx
PPTX
Algoritmo
PDF
Diagramas de flujo
DOCX
Ejercicios normalizacion
PPTX
Topología estrella y estrella extendida
PPTX
Lenguajes de programacion tema 2_compiladores e interpretes
PPTX
S8-EDD-4.2 Aplicaciones de árboles en informática
Ejercicios propuesto 3
5. Ejercicios normalización
Ejercicios Modelo Entidad Relación
Programación Orientada a Objetos - Otras relaciones entre clases
Ejercicios de axiomas
Algoritmos
Sistema binario
Ejercicios del 1 al 9
Elementos basicos de un programa
Estructuras en c++
Pilas estáticas. IESIT
1.4.3 Notación infija, prefija y postfija.pptx
Algoritmo
Diagramas de flujo
Ejercicios normalizacion
Topología estrella y estrella extendida
Lenguajes de programacion tema 2_compiladores e interpretes
S8-EDD-4.2 Aplicaciones de árboles en informática
Publicidad

Destacado (20)

PPT
Diagrama nassi sherman
PPT
Nassi shneiderman diagrams
PPTX
Diagramas de Nassi-Shneiderman
PPT
Psd - Programma Structuur Diagram
PPTX
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
DOC
52 ejercicios-resueltos-en-pseudocodigo
PPT
Curso de Algoritmos - Presentación 1
PDF
Diagrama de Flujos Ejemplos.
DOCX
Reglas Para Diagramas
PDF
Algoritmos y diagramas de flujo
PPT
Diagrama nassi sherman
PPT
Cfakepathcase001easycase 100226175922-phpapp02
PPT
Algoritmica básica
PDF
herramientas case
PPT
Clase 7 Decisiones Compuestas Y Multiples
PPT
Documentation for developers
PDF
Metodologías para el desarrollo de sioo
PPTX
Unmsm01 2008
Diagrama nassi sherman
Nassi shneiderman diagrams
Diagramas de Nassi-Shneiderman
Psd - Programma Structuur Diagram
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
52 ejercicios-resueltos-en-pseudocodigo
Curso de Algoritmos - Presentación 1
Diagrama de Flujos Ejemplos.
Reglas Para Diagramas
Algoritmos y diagramas de flujo
Diagrama nassi sherman
Cfakepathcase001easycase 100226175922-phpapp02
Algoritmica básica
herramientas case
Clase 7 Decisiones Compuestas Y Multiples
Documentation for developers
Metodologías para el desarrollo de sioo
Unmsm01 2008
Publicidad

Similar a 01 diagramas nassi-schneiderman (20)

PDF
Ejercicio de estructuras_condicionales
PDF
Algunos algoritmos1
PPTX
Exposicion
PPTX
Exposicion
PPT
Sentencias de Repeticion
PPTX
Trabajo de algoritmo
PDF
Guia de trabajo
PPTX
Preudocodigos & algoritmos (ciclos sino)
PDF
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
DOCX
15diagramas de flujo
PDF
DOC-20230722-WA0059.pdf
PDF
Algoritmica i clase03 practica 3 solucionario
PPT
Algoritmo
PPT
Algoritmo
PPT
Algoritmo
PPT
Algoritmo
PPT
Algoritmo
DOCX
Algoejemplos
DOCX
Ejemplos de pseudocodigos
PDF
TALLER NUMEROS ENTEROS GRADO OCTAVO .pdf
Ejercicio de estructuras_condicionales
Algunos algoritmos1
Exposicion
Exposicion
Sentencias de Repeticion
Trabajo de algoritmo
Guia de trabajo
Preudocodigos & algoritmos (ciclos sino)
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
15diagramas de flujo
DOC-20230722-WA0059.pdf
Algoritmica i clase03 practica 3 solucionario
Algoritmo
Algoritmo
Algoritmo
Algoritmo
Algoritmo
Algoejemplos
Ejemplos de pseudocodigos
TALLER NUMEROS ENTEROS GRADO OCTAVO .pdf

Más de Asociación de Ingenieros y Arquitectos de Panamá (17)

PDF
14 examen parcial n°2 - informática ii -jueves 14 de oct 2010
PDF
02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel
PDF
02 examen parcial n°1-informática ii-vacio
PDF
02 quiz n°1-estados financieros
PDF
02 laboratorio n°1 • estados financieros
PDF
02 hoja electrónica de cálculo-ms-excel
PDF
01 laboratorio n°2 • algoritmos - soluciones
PDF
01 laboratorio n°1 • algoritmos
PDF
01 creación de wikis en wikispaces
PDF
PDF
01 texto - módulo n° 1 • algoritmos
PDF
01 presentación - módulo n°1 • algoritmos
14 examen parcial n°2 - informática ii -jueves 14 de oct 2010
02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel
02 examen parcial n°1-informática ii-vacio
02 quiz n°1-estados financieros
02 laboratorio n°1 • estados financieros
02 hoja electrónica de cálculo-ms-excel
01 laboratorio n°2 • algoritmos - soluciones
01 laboratorio n°1 • algoritmos
01 creación de wikis en wikispaces
01 texto - módulo n° 1 • algoritmos
01 presentación - módulo n°1 • algoritmos

01 diagramas nassi-schneiderman

  • 1. Diagramas Nassi-Schneiderman Los diagramas Nassi-Schneiderman son una técnica para la especificación de algoritmos que combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo. Todo algoritmo se representa de la siguiente forma: Existe una representación para cada una de las 3 instrucciones permitidas en la programación estructurada. • Secuenciales. Recordemos que aquí tenemos: declaración de variables (tipo: nombre_variable), asignación (nombre_variable = valor), lectura (Leer <lista de variables>) y escritura de datos (Escribir <lista de constantes y variables>). • Alternativas. o Alternativa simple. 1
  • 2. o Alternativa doble o Alternativa múltiple • Iterativas. o Ciclo Mientras o Ciclo Repetir 2
  • 3. o Ciclo Desde / Para • Alternativas anidadas. Consta de una serie de estructuras si, unas interiores a otras; a su vez, dentro de cada estructura pueden existir diferentes acciones. Se utiliza para diseñar estructuras que contengan más de dos alternativas. • Iterativas anidadas. Consta en anidar un ciclo dentro de otro. En este caso la estructura interna debe estar incluida totalmente dentro de la externa y no puede existir solapamiento. 3
  • 4. Ejemplos: Elabora una solución, la más conveniente, para calcular el valor de la suma 1 + 2 + 3 + … + 100, utilizando la estructura mientras (algoritmo visto en clase). algoritmo suma_1_a_100 var entero: contador, SUMA inicio contador ← 1 SUMA ← 0 mientras contador <= 100 hacer SUMA ← SUMA + contador contador ← contador + 1 fin_mientras escribir (‘La suma es:’, SUMA) fin algoritmo suma_1_a_100 var entero: contador, SUMA begin contador ← 1 SUMA ← 0 while contador <= 100 do SUMA ← SUMA + contador contador ← contador + 1 endwhile write (‘La suma es:’, SUMA) end 4
  • 5. Elabora una solución, la más conveniente, para calcular la suma de todos los números pares entre 2 y 1000, utilizando la estructura desde. algoritmo pares_2_a_1000 var entero: i, SUMA inicio SUMA ← 0 desde i ← 2 hasta 1000 incremento 2 hacer SUMA ← SUMA + i fin_desde escribir (‘La suma es:’, SUMA) fin algoritmo pares_2_a_1000 var entero: i, SUMA begin SUMA ← 0 for i ← 2 to 1000 increase 2 do SUMA ← SUMA + i endfor write (‘La suma es:’, SUMA) end Elabora una solución, la más conveniente, para calcular la suma de los números impares hasta N (inclusive), utilizando la estructura repetir. algoritmo impares_1_a_N var 5
  • 6. entero: N, contador, SUMA inicio SUMA ← 0 contador ← 1 Leer (N) repetir SUMA ← SUMA + contador contador ← contador + 2 hasta_que contador > N escribir (‘La suma es:’, SUMA) fin algoritmo impares_1_a_N var entero: N, contador, SUMA begin SUMA ← 0 contador ← 1 read (N) repeat SUMA ← SUMA + contador contador ← contador + 2 until contador > N write (‘La suma es:’, SUMA) end 6
  • 7. Elabora una solución, la más conveniente, para calcular el factorial de un número N (N! = N * (N – 1) * (N – 2) * … * 3 * 2 * 1). algoritmo factorial var entero: i, N, FACTORIAL inicio leer (N) si N < 0 entonces escribir (‘El número dado debe ser positivo.’) si_no FACTORIAL ← 1 Si N > 1 entonces desde i ← 2 hasta N incremento 1 hacer FACTORIAL ← FACTORIAL * i fin_desde fin_si escribir (‘El factorial de’, N, ‘es:’, FACTORIAL) fin_si fin algoritmo factorial var entero: i, N, FACTORIAL begin read (N) if N < 0 then escribir (‘El número dado debe ser positivo.’) else FACTORIAL ← 1 if N > 1 then for i ← 2 to N increase 1 do FACTORIAL ← FACTORIAL * i endfor endif escribir (‘El factorial de’, N, ‘es:’, FACTORIAL) endif end 7
  • 8. Elabora una solución, la más conveniente, para leer tres números A, B, C e indicar cual es el valor más grande. Suponga que los tres valores son diferentes. algoritmo mayor_de_3 var real: A, B, C, MAYOR inicio leer (A, B, C) si A > B entonces si A > C entonces MAYOR ← A si_no MAYOR ← C fin_si si_no si B > C entonces Mayor ← B si_no MAYOR ← C fin_si fin_si 8
  • 9. escribir (‘El número mayor es:’, MAYOR); fin ----------------------------------------------------------- algoritmo mayor_de_3 var real: A, B, C, MAYOR begin read (A, B, C) if A > B then if A > C then MAYOR ← A else MAYOR ← C endif else if B > C then Mayor ← B else MAYOR ← C endif endif write (‘El número mayor es:’, MAYOR); end Elabora una solución, la más conveniente, para determinar simultáneamente los valores máximo y mínimo de una lista de 100 números. algoritmo max_y_min var entero: i real: MAXIMO, MINIMO, NUMERO inicio leer (NUMERO) MAXIMO ← NUMERO MINIMO ← NUMERO desde i ← 2 hasta 100 incremento 1 hacer leer (NUMERO) si NUMERO > MAXIMO entonces MAXIMO ← NUMERO si_no si NUMERO < MINIMO entonces MINIMO ← NUMERO fin_si fin_si fin_desde escribir (‘Máximo=’, MAXIMO, ‘Mínimo=’, MINIMO) fin algoritmo max_y_min var 9
  • 10. entero: i real: MAXIMO, MINIMO, NUMERO begin read (NUMERO) MAXIMO ← NUMERO MINIMO ← NUMERO for i ← 2 to 100 increase 1 do read (NUMERO) if NUMERO > MAXIMO then MAXIMO ← NUMERO else if NUMERO < MINIMO else MINIMO ← NUMERO endif endif endfor write (‘Máximo=’, MAXIMO, ‘Mínimo=’, MINIMO) fin 10