0% encontró este documento útil (0 votos)
84 vistas23 páginas

ALGORITMO

El documento presenta una introducción al lenguaje de programación Visual C++. Explica que Visual C++ es un lenguaje orientado a objetos basado en C y C++. Luego describe los conceptos básicos de programación como algoritmos, pseudocódigo, diagramas de flujo, variables e identificadores. Finalmente, introduce conceptos de programación orientada a objetos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas23 páginas

ALGORITMO

El documento presenta una introducción al lenguaje de programación Visual C++. Explica que Visual C++ es un lenguaje orientado a objetos basado en C y C++. Luego describe los conceptos básicos de programación como algoritmos, pseudocódigo, diagramas de flujo, variables e identificadores. Finalmente, introduce conceptos de programación orientada a objetos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA MECANICA

VISUAL C++ ENTORNO CONSOLA

Ing Daniel Osorio Maldonado


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
INTRODUCCION

VISUAL C++ es un lenguaje de programación orientado a Objetos que utiliza como plataforma las
herramientas del lenguaje C estándar y del Lenguaje C++ .
El curso esta orientado para aquellas personas que deseen conocer y aprender a programar con una
herramienta de un lenguaje de programacion que tiene dentro de sus caracteristicas el ser bastante flexible
y facil de manipular en cuanto a su sintaxis.
Debe tener en cuenta que esta herramienta ha servido para desarrollar otras aplicaciones que hoy en dia
vemos en el mercado.
El curso empieza con una breve descripcion del diseño a mano de los pasos a seguir en la solucion de un
problema este diseño es conocido como la etapa algoritmica que puede contener la parte
textual(pseudocodigo) y la parte grafica(Diagrama de Flujo).
A esta etapa se le debe dar la importancia necesaria, ya que es aquí donde se plantea el camino ha seguir.
El curso se va desarrollar integramente haciendo uso del editor, herramienta que permitirá el manipuleo de
variables en linea de textos.
Se seguirá luego la descripción del Entorno Integrado de Desarrollo del Visual C++. El esqueleto o estructura
del Lenguaje C/C++ que , acompañará durante todo el curso. Se dará énfasis a la técnica de programación
en el uso correcto de la sintaxis, el buen uso del tipo de dato desde las principales y luego sus derivadas,las
Instrucciones de control simples o multiples y luego las instrucciones de control repetitivas, se tratará el
tema de los arreglos, recursividad, los punteros, las estructuras, asignación dinamica de memoria, para con
un enfoque del paradigma de lo que se entiende por programación orientada a objetos.
Seguidamente nos adentramos a la p´rogramacion con Windows, es decir programar en base a ventanas, el
uso de controles simples y controles tipo listas, los menus, los graficos.

INTRODUCCIÓN A LA PROGRAMACIÓN
La siguiente Separata tiene por Objeto Familiarizar al alumno con el entorno del Lenguaje de Programación and
C++; es mi deseo que Ud aproveche y aplique los conocimientos adquiridos, tanto en clase de teoria como en
el Laboratorio.
Algunos conceptos a tomarse en cuenta:
Dato(s)
Es una información que va a ser representada en un programa para su posterior modificación.

