Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

Post on 06-Jul-2015

23.596 views 2 download

Transcript of Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

ALGORITMOS Y LENGUAJES ALGORITMOS Y LENGUAJES DE DE

PROGRAMACIONPROGRAMACION

CAPITULO IICAPITULO IID I S E Ñ O D E A L G O R I T M O S

ESTRUCTURAS SECUENCIALESESTRUCTURAS NO SECUENCIALES

Sentencias selectivas

OBJETIVOOBJETIVO

El objetivo principal de este Capítulo es capacitar al estudiante en los conceptos básicos de algoritmos, que le permitan obtener la destreza necesaria para diseñar sus propios algoritmos.

DISEÑO DE ALGORITMOS

DISEÑO DE AGORITMOSDISEÑO DE AGORITMOS

• CONCEPTOS BASICOS

• DESCRIPCION DE ALGORITMOS • CONSTRUCCION DE

ALGORITMOS

CONCEPTOS BASICOS DE ALGORITMOCONCEPTOS BASICOS DE ALGORITMO

Un algoritmo es todo proceso, rutina ó método para resolver unproblema; mediante una secuencia finita de acciones , cada cualcon un significado concreto y cuya ejecución genera un tiempofinito.

La ventaja del algoritmo es que el programador se puede concentraren la lógica del problema y en las estructuras de control delmismo. Dejando de lado las reglas de sintaxis del lenguaje deprogramación.

Algoritmo, es sinónimo de procedimiento computacional y esfundamental para la ciencia de la computación.

CONCEPTOS BASICOS DE ALGORITMOCONCEPTOS BASICOS DE ALGORITMO

PROPIEDADES:

• FinitoLa ejecución de un algoritmo acaba en un tiempo finito; un procedimiento que falla en la propiedad de la finitud es simplemente un procedimiento de cálculo.

• PrecisoCada instrucción de un algoritmo debe ser precisa; debe tener en cuenta un rigor y no la ambigüedad. Cada frase tiene un significado concreto.

CONCEPTOS BASICOS DE ALGORITMOCONCEPTOS BASICOS DE ALGORITMO

PROPIEDADES:

• Posee entradasLa entrada se toma como un conjunto especifico de valores que inicializan el algoritmo.

• Posee salidasTodo algoritmo posee una ó más salidas; la salida es la transformación de la entrada.

• EfectivoUn algoritmo es efectivo cuando las operaciones se efectúan de un modo exacto y en un tiempo finito aun usando métodos manuales.

CONCEPTOS BASICOS DE ALGORITMOCONCEPTOS BASICOS DE ALGORITMO

La solución de un problema exige el diseño de un algoritmo que resuelva el problema propuesto.

SOLUCION DE UN PROBLEMA

PROBLEMAPROGRAMA

DECOMPUTADORA

CONSTRUCCIONDEL

ALGORITMO

DESCRIPCIÓN DE ALGORITMOSDESCRIPCIÓN DE ALGORITMOS

Para describir un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación.

• Diagramas de flujoDiagramas de flujo

• PseudoCódicoPseudoCódico

DESCRIPCIÓN DE ALGORITMOSDESCRIPCIÓN DE ALGORITMOS

Diagramas de flujoDiagramas de flujo

Es una representación detallada en forma gráfica (mediante símbolos) de los pasos que se realizan para la solución de un problema unidos por flechas, denominadas líneas de flujo, que indican la secuencia de ejecución.

SIMBOLOS DE LOS DIAGRAMAS DE FLUJOSIMBOLOS DE LOS DIAGRAMAS DE FLUJO

INICIO - FININICIO - FIN

Este símbolo indica el comienzo y el final de un ALGORITMO

ENTRADA-SALIDAENTRADA-SALIDA

Este símbolo indica operaciones que tienen relación con los

dispositivos de entrada/salida.

PROCESOPROCESO

Este símbolo se utiliza para indicar operaciones aritméticas.

DECISIONDECISION

Este símbolo se utiliza para indicar en su interior comparaciones

de valores tales como: a = b

j < i

Estas comparaciones admiten dos salidas: verdad ó falso

