Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

90
ALGORITMOS Y LENGUAJES ALGORITMOS Y LENGUAJES DE DE PROGRAMACION PROGRAMACION CAPITULO II CAPITULO II D I S E Ñ O D E A L G O R I T M O S ESTRUCTURAS SECUENCIALES ESTRUCTURAS NO SECUENCIALES Sentencias selectivas

Transcript of Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

Page 1: 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

Page 2: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 3: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

DISEÑO DE AGORITMOSDISEÑO DE AGORITMOS

• CONCEPTOS BASICOS

• DESCRIPCION DE ALGORITMOS • CONSTRUCCION DE

ALGORITMOS

Page 4: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 5: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 6: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 7: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 8: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 9: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 10: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 11: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 12: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 13: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 14: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 15: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 16: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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>;

Page 17: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 18: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 19: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 20: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 21: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

PSEUDOCÓDIGOPSEUDOCÓDIGO

PALABRAS RESERVADAS

Las palabras reservadas no llevan acento.

Leer , Escribir , Dimension

Si-Entonces-Sino, Segun

Mientras Hacer, Repetir Hasta Que, Para

Page 22: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 23: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 24: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 25: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

ESTRUCTURA SECUENCIAL

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

un valor en una variable.

<variable> <expresión> ;

PSEUDOCÓDIGOPSEUDOCÓDIGO

Page 26: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 27: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 28: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 29: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 30: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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)

Page 31: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 32: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 33: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 34: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 35: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 36: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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)

Page 37: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones Lógicas Tabla de verdad del operador Y:

Page 38: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

PSEUDOCÓDIGOPSEUDOCÓDIGO

Expresiones LógicasTabla de verdad del operador O:

Page 39: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

PSEUDOCÓDIGOPSEUDOCÓDIGO

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

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

Page 40: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 41: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 42: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 43: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 44: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 45: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 46: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 47: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 48: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

INICIO CondiciónCondición

n

FIN

V

F

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

PSEUDOCÓDIGOPSEUDOCÓDIGO

Page 49: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 50: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 51: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 52: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 53: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 54: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 55: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 56: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 57: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 58: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 59: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 60: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 61: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 62: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 63: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 64: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

ALGORITMOS Y LENGUAJES ALGORITMOS Y LENGUAJES DE DE

PROGRAMACIONPROGRAMACION

CAPITULO IICAPITULO II ESTRUCTURAS NO SECUENCIALES

Sentencias Repetitivas

Page 65: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 66: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 67: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 68: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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;

Page 69: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 70: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 71: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 72: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 73: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 74: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N°8

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

Page 75: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 76: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 77: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 78: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 79: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 80: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 81: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

Para Vc = Vi hasta Vf (con Inc) Hacer

sentencia1 sentencia2 sentencia3

FinPara

PSEUDOCODIGO

c) SENTENCIA REPETITIVA : PARA

c

I

c

l

o

Page 82: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 83: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

PROBLEMA N° 10

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

luego imprima su factorial.

Page 84: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 85: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

CONSTRUCCION DE ALGORITMOSCONSTRUCCION DE ALGORITMOS

** Ejecución Iniciada. ***

5

El Factorial de N es = 120

** Ejecución Finalizada. ***

Page 86: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 87: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 88: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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

Page 89: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.

Page 90: Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales

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.