Lenguaje maquina
Conjunto de instrucciones numéricas en sistema binario (1 0 0 1 ) reconocido por el computador como
micro_operaciones.
Preprocesador
Permite la inclusión de archivos(#include), sustitución de macros(#define) y compilación condicional, las líneas
que comienzan con # contiene instrucciones para que el compilador realice ciertas tareas antes de que la
compilacion del programa se active es decir antes que el compilador traduzca el programa fuente en codigo
máquina. Su sintaxis es independiente del resto del lenguaje, siendo necesaria que estas líneas sean escritas
desde la primera columna del programa.
Compilador
Es un programa encargado de traducir las instrucciones de un programa a instrucciones de lenguaje de
maquina, verifica que no exista errores sintacticos del Lenguaje de programación .
Sentencia
Describe el conjunto de acciones a seguir especificado en un lenguaje de programación que será ejecutado
por el computador.

DANIEL. OSORIO MALDONADO Página 3 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

Sintaxis
La sintaxis de un lengueje de programacion es el conjunto de reglas para formular instrucciones
gramaticalmente correctas para el lenguaje sea cual fuere. Ahora bien, en la practica significa esto que una
instrucción en Borland C++ con la sintaxis correcta tiene una forma apropiada especificada para su
compilador, de tal manera que éste aceptará la instrucción y no generará un mensaje de error.

TEMA: ALGORITMOS
PSEUDOCODIGO / DIAGRAMA DE FLUJO
Los algoritmos pueden constituir por así decirlo en un listado de instrucciones que indican el camino a seguir
para dar solución a un problema y que puede o no ser ser resuelto por una computadora , generalmente el
algoritmo viene acompañado de un pseudocódigo y un diagrama de flujo.
Cuando el Algoritmo se ha desarrollado en forma correcta, el paso siguiente es llevar el pseudocodigo a la
codificacion del loenguaje de programacion.
Como ya se explicó, la codificacion del algoritmo(pseudocodigo) en un determinado lenguaje debe respetar
su sintaxis para que el compilador pueda traducirlo en Lenguaje Maquina y hallar la solucion al problema
planteado.

ALGORITMO: Es un conjunto de pasos, procedimientos o acciones, que nos permite alcanzar un


resultado, resolviendo el problema planteado.
Etapas en la solución de un Problema.
 Un análisis profundo del problema planteado.
 Diseño y construcción del Algoritmo.
 Verificación del algoritmo.

Se entiende que por verificación del algoritmo, el seguimiento del mismo con datos que se ajusten a las
característica del problema que se va a resolver.

Característica:
Los algoritmos en general deben ser:
 Precisos :Los pasos a seguir en el algoritmo deben ser precisados claramente.
 Definido: Debe dar siempre el mismo resultado para un conjunto de datos idénticos de entrada.
 Finito : El algoritmo, independientemente de la complejidad del mismo, debe ser siempre de
longitud finita.

Metodología:
 Definición de los Objetos_Datos de Entrada y Salida(Ingreso desde teclado y salida por pantalla)
 Objetos_Datos de Entrada: Datos que se ingresan por teclado.
 Objetos_Dato de salida: Datos u objetos de resultado.
 Procesamiento de los Objetos_Datos (datos).
 Visualizacion/Impresión de resultados.

Pseudocodigo
Es la parte textual del algoritmo,se podría decir que es como la receta para un paciente o también una
receta culinaria para cocinar un plato. Generalmente es la traducción del Inglés de la sintaxis del compilador
al idioma con el que estamos trabajando.

DANIEL. OSORIO MALDONADO Página 4 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
DIAGRAMA DE FLUJO
Un diagrama de flujo es la representación gráfica de un algoritmo.
En cuanto a la simbologia utilizada para la representación, se tomara la norma (ANSI – ISO).

DIAGRAMA DEFINICION

INICIO - FIN

ENTRADA DE DATOS

PROCESOS/CONSTANTES

F V BIFURCACIÓN(V/F)

PROCESOS(Desde/Para)

LLAMADA A (PROCEDIMIENTOS/FUNCIONES)

ESCRITURA

PANTALLA

CONECTOR

CONECTOR A SIGUIENTE PAGINA

Direcciones del flujo del programa

DANIEL. OSORIO MALDONADO Página 5 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
DIAGRAMA NASSI_SCHNEIDERMAN(N-S)
Tambien conocido como diagrama de CHAPIN es como un diagrama de flujo en el que se omiten las flechas
y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de
flujo se pueden escribir diferentes acciones en una caja y dependiendo de las acciones de control estas
cambian para su mejor interpretación, tal como se vera en los ejercicios y aplicaciones.

Inicio
Accion 1
Accion 2
Accion 3
Fin

Codificación y Programación
Es el Proceso mediante el cual se traduce un algoritmo a una codificación en un lenguaje de programación
especifico.

Programa
Conjunto de instrucciones que se ha desarrollado con la finalidad de que sea ejecutado por el computador.

Objetos_Datos
Son Objetos_Datos de un programa, todos aquellos datos manipulados por las Instrucciones.
Mediante ellos, en un programa podremos realizar el almacenamiento de los datos y de los resultados de las
distintas operaciones que intervienen en la solución del problema.
Se les da este nombre solo para efectos de entrada y salida de datos en la solucion de un problema.

IDENTIFICADORES
Los identificadores son palabras creadas por el programador para dar nombre a los objetos y demás
elementos que necesita declarar en un programa: variables, constantes, tipos, estructuras de datos,
archivos, procedimientos.
Deben empezar siempre con una letra, no deben existir espacios en el nombre, no empezar con un
numero.

Z; labora_1; practica1; aulamb514dh

VARIABLES :
Una variable es un ente (objeto_dato) que almacena una posición de memoria cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecución del programa.
Una variable se identifica por los siguientes atributos:
a) nombre que le identifica.
b) tipo que describe el universo en donde se desenvuelve la variable.
Los nombres de las variables, a veces conocidos como Identificadores, suelen constar de varios caracteres
alfanuméricos de los cuales el primero debe necesariamente ser una letra.