SIMBOLOS DE LOS DIAGRAMAS DE FLUJOSIMBOLOS DE LOS DIAGRAMAS DE FLUJO

Líneas de flujoLíneas de flujo

Este símbolo indica la dirección del flujo que el programa debe seguir. La secuencia normal de lectura de un diagrama de flujo es de arriba hacia abajo y de izquierda a derecha.

Conector dentro de páginaConector dentro de página

Este símbolo indica la continuación de la

dirección del flujo dentro de la misma

página.

SIMBOLOS DE LOS DIAGRAMAS DE FLUJOSIMBOLOS DE LOS DIAGRAMAS DE FLUJO

Conector fuera de páginaConector fuera de páginaEste símbolo indica la continuación de la dirección

del flujo de una página a otra. Tiene la misma

misión que el anterior, pero este conector se utiliza

cuando las partes a enlazar se encuentran en

distinta página.

Ciclo repetitivoCiclo repetitivo Este símbolo se utiliza para indicar procesos repetitivos

PSEUDOCÓDIGOPSEUDOCÓDIGO

Es la descripción de un algoritmo mediante una secuencia lógica de acciones, que en su conjunto forman la solución del problema, utilizando generalmente palabras reservadas para representar las acciones.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Para desarrollar los PseudoCódigos se utilizará

el Entorno de Desarrollo Integrado PseInt, que es un lenguaje de programación imperativa simple y escrito en castellano.

Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente los programas en PseudoCódigo.

PSEUDOCÓDIGOPSEUDOCÓDIGO

La sencillez del lenguaje PseudoCódigo lo hacen ideal para la enseñanza de la programación.

Permitiendo el uso de valores numéricos, números decimales, lógicos, caracteres y arreglos.

Provee también funciones de entrada/salida y Funciones matemáticas.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Estructura de un Programa

Proceso <nombre>

<secuencia de instrucciones>

FinProceso

Donde una secuencia de instrucciones es una lista de una o más instrucciones, cada una terminada en punto y coma. <instrucción>; <instrucción>; .. . <instrucción>;

Las palabras y símbolos que pertenecen al pseudocódigo se escriben tal como deben ir, por ejemplo: Proceso; a diferencia de los nombres de variables y otros símbolos y expresiones que pueden variar.

PSEUDOCÓDIGOPSEUDOCÓDIGO

PSEUDOCÓDIGOPSEUDOCÓDIGO

Se pueden introducir comentarios luego de una instrucción, o en líneas separadas, mediante el uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la línea, no será tomado en cuenta al interpretar el algoritmo.

PSEUDOCÓDIGOPSEUDOCÓDIGO

IDENTIFICADORES

Los Identificadores son palabras definidas por el programador para identificar variables.

Identificador, o nombre de variable, debe constar sólo de letras y números, comenzando siempre por una letra.

PSEUDOCÓDIGOPSEUDOCÓDIGO

TIPO DE DATOS

a) Tipos Simples:

Numérica, números enteros y decimales, se usa el punto para separar los

decimales.Carácter caracteres o cadena de caracteres

se escribe entre comillas (“ “) ó (‘ ‘)Lógicas toma dos valores: Verdadero ó Falso

b) Estructura de Datos: Arreglos

PSEUDOCÓDIGOPSEUDOCÓDIGO

PALABRAS RESERVADAS

Las palabras reservadas no llevan acento.

Leer , Escribir , Dimension

Si-Entonces-Sino, Segun

Mientras Hacer, Repetir Hasta Que, Para

ESTRUCTURAS SECUENCIALES

Las estructuras secuenciales están formadas por las siguientes instrucciones:

Leer Entrada de datos Escribir Salida de Resultados Asignación Almacena un valor en una variable

PSEUDOCÓDIGOPSEUDOCÓDIGO

ESTRUCTURA SECUENCIAL

La entrada de datosDefinida por la Instrucción Leer que permite el ingreso de datos al algoritmo desde el teclado.

Leer <variable1>,<variable2>,…., <variableN>;

Leer Numero; Leer n1, n2, n3;

PSEUDOCÓDIGOPSEUDOCÓDIGO

ESTRUCTURAS SECUENCIALES

