SlideShare una empresa de Scribd logo
Universidad Nacional de Lomas de Zamora
Apunte teórico: Técnicas de Programación –
Pseudocódigo: Estructuras repetitivas y arrays.
Facultad de Ingeniería
Curso 111 Mil
Profesor Alejandro Canosa
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
2
BUCLES:
Un bucle es la repetición de un bloque de instrucciones N veces. El bucle es finito y se ejecuta
siempre y cuando se cumpla su condición para trabajar, se pueden encontrar 3 tipos de bucle:
 WHILE (Mientras)
 DO WHILE (Hacer mientras)
 FOR (para)
El while es un bloque de código que se ejecuta siempre y cuando se cumpla la condición del
mismo, por ejemplo:
INICIO
Entero numero = 0;
MIENTRAS (numero != 10)
imprimir (“Ingresa el 10 para salir”)
Leer(numero)
FIN MIENTRAS
imprimir (“Adiós”)
FIN
Dado que la variable número se inicializa en 0, cumple la condición del bucle (el numero debe ser
distinto a 10 para entrar dentro del MIENTRAS), así que se imprime el mensaje y se lee el número
que ingresa el usuario, si ese número NO es 10, se repite la misma secuencia, se imprime “Ingresa
el 10 para salir” y se lee otro número que ingrese el usuario, esto se repite hasta que sea 10.
Cuando ingrese el 10, el bucle deja de repetirse dado que la condición para que se ejecute ya no se
cumple, y por último se imprime “Adiós”. Todo este proceso es el mismo para el HACER MIENTRAS
y PARA
Tener en cuenta que por más que se llegue a romper el bucle pero aún quedan instrucciones
dentro del bloque, se van a ejecutar hasta terminar el bucle, es decir, las iteraciones en los bucles
son COMPLETAS, a menos que se use lo que en programación se llama BREAK, que sale
forzadamente del mismo.
Ejemplo:
BOOLEAN seguir = VERDADERO;
MIENTRAS(seguir == VERDADERO) //el bucle sigue mientras que seguir no cambie
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
3
seguir = FALSO //acá ya rompimos el bucle ya que no es VERDADERO, se va a dejar de
//repetir
imprimir “Por más que seguir sea falso, esto va a aparecer en pantalla”
FIN MIENTRAS //una vez que llegamos acá el bloque no se va a repetir más
HACER MIENTRAS:
El HACER MIENTRAS es casi igual al MIENTRAS con la excepción de que el bloque dentro del mismo
se ejecuta 1 vez por más que la condición no se cumpla de entrada, es decir, ejecuta el bloque
dentro del mientras al menos 1 vez
INICIO
ENTERO numero
HACER
IMPRIMIR(“Ingresa el 10 para salir”)
LEER(numero)
MIENTRAS(numero !=10)
IMPRIMIR(“Adiós”)
FIN
PARA:
El para, a diferencia del MIENTRAS y HACER MIENTRAS, es un bucle que se realiza una cantidad ya
previamente definida de veces, mientras que los otros 2 tienen variedad en cuanto a cuantas
veces se repiten.
Es decir, el PARA por ejemplo, lo usamos cuando tenemos que repetir 5 veces un bloque de
instrucciones.
La sintaxis del PARA consta de 3 segmentos:
 Defino el contador dándole un valor (se puede declarar en el PARA mismo, ver el primer
ejemplo de sintaxis debajo)
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
4
 Defino hasta donde va a llegar mi contador (hasta que número)
 Defino si el contador se incrementa o decrementa.