Ejemp: int par; float num_123 ; char opc1 ; char nombre[15] ; short pequenio1 ;
par=2. unsignet sin_signo;

CONSTANTES: Son identificadores que generalmente son declarados en el programa antes de las
variables, estos identificadores por lo general asumen un valor dado por el programador, éste valor no
cambia durante el proceso del programa.

DANIEL. OSORIO MALDONADO Página 6 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

Tipos de datos en general:


Se denomina tipo de datos a las características propias de un objeto_dato o entidad, por ejemplo la edad o
el domicilio de un registro, deben tener una característica que la diferencie una de otra, la edad debe ser
entero y el domicilio cadena (también se conoce como alfanumérico), podemos decir entonces que existen,
en la mayoría de los lenguaje de Programación, los siguientes tipos de datos:
Numéricos
Alfanuméricos
Carácter
Lógicos (booleano) : cierto/falso
Este tipo de Dato no existe en C++/Borland C++, lo que existe es la representación 0 para falso y 1 para
verdadero.
En Borland C++ es bueno señalar que el tipo de dato bool permite que una variable cualquiera se le
inicialice con los terminos de true (verdadero=1) y false (falso=0), esto se aprecia cuando forzamos la salida
de las variables, se notará que true equivale a 1 y que false equivale a 0.
Esto se nota en el siguiente programa, rseuelto con Borland C++ y Visual C++ pero como proyecto Win
Console:
#include<iostream.h>
#include<conio.h>
main( ){
bool t,f;
t= "True";
cout<<"El Valor verdadero de t es "<<t;
cout<<"\nEl valor falso de t equivale a "<<!t<<endl;

getch();
} Dando como resultado:
el valor verdadero de t es 1
el valor falso de t quivale a 0