La salida de ResultadosDefinida por la Instrucción Escribir y permite mostrar resultados en la pantalla.

Escribir <expr1> , <expr2> , ... , <exprN> ;

Escribir "Ingrese el nombre:";Escribir "Resultado:" , x*2 ;

PSEUDOCÓDIGOPSEUDOCÓDIGO

ESTRUCTURA SECUENCIAL

AsignaciónLa Instrucción de Asignación permite almacenar

un valor en una variable.

<variable> <expresión> ;

PSEUDOCÓDIGOPSEUDOCÓDIGO

Para ejecutarse la asignación, primero se evalúa la expresión de la derecha y luego se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la expresión deben coincidir.

n 1; / / asigna el número 1 a n

suma suma + 1 ; / / incrementa el valor de

suma en 1

PSEUDOCÓDIGOPSEUDOCÓDIGO

PSEUDOCÓDIGOPSEUDOCÓDIGO

Sentencia de AsignaciónEjemplo de sentencia de asignación:

a 5

suma ( 2 + 3 ) * X + T + Z

La jerarquía de los operadores matemáticos es igual a la del algebra, aunque puede alterarse con el uso de paréntesis.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Como ejemplos de sentencias de asignación podemosmencionar:

Velocidad (distancia/(minuto*60+segundo+c/100))

Numero u + 100 + d+10 + c

AT (s+(s-1) + (s-2) + (s-3))^2

Sentencia de Asignación

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones

Las expresiones son combinaciones (asociaciones) de datos con operadores.

a 3

b 5 a + b – 7

Cada expresión toma un valor que se determina al evaluar la expresión, el valor puede ser de tipo:

numérico, lógico y carácter.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones De acuerdo a los tipos de datos que se manipulan en las expresiones pueden ser:

Expresiones aritméticas (devuelve un número)

Expresiones lógicas (devuelve un valor lógico)

Expresiones de carácter (devuelve un carácter).

suma a + b – 3 (expresión aritmética)

PSEUDOCÓDIGOPSEUDOCÓDIGO

Tipos de Operadores Un operador indica el tipo de operación a realizar

sobre los datos.

Los operadores se clasifican en:

Operadores Aritméticos Operadores relacionalesOperadores lógicos.

En las expresiones aritméticas se utilizan los siguientes operadores aritméticos:

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Aritméticas

Operador Acción Ejemplo Resultado

- Resta 5 – 2 3

+ Suma 2 + 3 5

* Multiplicación 4 * 5 20

/ División 9 / 3 3

^ Potencia 5 ^ 2 25

Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética (suma, resta, multiplicación y división)

- 3 * 6/3 resultado - 6

- 3 * (6/2) resultado - 9

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Aritméticas

Las expresiones lógicas son asociaciones de datos con operadores relacionales y de su evaluación siempre se obtiene un valor de tipo lógico (verdadero o falso).

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas

> Mayor que 5 > 3

>= Mayor o igual que a >= b < Menor que 2 < 4 <= Menor o igual que a <= b = Igual que m = n <> Distinto que 3 <>2

Operador Relacional Acción Ejemplo

El operador conjunción (y) y el operador disyunción (o) siempre actúan sobre dos operandos, mientras que, el operador negación (no) sólo actúa sobre un operando.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas

Operadores Lógicos Acción Ejemplo

& Conjunción ( y ) (5>3) & (5=1) // falso | Disyunción ( 0 ) (7=7) | (4>9) // verdadero. NO Negación (no) NO (4=4) // falso

Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas

Operadores Lógicos Acción Ejemplo

Y Conjunción (5>2) Y (4>1) O Disyunción (2=2) O (a=b)

NO Negación No (9>3)

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas Tabla de verdad del operador Y:

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones LógicasTabla de verdad del operador O:

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas Tabla de verdad del operador negación (no):

Evaluar : no ( 9 > 5 ) se obtiene como resultado falso

PSEUDOCÓDIGOPSEUDOCÓDIGO

Prioridad de los operadores Prioridad de los Operador, aritméticos, relacionales y lógicos

( ) Paréntesis.

^ Potencia