Ejemplos de sintaxis:
PARA(ENTERO i = 0; i<10; i= i + 1) //acá se declara el índice dentro del PARA
PARA(i=0; i<=10; i++) //acá el índice fue previamente declarado
PARA(i=100; i>0; i = i – 1) //también puede usarse i—
NOTA: recordar que siempre hay que escribir la forma de salir de un bucle, sino se produce un
bucle infinito.
ARRAY, ARREGLO o VECTOR:
Un vector es una serie de datos del mismo tipo contenidos en una fila con un índice numérico
determinado (suele ser llamado “i” aquel índice), se puede acceder a cualquier dato del vector
gracias al índice, si es que se conoce.
Entero ejemplo[3] = {1,2,3}
El vector ejemplo contiene 3 números enteros: 1, 2 y 3.
Generalmente los vectores tienen una longitud definida (estáticos), aunque hay casos donde
pueden expandirse (dinámicos, sin embargo, pueden causar una fuga de memoria, es decir,
empieza a consumir toda la memoria RAM gradualmente). No se pueden ingresar valores entre 2
índices contiguos, y no se puede acceder a un índice que supere la longitud del vector (el índice 7
no existe en un vector de 3 elementos, por ejemplo)
El índice siempre empieza por 0, es decir, para acceder al primer elemento del vector “ejemplo”:
ejemplo[0]
Esto nos devolverá el 1 ya que fue el primer elemento que escribimos en el vector.
El vector ejemplo se puede ver de esta manera:
ejemplo 
0 1 2
Sin embargo, los vectores pueden llegar a ser más complejos, el vector de ejemplo que usamos es
un vector unidimensional, dado que solo tiene una fila, podemos tener 2 dimensiones, y acá el
vector pasa a llamarse matriz:
1 2 3
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
5
VECTOR EJEMPLO2 COLUMNA 0 COLUMNA 1 COLUMNA 2
FILA 0 1 2 3
FILA 1 4 5 6
FILA 2 7 8 9
Como se puede ver arriba, la matriz consta de 2 dimensiones (puede haber más en otros casos),
entonces, para acceder a los datos dentro de la matriz ejemplo2 debemos ingresar 2 índices:
EJEMPLO2[0][0]  1
Para acceder al 1 tengo que poner la fila y columna correspondientes, en este caso 0 y 0 (véase
tabla de arriba)
Recordar que el último índice de un vector es la longitud – 1 (dado que empieza desde 0).
¿Cómo se recorre un vector?
PARA(ENTERO i = 0; i<vector.longitud; i++)
//le digo a i que vaya desde 0 hasta la longitud – 1 del vector, es decir, el último índice
imprimir vector[i]
//imprimo el valor que este dentro del índice que tenga el mismo valor que i
//es decir, la primer iteración (o pasada) i=0, entonces se va a mostrar vector[0]
FIN PARA
EJERCICIOS:
Desarrollar el diagrama de flujo y pseudocódigo de los siguientes ejercicios:
1. Escribir un bucle que mientras el usuario no ingrese la ‘S’, le pida que ingrese una letra
2. Escribir un programa que cuente hasta 100.
3. Dado un número ingresado, imprimir la tabla del 2 hasta ese número.
4. Crear un array de 5 elementos y rellenarlo con valores
5. Escribir un programa donde el usuario ingrese la potencia de 2 y que se calcule (ejemplo:
para 23
que ingrese el 3). Recordar: 23
= 2 * 2 * 2
6. Recorrer un vector de N elementos y a cada elemento que contenga un valor par,
cambiarlo por 0.
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
6
7. Escribir un programa donde un alumno ingrese 3 notas, si esas 3 notas son iguales o
mayores a 21, indicar que está aprobado, sino, indicar que esta desaprobado (usar array
para guardar).
8. En un programa donde yo tengo un vector llamado “datos” de tipo entero de N elementos,
recorrerlo y obtener el valor máximo y mínimo del mismo.
9. En una batalla naval, el jugador ingresa la fila y columna de un tablero de 10x10, determinar
si es una jugada valida y si hubo impacto (suponiendo que hay una matriz de 10x10
previamente definida de tipo booleano, donde cada posición tiene valor VERDADERO si hay
un barco y FALSO sino).
10. En un vector de enteros de n elementos, yo quiero encontrar el número 10, el problema es
que 10 puede o no estar dentro del vector, recorrer la lista, indicar si se encontró el vector
con un flag (variable booleana) y en base a eso imprimir si se encontró o no dicho número.
11. Corregir el siguiente pseudocodigo , explicar debajo porque se realizan tales correcciones
INICIO DIVISION
ENTERO divisor
REAL cociente
ENTERO dividendo
BOOLEANO terminar = FALSO;
MIENTRAS(terminar == FALSO)
imprimir “Ingresar divisor”
imprimir “Ingresar dividendo”
leer(dividendo)
SI(divisor == 0) entonces
imprimir “No se puede dividir por 0”
FIN SI
cociente = dividendo/divisor
FIN MIENTRAS
FIN

Más contenido relacionado

La actualidad más candente