Otra manera es usando los Interruptores (switch=sw) que sólo es usado cuando a la variable se le inicializa
a, 0 (falso) para luego cambiar a 1 (verdadero), con cualquiera de estos valores y dependiendo en la
ubicacion del programa se le cambia al valor opuesto
int sw=0; //se asume falso int i,sp=0,simp=0,sw=0; //asume falso
........do{ for(i=1;i<=100;i++)
if(a<b) if(i%2==0){
cout<<proceso1; sp=sp+i;
proceso2; sw=1; // asume verdadero }
sw=1 // asume verdadero else
else simp=simp+i;
cout<<proceso3 cout<<"La suma de los primeros 100 pares es
while(sw!=1);// mientras no sea verdadero "<<sp<<endl
................ <<"\nLa suma de los primeros 100 impares es
Ejemplo de aplicación "<<simp;
/*Programa que suma los pares y los impares de getch();
100 numeros enteros positivos*/ }
#include<iostream.h> /*Salida
#include<conio.h> La suma de los primeros 100 pares es 2550
main(){ La suma de los primeros 100 impares es 2500 */

Operación de Asignación: La operación de asignación es el modo de


darle valores a una variable. La operación de asignación se representa con el símbolo  .
Nombre de la variable<nom_var>  dato o valor numerico.
Ejemp. A  45

DANIEL. OSORIO MALDONADO Página 7 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
No olvidarse que los datos son almacenados en la memoria de la computadora, específicamente en celdas de
memoria y una direccion, de allí que se hace necesario tener un nombre que las identifique , ya sea
constante o variable. El siguiente gráfico esquematiza lo dicho:

MEMORIA
VAR1=66
SUM0
AUXVAR1*17

ACUVAR1+5 SUMSUM+AUX+ACU

SUM0+(66+17)+(66+5)

Como puede apreciar los valores son almacenados en bloque, claro que esta explicación es muy simplista,en
realidad cada valor es almacenado en caldas de memoria y tienen una direccion que determina que espacio
de memoria va a utilizar.
El espacio de memoria la determina el tipo de datos que es utilizado por la variable o identificador. Esto hace
que un lenguaje de programación difiera de un programa de aplicación.
Espero que con estas lineas se comprenda la razon por la cual es necesario que una variable tenga un tipo
de datos.

TEMA: Los Procesos Secuenciales


Los procesos secuenciales, son todos aquellos procesos en los cuales la solucion de un problema se realiza
de manera directa y sin desviaciones o bifurcaciones.
P1: hallar el Area y la longitud de una circulo
Objeto_datos de Entrada:R (radio)
Objeto_datos de Salida :Area, Longitud

DIAGRAMA NASSI_SCHNEIDERMAN(N-S) DIAG FLUJO

Pseudocodigo Leer R
Inicio INICIO
Leer R Calculo del Area
Calculo del Area S=pi*R*R
S=pi*R*R R
Calculo de la longitud Calculo de la longitud
L=2*pi*R L=2*pi*R S=pi*R*R
Escribir S,L
Fin Escribir S,L
L=2*pi*R
Fin

S, L

FIN

P2: Hallar la resultante de 02 Fuerzas que forman um ângulo ‘θ’


Objeto_dato de Entrada: F1,F1, theta
Objeto_dato de Salida : Resultante R

DANIEL. OSORIO MALDONADO Página 8 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
Pseudocodigo
Inicio
Leer F1,F2,theta
K=pi/180
Calculo de la Resultante INICIO
R= F1  F 2  2 F1F 2 cos(thetaK )
2 2

Escribir R
Fin N-S K=pi/180
INICIO
K=PI/180
F1,F2,θ
LEE F1,F2,θ

R= F12  F 2 2  2 F1F 2 cos( * k ) θ


Escribir R
R= F12  F 2 2  2 F1F 2 cos( * k )
Fin

FIN

P3. Desarrolle un algoritmo que permita convertir los grados Fahrenheit a Celcius
Pseudocodigo
Inicio INICIO
Lee °F
°C = (F-32)x9/5
Escribe °C °F
Fin

°C= (°F-32)x9/5

°C

FIN

P4. Desarrolle un algoritmo que permita simular el retiro de dinero de un cajero automatico.
El cajero solo emite billetes de las siguientes denominaciones: 200,100,50,20 y 10 .
Objeto_dato de Entrada: Q //Cantidad
Objeto_dato de Salida : b200, b100, b50, b20, b10 //denominación de billetes
Pseudocodigo
Inicio
Leer Q
b200 =entero(Q/200)
Q=resto(Q/200)

DANIEL. OSORIO MALDONADO Página 9 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50) INICIO
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10) Q
Escribir b200,b100,b50,b20,b10
Fin
N-S b200 =entero(Q/200)
Leer Q Q=resto(Q/200)
b200=entero(Q/200) b100=entero(Q/100)
Q=resto(Q/200) Q=resto(Q/100)
b50=entero(Q/50)
b100=entero(Q/100)
Q=resto(Q/50)
Q=resto(Q/100)
b20=entero(Q/20)
b50=entero(Q/50)
Q=resto(Q/20)
Q=resto(Q/50)
b10=entero(Q/10)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
Escribir b200,b100,b50,
b200,b100,b50,b20,b10 b20,b10
Fin

FIN

TEMA: INSTRUCCIONES DE CONTROL DE PROGRAMA

Las estructuras de selección permite al usuario tener un control del programa mediante el uso de
instrucciones de control,constituyendo mecanismos para dirigir el flujo de ejecución, dentro de estas
a).Instrucción de Control Simle.
La estructura Si - Entonces
Indica a la computadora que efectúe una serie de una o mas instrucciones basadas en el resultado de
una comparación.
INICIO

Pseudocodigo
SI la condicion es verdadera, entonces V
CONDICION
Proceso de verdadero
Fin de SI F
PROCESO
DIAGRAMA NASSI_SCHNEIDERMAN(N-S)

CONDICION

VERDAD (SI)
PROCESO 1
FIN
PROCESO 2
ESCRIBIR

FIN

DANIEL. OSORIO MALDONADO Página 10 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

b). Instrucción de Control de alternativa doble