* , / , NO Multiplicación, división y negación.

+ , - , Y Signo más, signo menos y conjunción

>, <, >=, <=, <>, = , O Mayor que, menor que, mayor igual que, menor igual que, igual que, distinto que y

disyunción

Funciones Matemáticas

FUNCIÓN SIGNIFICADO RC(X) Raíz Cuadrada de X

ABS(X) Valor Absoluto de X

LN(X) Logaritmo Natural de X

EXP(X) Función Exponencial de X

SEN(X) Seno de X

COS(X) Coseno de X

ATAN(X) Arcotangente de X

TRUNC(X) Parte entera de X

REDON(X) Entero más cercano a X

La función raíz cuadrada no debe recibir un argumento negativo. La función exponencial no debe recibir un

argumento menor o igual a cero.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema1Leer a , b;Escribir "a = ", a;Escribir "b = ", b;suma <- a + b;resta <- a -b;multiplica <- a*b;dividir <- a/b;Escribir "suma = " , suma; Escribir "resta = " , resta;Escribir "multiplica = ", multiplica;Escribir "dividir = ", dividir;

FinProceso

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N° 2Leer el radio de un circulo y calcular e imprimir su superficie y lalongitud de la circunferencia.

Proceso Problema2pi<-3.1416;

Leer radio;Superficie <- pi * radio^2 ;Circunferencia <- 2 * pi * radio;Escribir "Radio", radio;Escribir "Superficie", superficie;Escribir "Circunferencia", circunferencia;

FinProceso

PSEUDOCÓDIGOPSEUDOCÓDIGO

PROBLEMA N°3 2 Calcular las raíces reales de una ecuación cuadrática ax + bx + c = 0

Proceso problema3Escribir "introdusca las variables a, b y c";Leer a, b, c;x1<-(-b+RC((b^2)-(4*a*c))/(2*a));x2<-(-b-RC((b^2)-(4*a*c))/(2*a));Escribir "las raices son: ", x1, x2;

FinProceso

ESTRUCTURAS NO SECUENCIALES

SENTENCIAS SELECTIVAS:

Selección Simple Si-Entonces Selección Doble Si-Entonces-Sino

Sentencia Múltiple Segun

SENTENCIAS REPETITIVAS:

Mientras Hacer Repetir _ Hasta_Que

Para

PSEUDOCÓDIGOPSEUDOCÓDIGO

Se utiliza cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para seleccionar una alternativo a seguir.

La toma de decisión se basa en la evaluación de una o más condiciones que nos permitan seleccionar una alternativa de solución al problema planteado.

PSEUDOCÓDIGOPSEUDOCÓDIGO

SENTENCIAS DE SELECCION

PSEUDOCÓDIGOPSEUDOCÓDIGO

a) SELECCION SIMPLE :

Si <condición> Entonces

Sentencia ejecutada si la condición es verdad

finSi

Si ( nota > = 10 ) Entonces Escribir ( “ingreso”) fin Si

Si-Entonces Consiste en evaluar una condición; si el resultado de dicha evaluación es Verdad, se ejecuta la sentencia por verdad y termina la estructura.

INICIO CondiciónCondición

n

FIN

V

F

La sentencia condicional o selectiva evalúa una CONDICION (expresión lógica)

PSEUDOCÓDIGOPSEUDOCÓDIGO

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N° 4

Escribir un algoritmo que lea los datos: a , b y calcule e imprimir

la suma, la resta, la multiplicación y la división de

ellos.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema4Leer a, b;suma<- a+b;resta<- a-b;multiplica <- a*b;Si b>0 Entonces

division <- a/b;FinSiEscribir "suma = ", suma;Escribir "resta = ", resta;Escribir "multiplica = ", multiplica;Escribir "division = ", division;

FinProceso

La sentencia de selección doble nos permite tomar decisiones entre dos alternativas luego de evaluar una condición (expresión lógica).

Si <condición> Entonces <instrucciones> Sino <instrucciones>

Finsi

PSEUDOCÓDIGOPSEUDOCÓDIGO

b) SELECCION DOBLE :

Si-Entonces-Sino

PSEUDOCÓDIGOPSEUDOCÓDIGO