Sentencias de Repeticion
Sentencias de RepeticionSentencias de Repeticion
Sentencias de Repeticion
Kenyi Figueroa
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
anar26
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De Flujo
Emilio Aviles Avila
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
Jdcaste
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
Abrirllave
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
41 Php. Bucles For
41 Php. Bucles For41 Php. Bucles For
41 Php. Bucles For
José M. Padilla
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
Richard Robalino
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
Jesús Mendoza González
 
Estructuras decision
Estructuras decisionEstructuras decision
Estructuras decision
Jose Guadalupe Noh Noh
 
Introduccion matlab
Introduccion matlabIntroduccion matlab
Introduccion matlab
grupo6eda
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
Edgar Galvez
 
PHP
PHPPHP
Guiaunidad iii
Guiaunidad iiiGuiaunidad iii
Guiaunidad iii
mayral
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
Rommel Lòpez
 
Manual
ManualManual
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
Alcira Ordóñez Rey
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
yance1
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
Sohar Carr
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
Jerry
 

La actualidad más candente (20)

Sentencias de Repeticion
Sentencias de RepeticionSentencias de Repeticion
Sentencias de Repeticion
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De Flujo
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
41 Php. Bucles For
41 Php. Bucles For41 Php. Bucles For
41 Php. Bucles For
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
 
Estructuras decision
Estructuras decisionEstructuras decision
Estructuras decision
 
Introduccion matlab
Introduccion matlabIntroduccion matlab
Introduccion matlab
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
 
PHP
PHPPHP
PHP
 
Guiaunidad iii
Guiaunidad iiiGuiaunidad iii
Guiaunidad iii
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
 
Manual
ManualManual
Manual
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 

Similar a Apunte pseudocodigo bucles y arrays v1.1

VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++
Yesenia Amaguaya
 
Formulas de excel
Formulas de excelFormulas de excel
Formulas de excel
carlita86mc
 
Formulas de excel
Formulas de excelFormulas de excel
Formulas de excel
bhylenia
 
P3si
P3siP3si
P3si
SoudFrom
 
Mathlab tutorial
Mathlab tutorialMathlab tutorial
Mathlab tutorial
rommel_xavier
 
Manual de c
Manual de cManual de c
Manual de c
Estudiantes ISI_UCA
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
Jyoc X
 
Investigacion trabajo
Investigacion trabajoInvestigacion trabajo
Investigacion trabajo
Jakeline Llanos
 
Python03
Python03Python03
Python03
Victor Pando
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
Kathy Granizo
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
Kathy Granizo
 
Arrays en VB 6.0
Arrays en VB 6.0Arrays en VB 6.0
Arrays en VB 6.0
Kurtz Ledezma
 
Excel
ExcelExcel
Excel
jessi0594
 
Arrays C++
Arrays C++Arrays C++
Arrays C++
Roger8a
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
lordFABEX
 
Arreglos y matrices c++
Arreglos y matrices c++Arreglos y matrices c++
Arreglos y matrices c++
José Rocha Ramirez
 
APUNTES DE MATHLAB.pdf
APUNTES DE MATHLAB.pdfAPUNTES DE MATHLAB.pdf
APUNTES DE MATHLAB.pdf
ArthurJoseLluenRamir
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
Jitle Noriega
 
Manual de Excel
Manual de ExcelManual de Excel
Manual de Excel
maluna3
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
Jefferson Sarmiento
 

Similar a Apunte pseudocodigo bucles y arrays v1.1 (20)

VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++
 
Formulas de excel
Formulas de excelFormulas de excel
Formulas de excel
 
Formulas de excel
Formulas de excelFormulas de excel
Formulas de excel
 
P3si
P3siP3si
P3si
 
Mathlab tutorial
Mathlab tutorialMathlab tutorial
Mathlab tutorial
 
Manual de c
Manual de cManual de c
Manual de c
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
 
Investigacion trabajo
Investigacion trabajoInvestigacion trabajo
Investigacion trabajo
 
Python03
Python03Python03
Python03
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Arrays en VB 6.0
Arrays en VB 6.0Arrays en VB 6.0
Arrays en VB 6.0
 
Excel
ExcelExcel
Excel
 
Arrays C++
Arrays C++Arrays C++
Arrays C++
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Arreglos y matrices c++
Arreglos y matrices c++Arreglos y matrices c++
Arreglos y matrices c++
 