Indica a la computadora que debera realizar la comparación de 02 alternativas, si se cumple la alternativa
verdadera debera realizar el proceso para esta alternativa. En caso contrario debera realizar la alternativa
Falsa.
Pseudocodigo
Si (condicion )es Verdaddera entonces
Proceso_Verdadad
Sino INICIO
Proceso_Falso
Fin del Si
NASSI SCHNEIDERMAN(N – S) F V
CONDICION
CONDICION
PROCESO_F PROCESO_V
FALSO VERDAD

PROCESO_F PROCESO_V

IMPRIMIR
ESCRIBIR

FIN
FIN

Ejemplos de alternativa simple


1.1 Ingresar desde teclado un numero y emitir un mensaje si el numero ingresado es par.
Solucion
Objetos deatos de entrada: A INICIO
Objeto dato de Salida: A es par
Pseudocodigo
Inicio A
Leer A
Si(residuo de A/2=0) entonces
Mensaje= “El numero es par”
Fin del Si Residuo(A/2)=0
Escribir Mensaje
Fin Men= Par

Men

FIN

DANIEL. OSORIO MALDONADO Página 11 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

1.2 Ingresar 02 numeros y luego ordenarlos mediante un algoritmo de menor a mayor


Solucion
Objetos datos de entrada: A,B
Objeto dato de Salida: Ordenado
Pseudocodigo
Inicio Inicio
Leer A,B Lee A , B
Si (A>B)entonces Si (A>B)
Tempo=A Verdad Si
A=B Tempo=A
B=Tempo A=B
Escribir A,B B=Tempo
Fin del Si Escribir A, B
Fin

1.3 Ingrese una edad y decir si es mayor de edad e imprimir la edad ingresada
Objeto_Dato de Entrada: Edad
Objeto_Dato de Salida :Men y edad
Pseudocodigo INICIO
Inicio
Leer E
Si (E>=18) entonces
Men= “Mayor de Edad” E
Fin del Si
Escribir inicio
Men, E E>=18
Leer E
Fin
Si(E>=18)
Mayor de Edad
VERDAD (SI)
Men= “Mayor de Edad”

ESCRIBIR Men, E
Men,E
FIN
Fin

DANIEL. OSORIO MALDONADO Página 12 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
Ejemplos de alternativa doble 1
INICIO
1.4 Hacer un algoritmo para dos valores enteros
Y mediante un mensaje verificar si son divisible 2
Es decir si A es divisible por B
A,B Mensaje
Solucion
Objetos Datos de Entrada: A,B
Objetos Datos de Salida : mensaje F V
Inicio A=0 FIN
Leer A y B
Si A=0 entonces V A no debe ser
B=0 2
Men= “A debe ser diferente de cero” 0
Si no
Si B=0 entonces F
Men= “no es posible la división” No es
posble 2
Si A>B entonce
Si resto (A,B=0) entonces F V
Men A es divisible por B A>B
Si no
Men = A debe ser Mayor F Resto(A,B)=0
V
“A no es divisible por B”
Si (A<B)
Men = A debe ser mayor que B No Es divisible Es divisible
Fin del Si
Escribir Men 2
Fin
1

1.5 Se tienen cuatro mensajes para las notas obtenidas en un curso de Actualizacion; cuando la nota
obtenida es igual o mayor a 17 debe decir “Sobre Saliente”; si la nota es igual o mayor a 15 “Notable”;igual
o mayor a 13 “Aprobado”; “Asistente para el resto”.
Haga el Algoritmo
Objeto_Dato de entrada:Nota
INICIO
Objeto_Dato de Salida :Mensaje
Pseudocodigo
Inicio N
Leer Nota (N)
Si N>=17 entonces F
Men=”Sobre Saliente” N>=17
Si no V
Si N>=15 entonces
SOBRE
Men= “NOTABLE ” F N>=15 SALIENTE
Sino
Si N>=13 entonces V
Men= “Aprobado” Notable
Sino
Men= “Asistente”
Fin del Si V
N>=13
Fin del Si
Fin del Si F
Escribir Men
Fin Asistente Aprobado

Men

DANIEL. OSORIO MALDONADO Página 13 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

N-S

INICIO

LEER NOTA N

SI N>=17
NO SI

N>=15
NO SI SOBRESALIENTE
NO N>=13 SI NOTABLE

ASISTE APROB

ESCRIBIR MEN

FIN