INICIO CondiciónCondición

Sentenciapor VerdadV

Sentencia por Falso

F

FIN

Si - Entonces - Sino

Si ( nota > = 10 ) Entonces

Escribir ( “ingreso”) Sino Escribir(“no-ingreso”) Finsi

b) SENTENCIA DE SELECCIÓN DOBLE :

La sentencia de selección doble evalúa una condición e implica la selección de una de dos alternativas.

PSEUDOCÓDIGOPSEUDOCÓDIGO

IS Sentencia 1Sentencia 2Sentencia 3

Sentencia 4Sentencia 5 Sino

CONDICIÓN ES

VERDAD

PSEUDOCÓDIGOPSEUDOCÓDIGO

PROBLEMA N° 5Escribir un algoritmo que lea tres números enteros positivos a, b y c e imprima el mayor de ellos.

INICIO

Mayor a Mayor b

a, b ,c

a, b, cMayor

FIN

a>bNO

SI

c > Mayor Mayor c si

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema5Leer a, b, c;Si a > b Entonces mayor <- a; Sino mayor <- b;FinSi

Si c > mayor Entonces mayor <- c;FinsiEscribir "a = ", a;Escribir "b = ", b;Escribir "c = ", c; Escribir "mayor = ", mayor;

FinProceso

Es posible utilizar la sentencia Si para diseñar estructuras de selección con más de dos alternativas.

Una estructura de selección de n alternativas puede ser construida utilizando una estructura Si .

Las estructuras Si interiores a otras estructuras Si se denominan anidadas o encajadas. Debe existir una correspondencia entre las palabras reservadas Si y Finsi.

PSEUDOCÓDIGOPSEUDOCÓDIGO

PSEUDOCÓDIGOPSEUDOCÓDIGO

SENTENCIA DE SELECCIÓN ANIDADASSENTENCIA DE SELECCIÓN ANIDADAS

Si Si (condición1) Entonces <instruccion1>

Sino

Si Si (condición2) Entonces <instrucción2>

Sino Si Si (condición3) Entonces

<instruccion3>

Finsi Finsi

Finsi

c) SENTENCIA DE SELECCIÓN MULTIPLE

La sentencia de selección múltiple, se usa para seleccionar una de varias alternativas.

PSEUDOCÓDIGOPSEUDOCÓDIGO

Sentencia 4

Sentencia 5

VALORDE

VARIABLE Según sea

Sentencia 1Sentencia 2Sentencia 3

INICIO SELECTORSELECTOR

sentencia 11

sentencia N

N

sentencia 2

C) SELECCION MULTIPLE

SENTENCIA Segun 2

ACCION Z

FIN

PSEUDOCÓDIGOPSEUDOCÓDIGO

La selección Múltiple se utiliza cuando existen más de dos alternativas para la selección de una alternativa.

El selector puede ser una variable simple o una expresión simple denominada expresión de control.

C) SELECCION MULTIPLE: SENTENCIA Segun

PSEUDOCÓDIGOPSEUDOCÓDIGO

Segun variable_numerica Haceropcion_1:

secuencia_de_acciones_1opcion_2:

secuencia_de_acciones_2opcion_3:

secuencia_de_acciones_3De Otro Modo:

secuencia_de_acciones_domFinSegun

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema6leer n1, n2;leer opcion; segun opcion Hacer

1: suma <- n1 + n2; Escribir "suma = ", suma;2: resta <- n1 - n2; Escribir "resta = ", resta;3: multiplica <- n1*n2; Escribir "multiplica = ", multiplica;4: divide <- n1/n2; Escribir "divide = ", divide;5: potencia <- n1^n2; Escribir "potencia = ", potencia;De Otro Modo:

Escribir "Numero no Definido" ;FinSegun

FinProceso

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA Nº 7

Diseñar un algoritmo que lea un entero positivo n y realice las siguientes cálculos:

Si N termina en 0 se cambia por el dobleSi N termina en 3 se cambia por la décima

parteDe otro modo matiene su valor inicial

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema7Leer n;

Segun n mod 10 Hacer0: n <- n*2; Escribir "Doble de N = ", n;3: n <- n/10;