APUNTES DE MATHLAB.pdf
APUNTES DE MATHLAB.pdfAPUNTES DE MATHLAB.pdf
APUNTES DE MATHLAB.pdf
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
 
Manual de Excel
Manual de ExcelManual de Excel
Manual de Excel
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 

Último

DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (7)

DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Apunte pseudocodigo bucles y arrays v1.1

  • 1. Universidad Nacional de Lomas de Zamora Apunte teórico: Técnicas de Programación – Pseudocódigo: Estructuras repetitivas y arrays. Facultad de Ingeniería Curso 111 Mil Profesor Alejandro Canosa
  • 2. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 2 BUCLES: Un bucle es la repetición de un bloque de instrucciones N veces. El bucle es finito y se ejecuta siempre y cuando se cumpla su condición para trabajar, se pueden encontrar 3 tipos de bucle:  WHILE (Mientras)  DO WHILE (Hacer mientras)  FOR (para) El while es un bloque de código que se ejecuta siempre y cuando se cumpla la condición del mismo, por ejemplo: INICIO Entero numero = 0; MIENTRAS (numero != 10) imprimir (“Ingresa el 10 para salir”) Leer(numero) FIN MIENTRAS imprimir (“Adiós”) FIN Dado que la variable número se inicializa en 0, cumple la condición del bucle (el numero debe ser distinto a 10 para entrar dentro del MIENTRAS), así que se imprime el mensaje y se lee el número que ingresa el usuario, si ese número NO es 10, se repite la misma secuencia, se imprime “Ingresa el 10 para salir” y se lee otro número que ingrese el usuario, esto se repite hasta que sea 10. Cuando ingrese el 10, el bucle deja de repetirse dado que la condición para que se ejecute ya no se cumple, y por último se imprime “Adiós”. Todo este proceso es el mismo para el HACER MIENTRAS y PARA Tener en cuenta que por más que se llegue a romper el bucle pero aún quedan instrucciones dentro del bloque, se van a ejecutar hasta terminar el bucle, es decir, las iteraciones en los bucles son COMPLETAS, a menos que se use lo que en programación se llama BREAK, que sale forzadamente del mismo. Ejemplo: BOOLEAN seguir = VERDADERO; MIENTRAS(seguir == VERDADERO) //el bucle sigue mientras que seguir no cambie
  • 3. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 3 seguir = FALSO //acá ya rompimos el bucle ya que no es VERDADERO, se va a dejar de //repetir imprimir “Por más que seguir sea falso, esto va a aparecer en pantalla” FIN MIENTRAS //una vez que llegamos acá el bloque no se va a repetir más HACER MIENTRAS: El HACER MIENTRAS es casi igual al MIENTRAS con la excepción de que el bloque dentro del mismo se ejecuta 1 vez por más que la condición no se cumpla de entrada, es decir, ejecuta el bloque dentro del mientras al menos 1 vez INICIO ENTERO numero HACER IMPRIMIR(“Ingresa el 10 para salir”) LEER(numero) MIENTRAS(numero !=10) IMPRIMIR(“Adiós”) FIN PARA: El para, a diferencia del MIENTRAS y HACER MIENTRAS, es un bucle que se realiza una cantidad ya previamente definida de veces, mientras que los otros 2 tienen variedad en cuanto a cuantas veces se repiten. Es decir, el PARA por ejemplo, lo usamos cuando tenemos que repetir 5 veces un bloque de instrucciones. La sintaxis del PARA consta de 3 segmentos:  Defino el contador dándole un valor (se puede declarar en el PARA mismo, ver el primer ejemplo de sintaxis debajo)
  • 4. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 4  Defino hasta donde va a llegar mi contador (hasta que número)  Defino si el contador se incrementa o decrementa. Ejemplos de sintaxis: PARA(ENTERO i = 0; i<10; i= i + 1) //acá se declara el índice dentro del PARA PARA(i=0; i<=10; i++) //acá el índice fue previamente declarado PARA(i=100; i>0; i = i – 1) //también puede usarse i— NOTA: recordar que siempre hay que escribir la forma de salir de un bucle, sino se produce un bucle infinito. ARRAY, ARREGLO o VECTOR: Un vector es una serie de datos del mismo tipo contenidos en una fila con un índice numérico determinado (suele ser llamado “i” aquel índice), se puede acceder a cualquier dato del vector gracias al índice, si es que se conoce. Entero ejemplo[3] = {1,2,3} El vector ejemplo contiene 3 números enteros: 1, 2 y 3. Generalmente los vectores tienen una longitud definida (estáticos), aunque hay casos donde pueden expandirse (dinámicos, sin embargo, pueden causar una fuga de memoria, es decir, empieza a consumir toda la memoria RAM gradualmente). No se pueden ingresar valores entre 2 índices contiguos, y no se puede acceder a un índice que supere la longitud del vector (el índice 7 no existe en un vector de 3 elementos, por ejemplo) El índice siempre empieza por 0, es decir, para acceder al primer elemento del vector “ejemplo”: ejemplo[0] Esto nos devolverá el 1 ya que fue el primer elemento que escribimos en el vector. El vector ejemplo se puede ver de esta manera: ejemplo  0 1 2 Sin embargo, los vectores pueden llegar a ser más complejos, el vector de ejemplo que usamos es un vector unidimensional, dado que solo tiene una fila, podemos tener 2 dimensiones, y acá el vector pasa a llamarse matriz: 1 2 3
  • 5. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 5 VECTOR EJEMPLO2 COLUMNA 0 COLUMNA 1 COLUMNA 2 FILA 0 1 2 3 FILA 1 4 5 6 FILA 2 7 8 9 Como se puede ver arriba, la matriz consta de 2 dimensiones (puede haber más en otros casos), entonces, para acceder a los datos dentro de la matriz ejemplo2 debemos ingresar 2 índices: EJEMPLO2[0][0]  1 Para acceder al 1 tengo que poner la fila y columna correspondientes, en este caso 0 y 0 (véase tabla de arriba) Recordar que el último índice de un vector es la longitud – 1 (dado que empieza desde 0). ¿Cómo se recorre un vector? PARA(ENTERO i = 0; i<vector.longitud; i++) //le digo a i que vaya desde 0 hasta la longitud – 1 del vector, es decir, el último índice imprimir vector[i] //imprimo el valor que este dentro del índice que tenga el mismo valor que i //es decir, la primer iteración (o pasada) i=0, entonces se va a mostrar vector[0] FIN PARA EJERCICIOS: Desarrollar el diagrama de flujo y pseudocódigo de los siguientes ejercicios: 1. Escribir un bucle que mientras el usuario no ingrese la ‘S’, le pida que ingrese una letra 2. Escribir un programa que cuente hasta 100. 3. Dado un número ingresado, imprimir la tabla del 2 hasta ese número. 4. Crear un array de 5 elementos y rellenarlo con valores 5. Escribir un programa donde el usuario ingrese la potencia de 2 y que se calcule (ejemplo: para 23 que ingrese el 3). Recordar: 23 = 2 * 2 * 2 6. Recorrer un vector de N elementos y a cada elemento que contenga un valor par, cambiarlo por 0.
  • 6. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 6 7. Escribir un programa donde un alumno ingrese 3 notas, si esas 3 notas son iguales o mayores a 21, indicar que está aprobado, sino, indicar que esta desaprobado (usar array para guardar). 8. En un programa donde yo tengo un vector llamado “datos” de tipo entero de N elementos, recorrerlo y obtener el valor máximo y mínimo del mismo. 9. En una batalla naval, el jugador ingresa la fila y columna de un tablero de 10x10, determinar si es una jugada valida y si hubo impacto (suponiendo que hay una matriz de 10x10 previamente definida de tipo booleano, donde cada posición tiene valor VERDADERO si hay un barco y FALSO sino). 10. En un vector de enteros de n elementos, yo quiero encontrar el número 10, el problema es que 10 puede o no estar dentro del vector, recorrer la lista, indicar si se encontró el vector con un flag (variable booleana) y en base a eso imprimir si se encontró o no dicho número. 11. Corregir el siguiente pseudocodigo , explicar debajo porque se realizan tales correcciones INICIO DIVISION ENTERO divisor REAL cociente ENTERO dividendo BOOLEANO terminar = FALSO; MIENTRAS(terminar == FALSO) imprimir “Ingresar divisor” imprimir “Ingresar dividendo” leer(dividendo) SI(divisor == 0) entonces imprimir “No se puede dividir por 0” FIN SI cociente = dividendo/divisor FIN MIENTRAS FIN