Instrucción de Control de Selección Multiple (conocido como


do Case; Case of; switch() )
Permite tener un control de una Var_Selectora, como “condición” para varias alternativas; dependiendo
del Lenguaje de Programación la condición se le conoce como:
 Var_Selectora ->(Case...), cuando se trata de Pascal, Vsual Basic, Visual Fox, etc.
 Var_Selectora ->Switch cuando se trata de Lenguaje C o Borland C++ /Turbo C++,Visual C++,
usado tambien por Matlab.

DANIEL. OSORIO MALDONADO Página 14 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
 Case(Var_Select) of cuando se trata de Pascal

Consideraciones a tener en cuenta en el uso del control multiple

La Var_Selectora puede ser variable, expresión, función; empero, sin embargo, el valor representado
debe ser por decir lo menos, un valor escalar es decir un dato numérico entero o un carácter . No se acepta
una cadena o un dato real.
Se debe entender que cada alternativa tiene un único valor y que va ha realizar una determinada acción o
proceso.

Modo en que Funciona

(a) El valor de la Var_Selectora o(condición) se evalúa en las alternativas uno a uno.

(b) Si halla una coincidencia que contenga el valor de la Var_Selectora, entonces ejecutara el proceso
correspondiente dando por finalizado la estructura, para luego buscar otra coincidencia, y ejecutar.

(c) Existe un termino que se usa ocasionalmente y que representa la acción cuando ninguna de las
alternativas se cumple, es el caso del “si no” , el termino no es obligatorio, pero permita clarificar una
aplicación.

INICIO
Pseudocodigo
Condicion o var_Selectora
En Caso que (Var_Selctora) sea Leer Dato
Caso 1 proceso_1
Caso 2 proceso_2
Caso 3 proceso_3 Condicion
……………………….
Caso N proceso_N
Caso X proceso_Desconocido
Var_alterna1
Fin del Caso Proceso1

Var_alterna2 Proceso2

Var_alterna3 Proceso3

Var_alternaN ProcesoN

Var_alternaX Proceso_Desco

IMPRIMIR

FIN

DANIEL. OSORIO MALDONADO Página 15 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
DIAGRAMA N - S

1 CONDICIONANTE O
VAR_SELECTORA
2
3

Proceso_1 Proceso_2 …
Proceso_3 X
.... N
Proce_N Proc_Desc

Aplicación: Programar una operación Aritmética con 02 operandos: Operando1 y Operando2


(enteros O reales) y que de acuerdo al Operador elegido habra un resultado. Considere que ud. Ha
diseñado una calculadora que le permita realizar operaciones matemáticas elementales y que Los operadores
permitidos son:
 + : suma Mas =’+’
 - : diferencia Menos =’-’
 * : producto Por =’*’
 ? : división entera Entre =’?’
 ¿ : residuo
Residuo =’¿’
 ~ : potencia
Potencia = ‘~’
solucion:
Definir objetos_datos
Objeto_dato de entrada:
operador,Ope1,Ope2.
Objeto_dato de salida : Resultado.
Pseudocodigo:
Definir los Operadores: Entonces
Inicio Resultado =Residuo(Ope1/Ope2)
Leer operador si no
Ingrese : Ope1, Ope2 Resultado =0
En CASO que Operador SEA Fin del SI
‘+’ : Resultado = Ope1 + Ope2 ‘~’ :Resultado=Ope1 elevado al Ope2
‘-‘ : Resultado = Ope1 – Ope2 Otro Caso :Rsultado :” No existe Operación”
‘*’ : Resultado = Ope1 * Ope2 Fin del Caso
‘?’ : SI Ope2 es diferente de 0 Imprimir respuesta
entonces fin
Resultado = Ope1 ? Ope2
si no
Resultado =0
Fin del SI
‘¿’ : SI Ope2 es diferente de 0

DANIEL. OSORIO MALDONADO Página 16 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

N-S
INICIO
Establecer Operandos op1,op2
Mas ‘+’; Menos  ‘-‘; Por  ‘*’; Entre  ‘?’; Residuo  ‘ ¿’; Potencia ’~’

op1+op2 -

*
op1-op2
op1*op2 ?
op2<>0 ¿
no si
error no op2<>0si ~ X
Se deja como ejercicio para que sea completado.

¿Podría Ud. Completar el cuadro?

DANIEL. OSORIO MALDONADO Página 17 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

INICIO 1