Escribir "Decima parte de N = ", n;De Otro Modo:n <- n;

Escribir "Numero N = ", n ; FinSegun

FinProceso

ALGORITMOS Y LENGUAJES ALGORITMOS Y LENGUAJES DE DE

PROGRAMACIONPROGRAMACION

CAPITULO IICAPITULO II ESTRUCTURAS NO SECUENCIALES

Sentencias Repetitivas

Muchos problemas requieren una capacidad de repetición en la cual el mismo cálculo o secuencia de sentencias se repita, una y otra vez, usando diferentes conjuntos de datos.

SENTENCIAS REPETITIVAS

PSEUDOCÓDIGOPSEUDOCÓDIGO

Los casos de repetición incluyen la verificación continua de las entradas de datos del usuario hasta que se ingrese, una contraseña válida; contar y acumular totales; y la aceptación constante de datos de entrada y el recálculo de valores de salida que sólo se detiene al ingresar un valor centinela.

SENTENCIAS REPETITIVAS

PSEUDOCÓDIGOPSEUDOCÓDIGO

La secuencia de sentencias que se repiten en la solución de un problema se conoce como ciclo, porque después que se ejecuta la última sentencia del ciclo, se regresa, a la primera sentencia de la sección y comienza otra repetición a través de la sección repetitiva.

SENTENCIAS REPETITIVAS

PSEUDOCÓDIGOPSEUDOCÓDIGO

Para las estructuras repetitivas se utilizan dos tipos especiales de variables:

Contadores:

Son variables que incrementan o disminuyen su valor en una cantidad constante, la misma que debe inicializarse en un valor constante.

PSEUDOCÓDIGOPSEUDOCÓDIGO

contador 1; contador contador +1;

Acumuladores:

Son variables que se usan para incrementar o disminuyen su valor en una cantidad variable, deben ser inicializados su valor.

suma 0 ;suma suma + n ;

PSEUDOCÓDIGOPSEUDOCÓDIGO

En general, existen tres formas de representar las sentencias repetitivas:

• Mientras Hacer Mientras Hacer • Repetir Hasta Que Repetir Hasta Que • Para. Para.

SENTENCIAS REPETITIVAS

PSEUDOCÓDIGOPSEUDOCÓDIGO

Mientras (Condición) Hacer Sentencia (s)FinMientras

( condición )( condición )

PROCESO:secuencia de sentencias

FIN

V

F

PSEUDOCODIGO

CICLOS CONTROLADOSEN LA ENTRADA

a) SENTENCIA REPETIR : MIENTRAS HACER

CICLO

PSEUDOCODIGO

Una sentencia Mientras contiene una condición que controla

la ejecución de un proceso formado por una o más sentencias,

dicho proceso se ejecutará repetidamente si la

condición es verdad.

La condición contenida dentro del paréntesis es la condición evaluada para determinar si se ejecuta la sentencia que sigue a la condición evaluada.

a) SENTENCIA REPETIR : MIENTRAS HACER

PSEUDOCODIGO

a) SENTENCIA REPETIR : MIENTRAS HACER

i). La repetición condicional de cero ciclos

Si la primera evaluación de la condición es falsa, entonces la repetición

nunca se ejecutará.

ii) Repetición indefinida de la secuencia de sentencias.

La repetición indefinida que nunca se termina se denomina ciclo indefinido o sin fin,

para evitar dichos ciclos indefinidos se debe estipularse una SENTENCIA

que permita alterar el valor de la expresión probada en la sección repetitivo.

iii) Finalización de bucles con datos de entrada. El método más correcto para terminar un bucle que lee una lista de valores es un

centinela. Un valor centinela es un valor especial usado para indicar el final de una lista de datos.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N°8

Escribir un algoritmo que lea un número enterospositivos “n” y luego imprima su factorial.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema8Leer n;minumero <- n;fact <- 1;

MIENTRAS n > 0 Hacer fact <- fact * n;

n <- n - 1;FinMientras Escribir "El factorial de n es: " , fact;

FinProceso

Repetir Secuencia de sentencias HASTAQUE (condición) sea verdad