Inicializar constantes
Mas =’+’
Menos =’-’ IMPRIMIR
Por =’*’ RESULTADO
Entre =’?’
Residuo =’¿’
Potencia =’~’
FIN
DIGITAR EL OPERADOR A
USAR

INGRESE :
OPERANDO1
OPERANDO2

OPERADOR

Resultado = Operando1 + Operando2


‘+’

‘-‘ Resultado = Operando1 - Operando2

Resultado = Operando1 * Operando2


‘*’

‘?’

Operando2
No Diferente de  Si

RESULTADO = Resultado= Ope1 ? Ope2

‘¿’ RESULTADO=RESIDUO(OPER1/OPER2)

RESULTADO=(OPE1)~(OPE2)
‘~’
1

DANIEL. OSORIO MALDONADO Página 18 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

TEMA: Instrucción de Control Repetitivas


Son aquellas Instrucciones que permiten que ciertas aplicaciones en las cuales una opercion o conjunto de
ellas deben repetirse muchas veces, por consiguiente se puede afirmar que un programa que lee una lista de
numeros puede repetir la misma secuencia de mensajes al usuario e instrucciones de lectura, hasta que
todos los numeros del rango establecido sean leidas.
Para efectos del C++/Borland C++ se van a tomar en cuenta sólo las tres mas usadas:
 mientras ->(While )
 Hacer proceso Mientras (Condicion)-> (Do while)
 Desde/Para-> (For)
Para otros lenguajes de programacion son en alguno casos combinaciones de ellas o en su defecto usan
otra nomenclatura como por ejemplo para Pascal es comun usar la instrucción (repeat until) “repetir
hasta que”, mientras que en Visual Basic es comun usar (do until) “hacer hasta que” ,estas son las mas
representativas de estos lenguajes de programacion.

Instrucción de control Repetitivo “Mientras”


la estructura repetiriva mientras(en Ingles WHILE o DOWHILE:”hacer mientras” ) es auella en que el
cuerpo del bucle se repite mientras se cumple una determinada condición.se pueden representar:
Pseudocodigo
mientras (condición ) sea verdadera
proceso
fin del mientras

NO
CONDICION
Diagrama Nassi_Schneiderman
SI IMPRIMIR

ACCIONES MIENTRAS < CONDICION>


FIN
Accion1
Accion2
Accion3

1. Desarrollar la suma de los primeros M terminos de la siguiente suma :

1 1 1 1 1 FIN
D=    
A A  B A  2 B A  3B A N *B
A,B,N

solucion: SUMA=0 ; C=1


definir objetos_datos E/S
objeto_dato de entrada: A,B,N.
Objeto_dato de salida : SUMA DE N.
1
Pseudocodigo:
Inicio
Leer A,B,N.

DANIEL. OSORIO MALDONADO Página 19 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
Definir C=1 //contador

Suma=0.
Mientras(C=N) hacer 1

AB=(A+c*B).
Inverso=1/AB.
Suma=Suma+Inverso.
C++. C<N
Fin del mientras
Escribir: Suma=Suma+1/A.
Fin SUMA=SUMA+1/A
AB=(A+C*B)
INVERSO=1/AB
SUMA=SUMA+INVERS IMPRIMIR
SUMA
C++

FIN

2. En la siguiente serie se pide hallar la suma de los elementos que ocupan las posiciones pares,y la
suma total de elementos, sabiendo que el # de termninos es igual a 50.

4 6 8
Su  2     ...
3 5 7 INICIO
Solucion:
Objetos_Datos de Entrada: N
Objetos_Datos de Salida: N
suma de posiciones pares: sp
suma total de elementos: su
Pseudocodigo i=1,su=0,sp=0
Inicio
Leer N F
Establecer variables i<-N
i=1; par=0;Su=0;
mientras(i<=N) V sp,su
si(resto (i/2=0)entonces V
Resto(i/2)=0
sp=2*i/(2*i-1)
fin del si F
su=2*i/(2*i-1) sp=2*i/(2*i-1)
i=i+1
fin del mientras
FIN
escribir su, sp
sp=2*i/(2*i-1)

i=i+1

DANIEL. OSORIO MALDONADO Página 20 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
Instrucción de control Repetitivo “hacer procesesos mientras(condcion)
En este tipo de Instrucción de control repetitivo difiere un poco con respecto al mientras en el sentido que
las instrucciones se realizan al menos una vez antes de comprobar si la condición se cumple, es muy
parecida al “repeat until” del Pascal.
Pseudocodigo
Hacer (procesos)
mientras (condición ) sea verdadera PROCESO1
fin del hacer .

PROCESO2
DIAGRAMA (N-S)
PROCESO1 V F
PROCESO2 Condicion

ESCRIBIR
MIENTRAS CONDICION

FIN

INICIO
Problema de Aplicación
Se ingresa un Numero de varias cifras,
y luego invertis sus cifras. LEER N
Por ejemplo 1234 invertido 4321
Objetos_datos de entrada y Salida
Inverso=0
Objeto_Dato de Entrada: Numero
Objeto_Dato de Salida:Salida numero invertido.
Leer
Pseudocodigo numero
Inicio
Leer numero
Inicializar variable : inverso  0 Inverso 0
Hacer
Digito resto(M/10)
Inverso inverso*10+digito.
M=numero/10 M=numero
Mientras(numero>0)
Escribir inverso
Fin
Digitoresto(M/10)

Inversoinverso*10
+digitoM=numero

M=numero/10

V F
Numero> 0

Inverso

FIN

DANIEL. OSORIO MALDONADO Página 21 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

Esta instrucción “hacer procesos… mientras (condicion) sea verdadera”, es utilizada para consistenciar y
controlar la repeticion de un propgrama sin necesidad de salir, dandole al usuario el control del mismo. Vea
el siguiente ejemplo:
Se desea hallar la suma de los primeros N terminos de la siguiente serie:

1 2 3 4
S     ...
t 1 2t  3 3t  5 4t  7

DANIEL. OSORIO MALDONADO Página 22 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA

Instrucción de control Repetitivo for


Esta instrucción de control repetitivo considera: que el proceso debe iniciarse para un valor inicial que
vendría a ser el inicio del contaje, una segunda expresión que contiene el valor máximo o mínimo que puede
tener el contaje y determina cuando termina el ciclo, hasta aquí tal vez es el formato que usa la
mayoria de los lenguajes de programación; sin embargo para el lenguaje C, C++ o Borland C++,
existe lo que se conoce como el incremento o decremento (se suma o se reta el contaje).
Para otros lenguajes es tal vez mas facil iniciar con el Valor Maximo para luego ir disminuyendo en unida en
unidad.
Diagrama de Flujo (for )
Pseudocodigo
INICIO
Desde/Para var_contador=val de ini HASTA Valor Fin o Max
ProcesoA
Proceso Para Vcont=
Valor_inic, Valor_fin
Fin del Desde/Para HACER
Diagrama N-S

PROCESO
desde/para de var_contador=Vi Hasta Vf
ProcesoA
ProcesoB IMPRIMIR

Fin desde/para

FIN

Aplicación
Se va a Ingresar un Numero y la tarea consiste
en mostrar todos los divisores de ese numero ingresado.
Cuando el numero Ingresado tiene por divisores
a la unidad(1) o al mismo numero mostrara un
mensaje diciendo “ El Numero es Primo ”

SOLUCION
Objetos_Datos de ENTRADA Y SALIDA
Objejo_Datos de Entrada: el Numero entero(NumeEnte)
Objeto_Dato de Salida : numero de divisores(NumeDivi),
mensaje

DANIEL. OSORIO MALDONADO Página 23 de 143


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
PSEUDOCODIGO
Inicio
Leer un Numero entero: NumeEnte
Definir la variable Contador de Divisores e Inicializarla 0
NumeDivi=0
Contabilizar los divisores y mostrarlos
PARA Divisor=1 HASTA NumeEnte, HACER
INICIO
SI Residuo de NumeEnte/Divisor=0, ENTONCES
Inicio
Escribir Divisor
ContDiv=ContDiv+1 LEER NumeEnte
fin del SI
Fin del PARA
Escribir mensaje
ContDivi=0
SI ContDiv=2,ENTONCES
MENSAJE “Numero Primo”
SINO para Divisor=1, NumeEnte
MENSAJE “No es Primo”
Fin del Si

Fin Resto(Nume si
Ente/Divisor
no
Escribir Divisor
1

ContDivi=ContDivi+1
No si
ContDivi=2

No es Primo Numero Primo

MENSAJ 1
DIVISOR

FIN

DANIEL. OSORIO MALDONADO Página 24 de 143

También podría gustarte