INICIO

( condición )( condición )

PROCESO:

secuencia

de

sentencias

V

F

FIN

PSEUDOCODIGO

CICLO CONTROLADO A LA SALIDA

b) SENTENCIA REPETIR : HASTA QUE

La sentencia HASTA QUEEjecuta una secuencia de instrucciones hasta que la condición sea verdad.

CICLO

PSEUDOCODIGO

La condición es una expresión, el valor que representa sólo puede ser verdadero o falso.

Se repite una secuencia de sentencias HASTA QUE la condición tome un valor de verdad.

El ciclo se ejecuta por lo menos una vez porque la condición se evalúa después de la ejecución de cada iteración.

b) SENTENCIA REPETIR HASTA QUE

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N°9 Diseñar un algoritmo que permita calcular la suma acumulada de la serie :

1+2+3+4+….+n El usuario ingresa el numero

de términos a sumar.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema9

Leer n;cont <- 1;suma <- 0;

Repetir suma <- suma + cont; cont <- cont + 1;

Hasta Que ( n < cont )Escribir " La suma es:" , suma ;

FinProceso

INICIO

PROCESO

F

V

FIN

Para Vc=Vi hasta Vf Inc

PSEUDOCODIGO

c) SENTENCIA REPETITIVA: PARA

ciclo

La sentencia PARA se utiliza para implementar un ciclo que se repite un número definido de veces.

Donde:

Vc: variable de control Vi: valor inicialVf: valor finalInc: incremento

Para Vc = Vi hasta Vf (con Inc) Hacer

sentencia1 sentencia2 sentencia3

FinPara

PSEUDOCODIGO

c) SENTENCIA REPETITIVA : PARA

c

I

c

l

o

F

PSEUDOCODIGO

c) SENTENCIA REPETIR - PARA

La sentencia Para tiene los siguientes elementos:

Vc: es la variable de control de la estructura repetitiva y actúa como un contador.

Vi: es el valor inicial que inicializa la variable de control (número de repeticiones) de la estructura repetitiva.

Inc: es el elemento de incremento que aumenta o disminuye la variable de control (contador) cada vez que se ejecuta el ciclo.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N° 10

Escribir un algoritmo que lea un número enteros positivos “n” y

luego imprima su factorial.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

Proceso Problema10Leer n;factorial <- 1;

Para i <- 1 hasta n Hacerfactorial<- factorial * i;

FinPara Escribir " El Factorial de N es = ", factorial ;

FinProceso

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

** Ejecución Iniciada. ***

5

El Factorial de N es = 120

** Ejecución Finalizada. ***

F

PSEUDOCODIGO

c) SENTENCIA REPETIR PARA

Los CICLOS ANIDADOS son utilizados cuando un ciclo Para interior esta contenido dentro de otro ciclo exterior.

Para i 1 hasta 5 // inicio del ciclo exteriorEscribir “i toma el valor de”, i; Para j 1 hasta 4 // inicio del ciclo interior* j

Escribir “ j = “, j ; FinParaFinpara // fin del ciclo exterior *i

F

PSEUDOCODIGO

c) SENTENCIA REPETIR PARA

La salida del algoritmo sería la siguiente:

i toma el valor de 1 // ciclo exterior

j = 1, j = 2, j = 3, j = 4 // ciclo interior j

i toma el valor de 2

j = 1, j = 2, j = 3, j = 4 // ciclo interior j

ESTRUCTURAS REPETITIVAS ANIDADAS

Es posible insertar un bucle dentro de otro. La estructura internadebe estar incluida totalmente dentro de la externa y no puede

existir solapamiento.

BUCLE ANIDADO CORRECTAMENTE

BUCLE ANIDADO INCORRECTAMENTE

PSEUDOCÓDIGOPSEUDOCÓDIGO

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N° 11

Diseñar un programa que permita determinar el promedio de tres

prácticas luego de eliminar la menor nota.

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N°12 Escribir un algoritmo que lea un número compuesto por más un

dígito y luego muestre: total de dígitos,

total de dígitos pares e impares, número invertido,

total de suma de dígitos pares e impares respectivamente.