Republica bolivariana de Venezuela. Ministerio del Poder Popular para la educación. E.T.C. Raimundo Andueza Palacio. Barinas, Edo Barinas.
Estructura de control Selectiva Profesora:
Alumno: Eduardo Rodriguez
Moraima Albarran
C.I: 29.885.591
Desarrollar expresiones lógicas: De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar dos tipos de operadores:
• Relacionales • Lógicos Un operador relacional se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena).
Ejemplo 1: Algunos ejemplos son: 22 > 13 (comparación de dos expresiones aritméticas) 22.5 < 3.44 (comparación de dos expresiones aritméticas) verdadero = falso (comparación de dos expresiones lógicas) 'c' > 'f' (comparación de dos expresiones de carácter) "coche" = "Coche" (comparación de dos expresiones de cadena)
Proporcionan los valores: verdadero (22 es mayor que 13) falso (22.5 no es menor que 3.44) falso (verdadero no es igual que falso) falso ('c' no es mayor que 'f') falso ("coche" no es igual que "Coche")
Las comparaciones entre los valores de tipo numérico son obvias. En cuanto a los valores de tipo lógico (verdadero y falso) se considera que falso es menor que verdadero. En lo que respecta a los valores de tipo carácter, su orden viene dado por el ASCII extendido utilizado por el ordenador para representarlos. Y en el caso de los valores de tipo cadena, también se tiene en cuenta dicho código.
Características de control selectivas
Estructuras Básicas de Control.
Nos ayudan a resolver algorítmicamente problemas más complejos. Con ellas es posible tomar decisiones y repetir grupos de acciones. Para la redacción de un pseudocódigo se pueden utilizar tres tipos de estructuras de control las: Selectivas, Secuenciales, Repetitivas. Estructura Selectivas. Se utilizan para tomar decisiones lógicas, se evalúa una condición y en función al resultado se realiza una determinada secuencia de instrucciones. Estas estructuras se clasifican en: Simple, Dobles, Múltiples. Estructura Selectiva Simple: Se identifican porque están compuestos únicamente de una condición. La estructura si-entonces evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa no se hace nada. Su sintaxis es la siguiente en pseudocódigo: Español Si
Entonces Fin
_
si
Ingles if hen
S1 rel="nofollow">
Estructura Selectiva Doble: Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Su sintaxis es la siguiente en pseudocódigo: Español Si entonces
S1 rel="nofollow"> S2>
Ingles if then
S1
rel="nofollow"> S2>
Estructura Selectiva Múltiple: Aplicando la estructura de decisión múltiples se evaluara una expresión que podrá tomar n valores distintos, 1, 2, 3,…., n y según que elija uno de estos valores en la condición, se realizara una de las n acciones o lo que es igual, el flujo del algoritmo seguirá solo un determinado camino ente los n posibles. Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutara la acción 2, si toma el valor n realizara la acción n. Su sintaxis es la siguiente: Español En caso (variable) hacer Caso 1: Acción 1 Caso2: Caso En Fin_caso
Acción Acción
2 N contrario:Acción
1:
Acción
1
2:
Acción
2
N: caso
Ingles switch (selector) { case break; case
break; case break; default: break; }
n:
Acción
n Excepción;
EJERCICIOS Programa que me exprese el mayor de dos números. Inicio Entero a=0; b=0; Escribir ("Ingrese el primer número“); Leer a; Escribir (“Ingrese el segundo número“); Leer b; Si a > b entonces Escribir ("El número mayor es: “a); Si_no Escribir "El número mayor es: “b); Fin_si Fin Realizar un algoritmo que lea un número que represente el día de la semana y diga que día es. Inicio Entero día=0; Escribir“Elija un número"; Escribir " 1: Lunes "; Escribir " 2: Martes”; Escribir“ 3: Miércoles”; Escribir“ 4: Jueves”; Escribir“ 5: Viernes”; Escribir“Ingrese día”
Leer día; En caso (día) hacer Escribir (‘Lunes’); Escribir (‘Martes’); Escribir (‘Miércoles’); Escribir (‘Jueves’); Escribir (‘Viernes’);
Aplicar las estruturas algorítmicas en los problemas selectivos
El proceso de resoluci´on de problemas en un ordenador conduce a la escritura de un programa y su ejecuci´on. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma: 1. Analizar el problema consiste en conocer perfectamente en qu´e consiste y qu´e resultados se desean obtener. 2. Planificaci´on de la resoluci´on del problema, dividi´endolo, si es complicado, en una secuencia de etapas m´as simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo lo m´as claramente posible la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producir´ıan en salida, los algoritmos (ver la Secci´on 5.2) que se utilizar´an, etc. 3. Edici´on del c´odigo fuente, es decir, escritura del mismo utilizando un editor de textos simple (sin formato) y un lenguaje de programaci´on. Los programas fuente ser´an almacenados en ficheros de texto, normalmente en el disco duro del ordenador. 4. Compilaci´on y ejecuci´on del programa al lenguaje m´aquina. 5. Correcci´on de errores del programa. Los errores se corregir´an en el c´odigo fuente, repitiendo los pasos 3 y 4 tantas veces como sea necesario. Si se producen errores en la l´ogica del programa, es
decir, si el programa “funciona” pero produce resultados incorrectos, hay que modificar el algoritmo volviendo al paso 2. Estos errores son los m´as dif´ıciles de detectar. 6. Documentaci´on. Una vez que el programa funcione correctamente, es conveniente revisar el c´odigo fuente para ordenarlos, eliminar c´alculos innecesarios e incluir las l´ıneas de comentario necesarias, que normalmente deben incluir unas breves explicaciones al principio del c´odigo sobre la finalidad del programa y sus argumentos de entrada y de salida. 5.2 Algoritmos Un ordenador es capaz de realizar “s´olo” determinadas acciones sencillas, tales como sumar, comparar o transferir datos, pero los problemas que normalmente interesa resolver son m´as complejos. Para resolver un problema real es necesario, en primer lugar, encontrar un m´etodo de resoluci´on y, 31 Algoritmos y estructuras de programaci´on 32 posteriormente, determinar la sucesi´on de acciones sencillas (susceptibles de ser ejecutadas por un ordenador) en que se descompone dicho m´etodo. No todos los m´etodos de soluci´on de un problema pueden ser puestos es pr´actica en un ordenador. Para que un procedimiento pueda ser implantado en un ordenador debe ser: Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados. Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez. Finito: tener un n´umero finito de pasos. Un procedimiento o m´etodo para resolver un problema que cumpla los requisitos anteriores se dice que es un algoritmo. Se puede dar por tanto la siguiente definici´on: Un algoritmo es un m´etodo para resolver un problema mediante una secuencia de pasos bien definidos, ordenados y finitos. Para que se pueda ejecutar el algoritmo es preciso, adem´as, que se disponga de las “herramientas” adecuadas para llevar a cabo cada uno de los pasos. Si no es as´ı, estos deber´an, a su vez, ser descompuestos en una secuencia
(algoritmo) de pasos m´as simples que s´ı se puedan llevar a cabo. Un programa de ordenador es una sucesi´on de ´ordenes que describen un algoritmo, escritas de forma que puedan ser entendidas por el ordenador. En un algoritmo (y por tanto en un programa) se distinguen las siguientes acciones: Entrada: es la informaci´on de partida que necesita el algoritmo para arrancar. Proceso: es el conjunto de todas las operaciones a realizar. Salida: son los resultados obtenidos. Un ejemplo elemental es el Algoritmo 5.1. Algoritmo 5.1 Preparar una taza de t´e. Entrada: tetera, taza, bolsa de t´e Salida: taza de t´e Inicio Tomar la tetera Llenarla de agua Encender el fuego Poner la tetera en el fuego Esperar a que hierva el agua Tomar la bolsa de t´e Introducirla en la tetera Esperar 1 minuto Echar el t´e en la taza Fin Algoritmos y estructuras de programaci´on 33 5.3 Representaci´on de algoritmos Las dos herramientas m´as utilizadas com´unmente para describir algoritmos son: Diagramas de flujo: son representaciones gr´aficas de secuencias de pasos a realizar. Cada operaci´on se representa mediante un s´ımbolo normalizado el Instituto Norteamericano de Normalizaci´on (ANSI - American National Standars Institute). Las l´ıneas de flujo indican el orden de ejecuci´on. Algunos de los s´ımbolos principales se muestran en la Figura 5.1, como son: Inicio/Fin del algoritmo, Lectura/Escritura de datos que el programa necesita o genera (por ejemplo,lectura de datos que se teclean o escritura de datos en un fichero); Proceso conjunto de instrucciones secuenciales; Decisi´on es una bifurcaci´on en el flujo del algoritmo en base a que se verifique o no cierta condici´on (ver la Secci´on 5.5). Los diagramas de flujo suelen ser usados s´olo para representar algoritmos peque˜nos, ya que abarcan mucho espacio. Inicio/Fin Lectura/Escritura Proceso Decisión No Sí Figura 5.1: S´ımbolos en diagramas de flujo. Pseudoc´odigos: describen un algoritmo
de forma similar a un lenguaje de programaci´on pero sin su rigidez, de forma m´as parecida al lenguaje natural. Presentan la ventaja de ser m´as compactos que los diagramas de flujo, m´as f´aciles de escribir para las instrucciones complejas y m´as f´aciles de transferir a un lenguaje de programaci´on. El pseudoc´odigo no est´a regido por ning´un est´andar. En estos apuntes usaremos las palabras LEER/IMPRIMIR para representar las acciones de lectura de datos (el programa recibe datos desde alg´un sitio) y salida de datos (el programa escribe informaci´on en alg´un medio) El Algoritmo 5.2 y la Figura 5.2 muestran respectivamente el pseudoc´odigo y el diagrama de flujo del algoritmo para calcular la altura de una persona en pulgadas y pies a partir de la altura en cent´ımetros introducida por el teclado. Algoritmos y estructuras de programaci´on 34 Algoritmo 5.2 Calcular una altura en pulgadas (1 pulgada=2.54 cm) y pies (1 pie=12 pulgadas), a partir de la altura en cent´ımetros, que se introduce por el teclado. Inicio 1- IMPRIMIR ’Introduce la altura en centimetros: ’ 2LEER: altura 3- CALCULAR pulgadas=altura/2.54 4- CALCULAR pies=pulgadas/12 5- IMPRIMIR ’La altura en pulgadas es: ’, pulgadas 6IMPRIMIR ’La altura en pies es : ’, pies Fin pies=pulgadas/12 pulgadas=altura/2.54 LEER altura ESCRIBIR pulgadas, pies Fin Figura 5.2: Diagrama de flujo para determinar la altura de una persona en pulgadas y pies a partir de la altura en cent´ımetros introducida por el teclado. 5.4 Estructura secuencial Es aquella en la que una acci´on (instrucci´on) sigue a la otra en el orden en el que est´an escritas. Su representaci´on y el diagrama de flujo se muestra en la Figura 5.3. Los Algoritmos 5.1 y 5.2 son ejemplos de algoritmos secuenciales. ... Instrucci´on 1 Instrucci´on 2 Instrucci´on 3 ... Instrucción 2 Instrucción 1 Instrucción 3
1)Expresiones lógicas
Las Expresiones lógicas son aquellas que pueden tomar uno de dos valores, verdadero o falso. La importancia de estas expresiones es la aplicación en las estructuras de control que gobiernan el flujo de un programa. Las expresiones lógicas se forman combinando constantes y variables con operadores lógicos y relacionales 2) Operadores de relación Los operadores relacionales se utilizan para expresar condiciones. (comparación entre dos elementos)
3) orden de evaluación • Son el método fundamental que tiene el programador de expresar computaciones. • Las expresiones están compuestas de operadores, operandos, paréntesis y llamadas a funciones. Los operadores pueden ser: • Unarios: Cuando tan solo tienen un operando. Son operadores prefijos. • Binarios: 2 Operandos. Son operadores infijos. • Ternarios: 3 operandos.
ORDEN DE LA EVALUACIÓN DE LOS OPERADORES. • • • •
El orden en que se evalúan los operandos viene dado por unas reglas: Reglas de procedencia Reglas de asociatividad Uso de paréntesis
EVALUACIÓN DE EXPRESIONES
Toda expresión regresa un valor. Si hay más de un operador, se evalúan primero operadores mayor precedencia, en caso de empate, se aplica regla asociatividad Para evaluar una expresión no hay que hacer nada del otro mundo, pues es bien sencillo. Sólo hay que saber sumar, restar, si un número es mayor que otro Hay tres reglas de prioridad a seguir para evaluar una expresión: • Primero, los paréntesis (si tiene) • Después, seguir el orden de prioridad de operadores • Por último, si aparecen dos o más operadores iguales, se evalúan de izquierda a derecha. Las expresiones son secuencias de constantes y/o variables separadas por operadores válidos. Se puede construir una expresión válida por medio de : 1. Una sola constante o variable, la cual puede estar precedida por un signo + ó – . 2. Una secuencia de términos (constantes, variables, funciones) separados por operadores. Además debe considerarse que: Toda variable utilizada en una expresión debe tener un valor almacenado para que la expresión, al ser evaluada, dé como resultado un valor. Cualquier constante o variable puede ser reemplazada por una llamada a una función. Como en las expresiones matemáticas, una expresión en Pascal se evalúa de acuerdo a la precedencia de operadores
4) variables
En lógica matemática, una variable proposicional (también llamada variable sentencial o letra sentencial) es una variable discreta que puede ser verdadera o falsa. Las variables proposicionales son los bloques de construcción básicos de las fórmulas proposicionales, usadas en lógica proposicional y en lógicas superiores. Las fórmulas en lógica son comúnmente construidas recursivamente a partir de algunas variables proposicionales, algún número de conectivos lógicos, y algunos cuantificadores lógicos. Las variables proposicionales son las fórmulas atómicas de la lógica proposicional. Por ejemplo, en una lógica proposicional dada, se podría definir una fórmula de la siguiente manera: •
Cada variable proposicional es una fórmula.
•
Dada una fórmula X, su negación ¬X es una fórmula.
•
Dadas dos fórmulas X e Y, y un conectivo binario b (como por ejemplo la conjunción ∧), entonces (X b Y) es una fórmula.
De este modo, todas las fórmulas de la lógica proposicional son construidas utilizando variables proposicionales como unidades básicas. Las variables proposicionales son representadas como predicados 0-arios en lógica de primer orden.
5) operadores
lógicos
D proporciona los siguientes operadores lógicos binarios para utilizarlos en sus programas. Los dos primeros operadores son equivalentes a los operadores de ANSI-C correspondientes. Tabla 2–8 Operadores lógicos de D && AND lógico: verdadero (true) si ambos operandos son verdaderos (true) ||
OR lógico: verdadero (true) si uno o los dos operandos son verdaderos (true)
^^
XOR lógico: verdadero (true) si exactamente un operando es verdadero (true)
Normalmente, los operadores lógicos se utilizan con mayor frecuencia para escribir predicados en D. El operador lógico AND realiza una evaluación de cortocircuito: si el operando de la izquierda es falso (false), la expresión de la derecha no se evalúa. El operador lógico OR realiza una evaluación de cortocircuito: si el
operando de la izquierda es verdadero (true), la expresión de la derecha no se evalúa. El operador lógico XOR no provoca ningún cortocircuito: ambos operandos se evalúan siempre. Además de los operadores lógicos binarios, el operador unario ! se puede utilizar para realizar una negación lógica de un único operando: convierte un operando cero en un uno, y un operando distinto a cero en cero. Por convención, los programadores de D utilizan ! cuando trabajan con números enteros que tienen que representar valores booleanos y == 0 cuando trabajan con números enteros no booleanos, aunque ambas expresiones tienen un significado equivalente. Los operadores lógicos se pueden aplicar a operandos de tipo números enteros o punteros. Los operadores lógicos interpretan los operandos de puntero como valores de números enteros sin signo. Al igual que los operadores lógicos y relacionales en D, los operandos son verdaderos (true) si tienen un valor de número entero distinto a cero y falsos (false) si tienen un valor de numero entero cero. 5) La sentencias si….entonces Hasta ahora hemos completado tareas pre-definidas, pero para ser honestos no hemos conseguido hacer nada mejor que lo que hacían aquellas viejas cajas de música que siguen un conjunto de instrucciones hasta el final. Lo que hace a la programación mucho más poderosa son las sentencias condicionales. Esta es la habilidad de probar una variable contra otra variable y actuar de una forma si se cumple una condición o de otra si no se cumple. Ellas son comúnmente llamadas por los programadores como sentencias if. para saver si una condición es Verdadera o Falsa, necesitamos un nuevo tipo de datos: los booleanos. Ellos permiten realizar operaciones lógicas. Una sentencia u operación lógica puede ser evaluada para ser Verdadera o Falsa. Nuestra sentencia condicional se puede entender como sigue: if (la condición resulta Verdadera): entonces hacer esto sólo para ‘Verdadero’ else: de otra forma hacer esto solo para ‘Falso’. La condición puede ser cualquier cosa que sea evaluada como Verdadero o Falso. Comparaciones siempre
retornan Verdadero o Falso, por ejemplo == (igual a), > (mayor que), <(menor que). La parte else es opcional. Si usted no la coloca, nada sucederá si la condición resulta ser ‘Falsa’. 6) sentencia si ….entonces anidada La instrucción SI se utiliza para diseñar estructuras de selección que contengan más de dos alternativas. Una sentencia SI_entonces puede contener otra estructura SI_entonces, y esta a su vez puede contener otra, y así sucesivamente; al mismo tiempo, dentro de cada estructura pueden existir diferentes acciones. 7) Lecturas y escriturade valores logicos
La puntuación sirve para expresar , de una manera correcta la fluidez del discurso, marcando las pautas de la entonación, así como las pausas del sentido a nivel sintáctico • Símil o comparación Exageración o hipérbole • Humanización • Onomatopeya • Metáfora
LECTURA Y ESCRITURA Es el sistema global constituido por elementos naturales y artificiales, en permanente modificación por los seres vivos, o natural que rige o condiciona la existencia o el desarrollo de la vida.
SIGNOS DE PUNTUACIÓN La lectura y la escritura son dos habilidades fundamentales para los seres humanos LECTURA, ESCRITURA Y PENSAMIENTO LÓGICO MATEMÁTICO FIGURAS PLANAS
RECURSOS LITERARIOS Son las que se construyen con líneas rectas o curvas es decir con líneas poligonales cerradas, las cuales comienzan en un punto y terminan en un mismo punto. La lectura nos abre las puertas a la información y formación; nos permite avanzar en conocimientos y saberes y nos ayuda a descubrir cosas asombrosas.
8) Algoritmo con expresiones logicas De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar dos tipos de operadores: • Relacionales • Lógicos Un operador relacional se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena).
Ejemplo 1: Algunos ejemplos son: 22 > 13 (comparación de dos expresiones aritméticas) 22.5 < 3.44 (comparación de dos expresiones aritméticas) verdadero = falso (comparación de dos expresiones lógicas) 'c' > 'f' (comparación de dos expresiones de carácter) "coche" = "Coche" (comparación de dos expresiones de cadena)
Proporcionan los valores: verdadero (22 es mayor que 13) falso (22.5 no es menor que 3.44) falso (verdadero no es igual que falso) falso ('c' no es mayor que 'f') falso ("coche" no es igual que "Coche")
Las comparaciones entre los valores de tipo numérico son obvias. En cuanto a los valores de tipo lógico (verdadero y falso) se considera que falso es menor que verdadero. En lo que respecta a los valores de tipo carácter, su orden viene dado por el ASCII extendido utilizado por el ordenador para representarlos. Y en el caso de los valores de tipo cadena, también se tiene en cuenta dicho código.
10) La sentencia si anidadas con la sentencia en caso de que
condición Una expresión que puede ser evaluada como verdadera o falsa. sentencia1 Sentencia que se ejecutará si condición es evaluada como verdadera. Puede ser cualquier sentencia, incluyendo otras sentenccias if anidadas. Para ejecutar múltiples sentencias, use una sentencia block ({ ... }) para agruparlas. sentencia2 Sentencia que se ejecutará si condición se evalúa como falsa, y exista una cláusula else. Puede ser cualquier sentencia, incluyendo sentencias block y otras sentencias ifanidadas.
Republica bolivariana de Venezuela Ministerio del poder popular para la educación E.T.C. Raimundo Andueza palacio Barinas, Edo Barinas
taller de informatica
Profesora:Moraima Albarran
Alumno:Eduardo Rodriguez C.I: 29.885.591
1)nombres
de tipos de espreciones lógicas:
Expresiones aritméticas: son aquellas que utilizan operadores aritméticos y como operandos tienen datos numéricos Expresiones relacionales: Son las expresiones en las que aparecen los operadores relacionales. El resultado de expresiones relacionales siempre será uno de dos valores posibles, o verdadero o falso. Expresiones lógicas: son aquellas que usan exclusivamente operadores lógicos. El resultado de una expresión lógica siempre es verdadero o falso. El operador Y hará que la expresión sea verdadera sólo y exclusivamente cuando los dos operandos sean verdaderos. Una expresión con el operador O será verdadera cuando alguno de los dos operandos, o los dos, sean verdaderos. El operador NO negará la expresión, es decir, que el resultado final será verdadero cuando el operando sea falso, o viceversa Expresiones alfanuméricas: En las expresiones de carácter no existen operadores y en las expresiones de cadena sólo existe uno, el +,
concatenación, que lo que hace es unir cadenas.
Expresiones
de asignación: Estas expresiones ya las conoces, se utilizan para asignarle valores a las variables o constantes. Tienen dos operandos: el operando de la izquierda del operador será siempre un identificador que corresponderá a una variable o a una constante, mientras que el operando de la derecha del operador puede ser un valor fijo, una variable, una constante o una expresión. Ambos operandos tienen que ser del mismo tipo de dato.
2)que
es control selectivo y sus características
Las estructuras selectivas se utilizan para tomar decisiones (por eso también se llaman estructuras de decisión o alternativas). El mecanismo de acción evalúa una condición, y, a continuación, en función del resultado, se lleva a cabo una opción u otra. Es importante asentar esta idea: el programa está diseñado para evaluar una condición, y actuar en consecuencia, según que la condición sea verdadera o falsa.
Selección simple. Aquí se evalúa una condición y si esta resulta verdadera entonces se ejecuta una o varias instrucciones, es importante cerrar el programa, ya que si no se cumple la condición el programa continúa en la instrucción que sigue.
Selección doble. Lo más frecuenté es encontrar situaciones donde si una condición se cumple se ejecuta un grupo de instrucciones, pero si no se cumple, deben ejecutarse otras. Con esta estructura puede mejorarse el algoritmo del ejemplo anterior, señalando “error” si el usuario ingresa valores incorrectos.
Selección múltiple. Hay programas que nos llevan a considerar alternativas con varias opciones posibles. Hay dos formas de escribir esto en pseucodigo. La primera de ella modifica la estructura de selección doble.
3)cual
es una característica de la estrutura de control
selectivo En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: • De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else) • De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case) • Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While) • Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until) • Ejecutar un grupo de sentencias un número determinado de veces (ForNext) 4) Describa
las estruturas lógicas
Las estructuras lógicas son tres: el concepto, el juicio y el razonamiento. Cuando hablamos de "estructuras lógicas " nos referimos a totalidades o formas del pensamiento que se relacionan entre sí. Un juicio es la estructura lógica formada por conceptos (concepto sujeto, concepto predicado) relacionados mediante nexos (verbo ser o conectivas, por ejemplo: y, o, sin embargo, o bien esto...o bien lo otro, etc.
Los conceptos son representaciones de las cosas, en la interioridad del sujeto. En sentido amplio se lo puede llamar : idea, noción, concepto mental, representación intelectual. Aristóteles diferenció los términos mediante los cuales comunicamos nuestros conceptos o ideas. Los términos categoremáticos son los que tienen significado en sí mismos y hacen referencia a alguna categoría. Los sincategoremáticos son los nexos, que no tienen significado en sí mismos y que necesitan de otros términos para adquirir significado, por ejemplo: de, ante, con, contra, a , etc.
Republica bolivariana de Venezuela Ministerio del poder popular para la educación E.T.C.Rainmundo Andueza Palacio Barinas, Edo Barinas
Estrutura de control repetitivas
Profesora:Moraima Albarran
Alumno:Eduardo Rodriguez C.I:29.885.591
1) Características
de las estruturas de control repetitivas
Las estructuras de control repetitivas, son aquellas que permiten ejecutar un conjunto de instrucciones varias veces, de acuerdo al valor que genere la expresión relacional y/o lógica. Esto significa que una instrucción repetitiva permite saltar a una instrucción anterior para volver a ejecutarla. A las estas estructuras se les conoce también como ciclos o bucles, por su funcionamiento. Existen 3 estructuras repetitivas: •
While
•
Do-while
•
For
Las tres instrucciones tienen el mismo fin, y difieren únicamente en su sintaxis, siendo posible sustituir una solución en la que se utiliza "while", por una en la que se utiliza "do-while" o "for". En los diagramas de flujo, un ciclo se representa de la siguiente manera:
En la imagen se puede observar que las líneas de flujo, indican el orden a seguir y según el valor de la condición, continuará ejectuándose el mismo conjunto de instrucciones o saldrá del ciclo. Entre las tres instrucciones hay pequeñas variaciones de representación gráfica que serán detalladas en la explicación de uso de cada una de ellas. Las estructuras de control repetitivas utilizan dos tipos de variables: Contadores y Acumuladores.
2) Analizar
las técnicas para diseñar algoritmo que utilizan
estruturas de control repetitivas El proceso de resoluci´on de problemas en un ordenador conduce a la escritura de un programa y su ejecuci´on. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma: 1. Analizar el problema consiste en conocer perfectamente en qu´e consiste y qu´e resultados se desean obtener. 2. Planificaci´on de la resoluci´on del problema, dividi´endolo, si es complicado, en una secuencia de etapas m´as simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo lo m´as claramente posible la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producir´ıan en salida, los algoritmos (ver la Secci´on 5.2) que se utilizar´an, etc. 3.
Edici´on del c´odigo fuente, es decir, escritura del mismo utilizando un editor de textos simple (sin formato) y un lenguaje de programaci´on. Los programas fuente ser´an almacenados en ficheros de texto, normalmente en el disco duro del ordenador. 4. Compilaci´on y ejecuci´on del programa al lenguaje m´aquina. 5. Correcci´on de errores del programa. Los errores se corregir´an en el c´odigo fuente, repitiendo los pasos 3 y 4 tantas veces como sea necesario. Si se producen errores en la l´ogica del programa, es decir, si el programa “funciona” pero produce resultados incorrectos, hay que modificar el algoritmo volviendo al paso 2. Estos errores son los m´as dif´ıciles de detectar. 6. Documentaci´on. Una vez que el programa funcione correctamente, es conveniente revisar el c´odigo fuente para ordenarlos, eliminar c´alculos innecesarios e incluir las l´ıneas de comentario necesarias, que normalmente deben incluir unas breves explicaciones al principio del c´odigo sobre la finalidad del programa y sus argumentos de entrada y de salida. 5.2 Algoritmos Un ordenador es capaz de realizar “s´olo” determinadas acciones sencillas, tales como sumar, comparar o transferir datos, pero los problemas que normalmente interesa resolver son m´as complejos. Para resolver un problema real es necesario, en primer lugar, encontrar un m´etodo de resoluci´on y, 31 Algoritmos y estructuras de programaci´on 32 posteriormente, determinar la sucesi´on de acciones sencillas (susceptibles de ser ejecutadas por un ordenador) en que se descompone dicho m´etodo. No todos los m´etodos de soluci´on de un problema pueden ser puestos es pr´actica en un ordenador. Para que un procedimiento pueda ser implantado en un ordenador debe ser: Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados. Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez. Finito: tener un n´umero finito de pasos. Un procedimiento o m´etodo para resolver un problema que cumpla los requisitos anteriores se dice que es un algoritmo. Se puede dar por tanto la siguiente definici´on: Un algoritmo es un m´etodo para resolver un problema mediante una secuencia de pasos bien definidos, ordenados y finitos. Para que se pueda ejecutar el algoritmo es preciso, adem´as, que se disponga de las “herramientas” adecuadas para llevar a cabo cada uno de los pasos. Si no es as´ı, estos deber´an, a su vez, ser descompuestos en una secuencia (algoritmo) de pasos m´as simples que s´ı se puedan llevar a cabo. Un programa de ordenador es una sucesi´on de ´ordenes que describen un algoritmo,
escritas de forma que puedan ser entendidas por el ordenador. En un algoritmo (y por tanto en un programa) se distinguen las siguientes acciones: Entrada: es la informaci´on de partida que necesita el algoritmo para arrancar. Proceso: es el conjunto de todas las operaciones a realizar. Salida: son los resultados obtenidos. Un ejemplo elemental es el Algoritmo 5.1. Algoritmo 5.1 Preparar una taza de t´e. Entrada: tetera, taza, bolsa de t´e Salida: taza de t´e Inicio Tomar la tetera Llenarla de agua Encender el fuego Poner la tetera en el fuego Esperar a que hierva el agua Tomar la bolsa de t´e Introducirla en la tetera Esperar 1 minuto Echar el t´e en la taza
3) Aplicar
las estruturas de control repetitivas en los
problemas algoritmicos Un programa estructurado de manera secuencial es aquel en el que una acción(instrucción) es seguida inmediatamente de otra para su ejecución de tal manera que la salida de una se convierte en la entrada de otra y así sucesivamente hasta finalizar el proceso: 1 Inicio 2 3 4 5 …. 6 7 Fin Estructuras de decisión Las estructuras selectivas o de decisión son utilizadas para tomar decisiones lógicas en el caso que exista un número de posibles alternativas resultantes de una condición. En estas se evalúa la condición, y en función del resultado, se ejecuta una opción u otra.
Estructuras repetitivas Algoritmos creados para repetir una o varias acciones un número finito de veces. Las estructuras que repiten una sentencia de instrucciones un número determinado de veces se denominan bucles y se llama iteracción al hecho de repetir la ejecución de una sentencia de acciones1. Se consideran 3 tipos de estructuras repetitivas: • Mientras (while) • Repetir (repeat) • Desde - para (for) Que es bucle Un bucle o ciclo, en programación, es una secuencia que ejecuta repetidas veces un trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse. Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle do-while. Ejemplos[editar] Código sin utilizar bucles: int var=0; //código que puede ser sustituido por un bucle var = var + 2; //var igual a 2 (puede ser sustituido por var+=2) var = var + 2; //var igual a 4 var = var + 2; //var igual a 6 var = var + 2; //var igual a 8 var = var + 2; //var igual a 10 // fin de código que puede ser sustituido por un bucle
printf("el resultado es %i", var ); características El ciclo for es uno de los más utilizados en programación debido a que permite repetir varias instrucciones (pasos) un cierto número de ocasiones (por ejemplo, 10 veces). Se emplea en el recorrido de vectores, matrices y estructuras, entre otros. Sobre sus características se puede mencionar que: • Siempre se hace uso de una variable (contador) que incrementará su valor automáticamente y ayudará a determinar si se continúa o finaliza el ciclo. • El contador deberá inicializarse con un valor, generalmente 0 ó 1, dependiendo de lo que se esté realizando. • Un ciclo puede contener otro ciclo dentro de sí (a esto se le denomina ciclo anidado). Nunca se debe utilizar el mismo nombre de la variable (contador) en ambos ciclos, pues el programa no podrá determinar cuándo se finaliza el ciclo.
Fucionamientos de bucles El Ciclo for se utiliza para repetir instrucciones un determinado número de veces. Este suele utilizarse cuando se esta seguro en un programa de las veces que se va a repetir una instrucción.
El bucle FOR tiene tres partes La primera es la inicialización. La segunda parte es la condición. Por último tenemos la actualización.
La sintaxis del bucle
for (inicialización;condición;actualización) { sentencias a ejecutar en cada iteración }
Ejemplos: Después del for se colocan las sentencias que queremos que se ejecuten en cada iteración, acotadas entre llaves. var i for (i=0;i<=10;i++) { document.write(i) } En este caso se inicializa la variable i a 0. Como condición para realizar una iteración, se tiene que cumplir que la variable i sea menor o igual que 10. Como actualización se incremetará en 1 la variable i.
Si queremos contar descendentemente del 343 al 10 utilizaríamos este bucle. for (i=343;i>=10;i--) document.write(i) } En este caso decrementamos en una unidad la variable i en cada iteración. Diseño: •
Un bucle o ciclo, en programación, es una sentencia que ejecuta repetidas veces un trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse. Es utilizado para repetir una acción sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, procesos. • 3. Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetir. BUCLES MÁS UTILIZADOS Bucle for: 2.
•
•
• • •
•
•
•
•
Este tipo de bucle es muy útil cuando queremos recorrer un array de valores, u otro tipo de agrupación de valores. 4. Bucle If Seguimos con el bucle IF este tipo de bucle nos es muy útil para ejecutar código a través del cumplimiento de unas condiciones u otras (IF/SI esto se cumple haz esto… ELSE/SI NO si no se cumple haz esto otro). 5. Bucle While Es bastante similar al bucle for. La sintaxis que nos presenta este bucle es muy simplona pero hay que advertir de una cosa, este bucle se tiene que cerrar (haremos especial hincapié en ello) para poder salir del bucle. 6. DISEÑO DE BUCLE El diseño de un Bucle consta de tres partes: 1. Decisión. (Simple o compuesta.) 2. Cuerpo. 3. Salida. Los bucles pueden ser simples o anidados ( ciclos dentro de otros ciclos.) 7. Decisión de un Bucle: Principalmente debe presentar ciertas características: •Uso de expresiones condicionales. •Uso de estructura de decisión. •Uso de estructuras de bucle condicionales. 8. Cuerpo del bucle: Conjunto de instrucciones que se ejecutarán de forma interrumpida mientras se cumpla la condición •Repetir un mismo proceso durante un tiempo determinado. •Repetir una misma condición hasta que el ciclo se haya cumplido. • Cuando la instrucción y la condición a terminado. 9. 1.-Lista encabezada por tamaño Si el programa puede determinar el tamaño número de entrada, podemos utilizar un bucle “repetir n veces” 2.-Preguntar antes de la iteración Consiste en preguntar al usuario, después de cada iteración, si el bucle puede repetir otra vez o no. 3.-Lista terminada con un valor centinela Práctico y a la vez eficiente, lee valores del teclado mediante valores centinela. Existen cuatro métodos utilizados para terminar un bucle: 10. 4.-Agotamiento de la entrada Un método mas frecuente es verificar o comprobar si todas las entradas de un archivo son leídos 10, 4, 5, -12 La suma es 19, y el último número no se añade a la suma ya que es un número negativo 11. Bucles para diseño de suma y producto •Muchas tareas frecuentes implican la lectura de una lista de números y calculan su suma. Si se conoce cuantos números habrá, tal tarea se puede ejecutar fácilmente por el pseudocódigo. 12. Después de añadir el primer número, el valor de suma debe ser ese número, esto es, la primera vez que se ejecute el bucle, el bucle, el valor de suma + siguiente sea igual a siguiente para hacer operación true( verdadero), el valor de suma debe ser inicializado a
0. Si en lugar de suma, se desea realizar productos de una lista de números, la técnica a utilizar productos de una lista de números, la técnica a utilizar es: • 13. Puede ser anidada cuando un bucle puede ser insertado en otro La estructura interna debe estar dentro de la estructura externa
Terminación de bucles Existen varios métodos utilizados normalmente para terminar un bucle: 1. 2. 3. 4. 5. 6.
Anticipar número de iteraciones Preguntar antes de la iteración Terminar con un valor centinela Terminar con una bandera Terminar por condición cumplida Agotamiento de la entrada
Bucles controlados por contador BUCLE CONTROLADO POR CONTADOR Un bucle controlado por contador es un bucle cuyas iteraciones se controlan por una variable, cuyo valor representa a un contador. El mecanismo utilizado es una variable de control del bucle que actúa como contador. Un bucle controlado por contador consta de tres partes, además del cuerpo y de la condición de salida: • Inicialización de la variable de control del bucle • Comprobación del valor de la variable de control del bucle • Incremento del valor de la variable del control del bucle
El formato de este bucle es: • Establecer variable contador a un valor inicial • While variable contador < valor final do Proceso Incrementar variable contador en X veces • End_While Se utiliza un bucle controlado por contador, cuando se conoce con anticipación el número de veces que se va a realizar la acción, es decir cuántas iteraciones se deben ejecutar exactamente. En ese caso decimos que esta estructura trabaja igual que la estructura For. EJEMPLO Elabore pseudocódigo para el caso en que se desean escribir los números del 1 al 100 Begin Var integer: i i=1 While i <=100 do print ( i ) i=i+1 End_While End
BUCLE CONTROLADO POR CONDICIÓN Los bucles controlados por centinela se utilizan cuando no se sabe con anticipación, el número exacto de iteraciones a realizar. Existen dos técnicas para realizar este bucle controlado por condición: • Bucle controlado por el usuario
Este método consiste simplemente en preguntar al usuario si existen más entradas. Se sale del bucle cuando el usuario lo decide. El bucle se realiza mientras haya más entradas, usando una expresión booleana Si/No. Si el usuario no desea continuar repitiendo el bucle, digita N o No, según se haya establecido la condición de respuesta del usuario. • Bucle controlado por un valor centinela. Un centinela es un valor especial utilizado para señalar el final de una lista de datos. El valor elegido debe ser totalmente distinto de los posibles valores de la lista, para que se pueda utilizar para señalar el final de la lista. Es decir que no debe pertenecer al rango de datos válido. EJEMPLO Diseñe un pseudocódigo para calcular la suma y producto de N números enteros, utilizando un bucle controlado por el usuario. Begin Var integer : suma, prod, num char : resp suma = 0 prod = 1 Read ( resp ) While(resp < > ‘ N’) and ( resp < > ‘n’) do Read (num) suma = suma + num prod = prod * num print (“Desea continuar (S / N)?”) read ( resp ) End_While print (“Total de la suma es:” , suma)
print (“Total de producto es:”, prod) End
EJEMPLO Diseñe un pseudocódigo para calcular la suma y producto de N números enteros, utilizando un bucle controlado por centinela. Begin Var integer : suma, prod, num suma ß 0 prod ß 1 read (num) While ( num < > -1) do suma ß suma + num prod ß prod * num read ( num ) End_While print (“Total de la suma es:” , suma) print (“Total de producto es:”, prod) Fin Variables de índices •
1.
Operacionalizaciónde variables - ÍndicesTRABAJO SOCIAL E INVESTIGACIÓN I • 2. Operacionalización de conceptos.Imagen inicialDimensionesIndicadoresFormación de Índices • 3. OperacionalizaciónÍndiceSíntesis de los indicadores Se les asigna un peso y un valorIndicadoresPropiedad manifiesta Puede ser: una pregunta, un dato estadísticoDimensionesEspecificación del
•
•
•
•
•
concepto Aspectos relevantesImagen InicialRepresentación teórica del concepto Definición nominal 4. Operacionalización: consideracionesEntre el indicador y el concepto ha de haber plena correspondenciaLa elección de los indicadores está relacionada con los objetivos deinvestigaciónCada indicador estará asociado al concepto pero ninguno lo explicará demodo completo.Para que se pueda calcular el índice es necesaria una escala común demedición.La relación entre indicador y concepto es de probabilidad 5. Grado de satisfacción de losalumnos con la carrera de TSInfraestructura¿Las aulas sonadecuadas parael número dealumnos?¿El equipamientotécnico esadecuado para eldictado de lasclases?Académica¿Los profesorestienen buenaformaciónacadémica?¿El materialbibliográfico seencuentraactualizado?Operacionalización (ejemplo)DimensionesIndicadores 6. Grado de Satisfacción conla carreraÍndiceFormaciónAcadémicaInfraestructuraBuena Regular MalaBuena A B CRegular B C DMala C D E• Muy satisfechoA• SatisfechoB• Poco satisfechoC• InsatisfechoD• Muy insatisfechoEOperacionalización (ejemplo) 7. Grado de Satisfacción con la carreraIndicadores Si No¿Para Ud., la formación pedagógica de los docentes esadecuada?5 pts 0 pts¿Las aulas de la facultad son cómodas para tomar clases? 5 pts 0 pts¿Los sistemas de inscripción dificultan la selección correcta de lasmaterias?0 pts 5 pts¿Las aulas tienen los elementos tecnológicos para dictar clase? 5 pts 0 pts¿El material teórico es de fácil acceso? 5 pts 0 pts¿En la biblioteca falta material específico de la carrera? 0 pts 5 pts¿Es difícil encontrar a los docentes para consulta? 0 pts 5 pts¿El sistema de correlatividades es demasiado riguroso? 0 pts 5 pts¿Los horarios de clase están ordenados correctamente? 5 pts 0 pts¿Muchas veces los profesores faltan a clase? 0 pts 5 pts 8. Grado de Satisfacción con la carreraIndicadores Si No¿Para Ud., la formación pedagógica de los docentes esadecuada?10 pts 0 pts¿Las aulas de la facultad son cómodas para tomar clases? 5 pts 0 pts¿Los sistemas de inscripción dificultan la selección correcta de lasmaterias?0 pts 5 pts¿Las aulas tienen los elementos tecnológicos para dictar clase? 5 pts 0 pts¿El material teórico es de fácil acceso? 10 pts 0 pts¿En la biblioteca falta material específico de la carrera? 0 pts 10 pts¿Es difícil encontrar a los docentes para consulta? 0 pts 5
• •
•
•
•
•
pts¿El sistema de correlatividades es demasiado riguroso? 0 pts 10 pts¿Los horarios de clase están ordenados correctamente? 5 pts 0 pts¿Muchas veces los profesores faltan a clase? 0 pts 10 pts 9. Grado de Satisfacción con la carrera• Entre 51 y 75 puntosSatisfacciónalta• Entre 26 y 50 puntosSatisfacciónmedia• Entre 0 y 25 puntosSatisfacciónbaja 10. Intercambiabilidad de Índices. ¿Hay un conjunto de indicadoresmás o menos válido para medirdeterminado concepto? No, las muestras de indicadoresque constituyen un índice noclasifican igual, pero relacionadascon una variable externa noencontramos diferencias. 11. Intercambiabilidad de índices (ejemplo)Rendimiento académico (indicadores)1. Cantidad de materias aprobadas por año de permanencia.2. Cantidad de materias regularizadas por año de permanencia.3. Promedio en la carrera.4. Promedio de notas obtenidas en exámenes parciales.5. Participación en congresos y/o jornadas de la especialidad.6. Participación en proyectos de investigación.7. Cantidad de materias promocionadasHipótesis: “A mayor edad de los alumnosuniversitarios, mejor rendimiento académico.” 12. Intercambiabilidad de índices(ejemplo)• (Indicadores 1, 3 y 6)• Materias aprobadas• Promedio• Proyectos de investigaciónÍndice A derendimientoacadémico• (Indicadores 2, 4 y 5)• Materias regularizadas• Promedio de parciales• Congresos y jornadas.Índice B derendimientoacadémico 13. Intercambiabilidad de índices(ejemplo)EdadRendimientoacadémico(Índice B)EdadRendimientoacadémico(Índice A)=Los índices A y B noclasifican igual elrendimientoacadémicoRelacionados conuna variable externa(edad) no se verificavariación se empleeel índice que seemplee. 14. Tareas yRecordatoriosLunes 27 de mayo: entrega tp n°4Semana del 20 al 23 de mayo Entregadel Estado de la Cuestión.Sábado 1° de junio primer parcial –Anf. RojasSábado 8 de junio recuperación –Aula 413Apellidos “A” – “L” (inclusive) de 10 a11 hs.Apellidos “M” a “Z” de 11 a 12 hs.
La sentencia repita para Es usada para ejecutar una instrucción o bloque de instrucciones si la condición es cumplida. Su forma es:
while (< expresión lógica >) { ; } Cuando el de una instrucción repetitiva while, también se le llama condición. Para que se ejecute el , la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el no se ejecuta. Por tanto, cuando el flujo de un programa llega a un bucle while, existen dos posibilidades: • Si la condición se evalúa a falsa, el bloque de instrucciones no se ejecuta, y el bucle while finaliza sin realizar ninguna iteración. • Si la condición se evalúa a verdadera, el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa. Sentencia de repita mientras: Es una estructura de repetición que evalua una expresión lógica, y mientras el resultado sea “cierto” el bloque de instrucciones, enmarcado entre las llaves de la estructura, es ejecutado. ● Si el resultado de la expresión lógica es “falso” el bloque de instrucciones no se ejecuta. Universidad de Los Andes – Facultad de Ingeniería – Escuela de Sistemas – PRI – Prof Gilberto Diaz Repita Mientras ● Si el resultado de la expresión es “falso” la primera vez, entonces el bloque de instrucciones se ejecuta cero veces. ● Si la condición nunca se hace falsa, entonces el lazo se ejecuta de forma infinita. ● Como la expresión se evalua al principio es primordial realizar la inicialización de las variables Universidad de Los Andes – Facultad de Ingeniería – Escuela de Sistemas – PRI – Prof Gilberto Diaz Repita Mientras ● Si no se desea un lazo infinito, se debe tener mucho cuidado en modificar el valor de las variables dentro del lazo. Universidad de Los Andes – Facultad de Ingeniería – Escuela de Sistemas – PRI – Prof Gilberto Diaz Repita Mientras ● Pseudo código repita mientras i < 10 i = i + 1 escribir el valor de i fin repita Universidad de Los Andes – Facultad de Ingeniería – Escuela
Repita Mientras ● Pseudo código int i=0; while ( i < 10){ i++; printf(“%i \n”, i); } Universidad de Los Andes – Facultad de Ingeniería – E
Sentencia repita hasta: Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas 2 Hacer mientras Diagrama de flujo Acciones S1 Sn Pseudocódigo en español Hacer S 1. S n mientras () cierto condición falso Código en C++ do { S 1. S n } while (); 3 Hacer mientras La estructura Hacer-Mientras es una sentencia Repita mientras con la diferencia que evalúa la condición al final del lazo y no al principio. Las sentencias (una o más) del cuerpo del lazo se ejecutan mientras que la condición (expresión lógica) es cierta. Como se pregunta al final por la condición, el lazo se ejecuta una o más veces. Si la condición nunca se hace falsa, el programa entra en un lazo infinito, es decir, las sentencias del cuerpo del lazo se ejecutarán indefinidamente. 4 Ejemplo promediodenotas {pre: numest ℵ} {pos: numest ℵ} contest = 1 contest: Natural. Escribir Introduzca el numero total de estudiantes Contador del número actual Leer numest de estudiantes. repita mientras (contest numest) numest: Natural. Número hacer total de estudiantes Escribir Dame las dos notas del estudiante introducido por el usuario Leer nota1, nota2 nota1, nota2: Real. Notas mientras(0 nota nota2 20) del estudiante para calcular el prom = (nota1 + nota2) / 2 promedio del mismo. Escribir Promedio del estudiante=, prom prom: Real. Promedio de contest = contest + 1 las dos notas suministradas frm por el usuario para el estudiante. numest = 1, nota1 = 10.0, nota2 = > Caso exitoso contest = 1, prom = 10.5 numest = 0 -> contest = 1 Caso exitoso 5 Hacer mientras Las variables que intervienen en la condición pueden INICIARSE antes de la primera ejecución del lazo o durante ésta, ya que la evaluación de la condición se hace al final de la estructura. Hay que estar pendiente de MODIFICAR dentro del cuerpo del lazo los valores de las variables que intervienen en la condición, para garantizar que en algún momento ésta se haga falsa y el lazo pueda terminar su ejecución y así garantizar que el lazo no es infinito.
6 Ejemplo 2 Pseudocódigo en Español hacer Escribir a es mayor mientras( a b) conta=0 hacer conta=conta+1 leer nota Escribir conta, nota mientras(conta 15) Código en C/C++ do { cout << a es mayor\n ; } while(a >= b) conta=0; do { conta++; cin >> nota; cout << conta << nota << endl; } while(nota <= 15) Nota: Siempre se escribe { } en C/C++. 7 Ejemplo 3 Pseudocódigo en Español suma=0.0 Leer x hacer suma = suma + x leer x mientras( x > 0.0) Código en C/C++ suma = 0.0; cin >> x; do { suma += x; cin >> x; } while(x > 0.0) 8 Ejemplo 4 #include void main () { int i = 1; do { cout << i << \n ; i++; } while ( i <= 3 ); cout << Escribe los números 1, 2 y 3 << endl; } Corrida en frío iteración i ( 0 ) 1 ( 1 ) 2 ( 2 ) 3 ( 3 ) 4 9 Imprimir los números del 1 al 10 #include void main () { int num = 0; do { num ++; cout << num << endl; } while (num < 10); } Ejemplo 5 10 Ejercicio 1 Dados n números enteros que se introducirán por teclado, calcular la suma de los números pares, cuántos números pares fueron introducidos y la media aritmética de los números impares dados. Análisis E-P-S Entrada: n números enteros, n ℵ. Proceso: Para cada número se debe - determinar si es par (número mod 2 = 0) - Si es par, se incrementa un contador de pares (CP) y se acumula su valor en el acumulador de pares (AP). - Si es impar, se incrementa un contador de impares (CI) y se acumula su valor en el acumulador de impares (AI). Calcular la media de impares (MI = AI/CI) Salida: suma de los números pares (AP Z), total de números pares (CP ℵ) y media aritmética de los números impares (MI R) 11 Diseño del ejercicio promediodenotas {pre: n ℵ} {pos: cp, n ℵ, ap Ζ, mi R} cp = ci = ap = ai = cn = 0 Escribir Introduzca el numero total de valores Leer n Si ( n > 0) entonces hacer Escribir Dame un valor entero Leer num Si (num mod 2 = 0 ) entonces cp = cp + 1 ap = ap + num sino ci = ci + 1 ai = ai + num fsi cn = cn + 1 mientras(cn n) Si ( ci > 0 ) entonces mi = ai / ci Escribir Pares=, cp, Suma =, ap, media de impares=, mi sino Escribir Pares=, cp, Suma =, ap, No hubo impares fsi cp, ci, cn: Natural. Contadores del número de valores pares, impares y del número de valores dados, respectivamente. ap, ai: Entero. Acumulador para la suma de los valores enteros introducidos por el usuario n: Natural. Número total de
valores dados por el usuario. num: Entero. Valor introducido por el usuario. mi: Real. Promedio de los valores impares. 12 Diseño del ejercicio sino Escribir No hay valores fsi promediodenotas n = 0 -> No hay valores n = 4, num = 3,2,5,7 -> cp = 1, ap = 2, mi = 5.0 n = 5, num = 4,2,8,10,-40 -> cp = 5, ap = -16, No hubo impares Caso exitoso Caso exitoso Caso exitoso 13 Implementación del ejercicio 1 #include void main () { unsigned int n, cp=0, ci=0, cn=0; int num, ap=0, ai=0; float mi; cout << Introduzca el numero total de valores\n ; cin >> n; if(n > 0 ) { do { cout << Dame un valor entero\n ; cin >> num; if(num%2 == 0) { cp++; ap +=num; } 14 Implementación del ejercicio 1 } else else { ci++; ai += num; } cn++; } while ( cn <= n); if(ci > 0 ) { mi = float(ci) / float(ai); cout << Total de pares= << cp << suma de pares= << ap << media de impares= << mi << endl; else Conversión de tipo (casting) cout << Total de pares= << cp << suma de pares= << ap << No hubo impares\n ; cout << No hay valores\n ; 15 Ejercicio 2 Calcular independientemente la suma de los números pares e impares comprendidos entre 1 y n Análisis E-P-S Entrada: Valor de n ℵ. Proceso: Para todos los números comprendidos entre 1 y n: Si número es par sp = sp + número Si número es impar si = si + número Salida: Suma de los números pares (sp ℵ) y suma de los números impares (si ℵ). 16 Diseño del ejercicio sumaparesimpares {pre: n ℵ} {pos: n, sp, si ℵ} hacer Escribir Introduzca el valor de n 1 Leer n mientras ( n < 1) num = 0, sp = 0, si = 0 hacer num = num + 1 si (num mod 2 = 0 ) entonces sp = sp + num sino si = si + num n: Natural. Número máximo para calcular la suma de pares e impares. sp, si: Natural. Suma de los números pares e impares, respectivamente fsi mientras( num n ) Escribir Suma de pares entre 1 y, n, es, sp Escribir Suma de impares es, si n = 1 -> n = 1, sp = 0, si = 1 n = 6 -> n = 6, sp = 12, si = 9 Caso exitoso Caso exitoso 17 Implementación del ejercicio 2 #include void main ( ) { unsigned int n, num = 0, npar = 0, nimpar = 0; do // validación del valor de n { cout << Introduzca un valor entero mayor que cero\ ; cin >> n; } while (n < 1); do { num ++; if (num % 2 ==0) sp += num; else si += num; } while (num < n); cout << Suma de pares entre 1 y << n << es << sp << endl; cout << Suma de impares es << si << endl; }
18 Repita hasta Diagrama de flujo Pseudocódigo en español Acciones S1 Sn Repita S1. S n Hasta () falso condición Código en C++ no existe cierto 19 Repita hasta La estructura Repita Hasta es una sentencia de repeticion que evalúa la condición al final del lazo. Las sentencias (una o más) del cuerpo del lazo se ejecutan hasta que la condición (expresión lógica) es cierta. Las sentencias se ejecutan repetidas veces mientras que la condición es falsa... la repetición se termina cuando la condición se hace verdadera. Como se pregunta al final por la condición, el lazo se ejecuta una o más veces. Si la condición nunca se hace cierta, el programa entra en un lazo infinito, es decir, las sentencias del cuerpo del lazo se ejecutarán indefinidamente. 20 Repita hasta Las variables que intervienen en la condición pueden INICIARSE antes de la primera ejecución del lazo o durante ésta, ya que la evaluación de la condición se hace al final de la estructura. Hay que estar pendientes de MODIFICAR dentro del cuerpo del lazo los valores de las variables que intervienen en la condición, para garantizar que en algún momento ésta se haga falsa y el lazo pueda terminar su ejecución y así garantizar que el lazo no es infinito. 21 Repita hasta Pseudocódigo en Español suma=0.0 Leer x repita suma = suma + x leer x hasta( x 0.0) Código en C/C++ Resaltar la equivalencia con el hacer mientras de C/C++ C/C++ 22 Diseño 2 del ejercicio promediodenotas {pre: n ℵ} {pos: cp, n ℵ, ap Ζ, mi R} cp = ci = ap = ai = cn = 0 Escribir Introduzca el numero total de valores Leer n Si ( n > 0) entonces repita Escribir Dame un valor entero Leer num Si (num mod 2 = 0 ) entonces cp = cp + 1 ap = ap + num sino ci = ci + 1 ai = ai + num fsi cn = cn + 1 hasta(cn n) Si ( ci > 0 ) entonces mi = ai / ci Escribir Pares=, cp, Suma =, ap, media de impares=, mi sino Escribir Pares=, cp, Suma =, ap, No hubo impares fsi cp, ci, cn: Natural. Contadores del número de valores pares, impares y del número de valores dados, respectivamente. ap, ai: Entero. Acumulador para la suma de los valores enteros introducidos por el usuario n: Natural. Número total de valores dados por el usuario. num: Entero. Valor introducido por el usuario. mi: Real. Promedio de los valores impares.
23 Diseño 2 del ejercicio 1 promediodenotas sino Escribir No hay valores fsi n = 0 -> No hay valores n = 4, num = 3,2,5,7 -> cp = 1, ap = 2, mi = 5.0 n = 5, num = 4,2,8,10,-40 -> cp = 5, ap = -16, No hubo impares Caso exitoso Caso exitoso Caso exitoso La codificación en C/C++ debe hacerse con la sentencia hacer-mientras 24 Ejercicios propuestos Para cada uno de los siguientes problemas realizar el análisis E- P-S, algoritmo y codificación. 1. Calcular la suma n, donde n es un valor dado. Validar que n > Para el siguiente par de funciones, encontrar el valor de N tal que f(n) < g(n) y N 0. f(n) = 20 N , g(n) = N 3 + 2N Dado el balance de su cuenta bancaria del mes anterior y todas las transacciones (retiro/depósito, monto) realizadas durante el presente mes, calcular el balance actual. 25 Ejercicios propuestos 4. El 1 de Enero de 1999, el tanque de agua Tulio Febres Cordero contenía litros de agua. La zona a la cual suministra agua este tanque usó 183 litros de agua semanalmente y el tanque no recibió agua en ningún momento. Calcular la cantidad de agua que quedó en el tanque al final de cada semana hasta que no había en el tanque suficiente agua para suplir la zona. 5. Calcular la suma de los cuadrados de los cien primeros números naturales. 26 Ejercicios propuestos 6. Determinar en un conjunto de n números naturales: Cuántos son menores que 15? Cuántos son mayores que 50? Cuántos están en el rango entre 25 y 45? 27 Ejercicios propuestos 7. Determinar qué función realiza el siguiente programa: bool accept; float x; float bajo, alto; do { cout << Introduzca un valor entre ( << bajo << y << alto << ) << endl; cin >> x; if (bajo <= x && x <= alto) accept = cierto; else accept = falso; } while (!accept);
comparacion entre la sentencia repita mientras y la sentencia repita hasta Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas
2 Hacer mientras Diagrama de flujo Acciones S1 Sn Pseudocódigo en español Hacer S 1. S n mientras () cierto condición falso Código en C++ do { S 1. S n } while (); 3 Hacer mientras La estructura Hacer-Mientras es una sentencia Repita mientras con la diferencia que evalúa la condición al final del lazo y no al principio. Las sentencias (una o más) del cuerpo del lazo se ejecutan mientras que la condición (expresión lógica) es cierta. Como se pregunta al final por la condición, el lazo se ejecuta una o más veces. Si la condición nunca se hace falsa, el programa entra en un lazo infinito, es decir, las sentencias del cuerpo del lazo se ejecutarán indefinidamente. 4 Ejemplo promediodenotas {pre: numest ℵ} {pos: numest ℵ} contest = 1 contest: Natural. Escribir Introduzca el numero total de estudiantes Contador del número actual Leer numest de estudiantes. repita mientras (contest numest) numest: Natural. Número hacer total de estudiantes Escribir Dame las dos notas del estudiante introducido por el usuario Leer nota1, nota2 nota1, nota2: Real. Notas mientras(0 nota nota2 20) del estudiante para calcular el prom = (nota1 + nota2) / 2 promedio del mismo. Escribir Promedio del estudiante=, prom prom: Real. Promedio de contest = contest + 1 las dos notas suministradas frm por el usuario para el estudiante. numest = 1, nota1 = 10.0, nota2 = > Caso exitoso contest = 1, prom = 10.5 numest = 0 -> contest = 1 Caso exitoso 5 Hacer mientras Las variables que intervienen en la condición pueden INICIARSE antes de la primera ejecución del lazo o durante ésta, ya que la evaluación de la condición se hace al final de la estructura. Hay que estar pendiente de MODIFICAR dentro del cuerpo del lazo los valores de las variables que intervienen en la condición, para garantizar que en algún momento ésta se haga falsa y el lazo pueda terminar su ejecución y así garantizar que el lazo no es infinito. 6 Ejemplo 2 Pseudocódigo en Español hacer Escribir a es mayor mientras( a b) conta=0 hacer conta=conta+1 leer nota Escribir conta, nota mientras(conta 15) Código en C/C++ do { cout << a es mayor\n ; } while(a >= b) conta=0; do { conta++; cin >> nota; cout << conta << nota << endl; } while(nota <= 15) Nota: Siempre se escribe { } en C/C++.
7 Ejemplo 3 Pseudocódigo en Español suma=0.0 Leer x hacer suma = suma + x leer x mientras( x > 0.0) Código en C/C++ suma = 0.0; cin >> x; do { suma += x; cin >> x; } while(x > 0.0) 8 Ejemplo 4 #include void main () { int i = 1; do { cout << i << \n ; i++; } while ( i <= 3 ); cout << Escribe los números 1, 2 y 3 << endl; } Corrida en frío iteración i ( 0 ) 1 ( 1 ) 2 ( 2 ) 3 ( 3 ) 4 9 Imprimir los números del 1 al 10 #include void main () { int num = 0; do { num ++; cout << num << endl; } while (num < 10); } Ejemplo 5 10 Ejercicio 1 Dados n números enteros que se introducirán por teclado, calcular la suma de los números pares, cuántos números pares fueron introducidos y la media aritmética de los números impares dados. Análisis E-P-S Entrada: n números enteros, n ℵ. Proceso: Para cada número se debe - determinar si es par (número mod 2 = 0) - Si es par, se incrementa un contador de pares (CP) y se acumula su valor en el acumulador de pares (AP). - Si es impar, se incrementa un contador de impares (CI) y se acumula su valor en el acumulador de impares (AI). Calcular la media de impares (MI = AI/CI) Salida: suma de los números pares (AP Z), total de números pares (CP ℵ) y media aritmética de los números impares (MI R) 11 Diseño del ejercicio promediodenotas {pre: n ℵ} {pos: cp, n ℵ, ap Ζ, mi R} cp = ci = ap = ai = cn = 0 Escribir Introduzca el numero total de valores Leer n Si ( n > 0) entonces hacer Escribir Dame un valor entero Leer num Si (num mod 2 = 0 ) entonces cp = cp + 1 ap = ap + num sino ci = ci + 1 ai = ai + num fsi cn = cn + 1 mientras(cn n) Si ( ci > 0 ) entonces mi = ai / ci Escribir Pares=, cp, Suma =, ap, media de impares=, mi sino Escribir Pares=, cp, Suma =, ap, No hubo impares fsi cp, ci, cn: Natural. Contadores del número de valores pares, impares y del número de valores dados, respectivamente. ap, ai: Entero. Acumulador para la suma de los valores enteros introducidos por el usuario n: Natural. Número total de valores dados por el usuario. num: Entero. Valor introducido por el usuario. mi: Real. Promedio de los valores impares. 12 Diseño del ejercicio sino Escribir No hay valores fsi promediodenotas n = 0 -> No hay valores n = 4, num = 3,2,5,7 -> cp = 1, ap = 2, mi = 5.0 n = 5, num = 4,2,8,10,-40 -> cp = 5, ap = -16, No hubo impares Caso exitoso Caso exitoso Caso exitoso
13 Implementación del ejercicio 1 #include void main () { unsigned int n, cp=0, ci=0, cn=0; int num, ap=0, ai=0; float mi; cout << Introduzca el numero total de valores\n ; cin >> n; if(n > 0 ) { do { cout << Dame un valor entero\n ; cin >> num; if(num%2 == 0) { cp++; ap +=num; } 14 Implementación del ejercicio 1 } else else { ci++; ai += num; } cn++; } while ( cn <= n); if(ci > 0 ) { mi = float(ci) / float(ai); cout << Total de pares= << cp << suma de pares= << ap << media de impares= << mi << endl; else Conversión de tipo (casting) cout << Total de pares= << cp << suma de pares= << ap << No hubo impares\n ; cout << No hay valores\n ; 15 Ejercicio 2 Calcular independientemente la suma de los números pares e impares comprendidos entre 1 y n Análisis E-P-S Entrada: Valor de n ℵ. Proceso: Para todos los números comprendidos entre 1 y n: Si número es par sp = sp + número Si número es impar si = si + número Salida: Suma de los números pares (sp ℵ) y suma de los números impares (si ℵ). 16 Diseño del ejercicio sumaparesimpares {pre: n ℵ} {pos: n, sp, si ℵ} hacer Escribir Introduzca el valor de n 1 Leer n mientras ( n < 1) num = 0, sp = 0, si = 0 hacer num = num + 1 si (num mod 2 = 0 ) entonces sp = sp + num sino si = si + num n: Natural. Número máximo para calcular la suma de pares e impares. sp, si: Natural. Suma de los números pares e impares, respectivamente fsi mientras( num n ) Escribir Suma de pares entre 1 y, n, es, sp Escribir Suma de impares es, si n = 1 -> n = 1, sp = 0, si = 1 n = 6 -> n = 6, sp = 12, si = 9 Caso exitoso Caso exitoso 17 Implementación del ejercicio 2 #include void main ( ) { unsigned int n, num = 0, npar = 0, nimpar = 0; do // validación del valor de n { cout << Introduzca un valor entero mayor que cero\ ; cin >> n; } while (n < 1); do { num ++; if (num % 2 ==0) sp += num; else si += num; } while (num < n); cout << Suma de pares entre 1 y << n << es << sp << endl; cout << Suma de impares es << si << endl; } 18 Repita hasta Diagrama de flujo Pseudocódigo en español Acciones S1 Sn Repita S1. S n Hasta () falso condición Código en C++ no existe cierto 19 Repita hasta La estructura Repita Hasta es una sentencia de repeticion que evalúa la condición al final del lazo. Las sentencias (una o más) del cuerpo del lazo se ejecutan hasta que la condición (expresión lógica) es
cierta. Las sentencias se ejecutan repetidas veces mientras que la condición es falsa... la repetición se termina cuando la condición se hace verdadera. Como se pregunta al final por la condición, el lazo se ejecuta una o más veces. Si la condición nunca se hace cierta, el programa entra en un lazo infinito, es decir, las sentencias del cuerpo del lazo se ejecutarán indefinidamente. 20 Repita hasta Las variables que intervienen en la condición pueden INICIARSE antes de la primera ejecución del lazo o durante ésta, ya que la evaluación de la condición se hace al final de la estructura. Hay que estar pendientes de MODIFICAR dentro del cuerpo del lazo los valores de las variables que intervienen en la condición, para garantizar que en algún momento ésta se haga falsa y el lazo pueda terminar su ejecución y así garantizar que el lazo no es infinito. 21 Repita hasta Pseudocódigo en Español suma=0.0 Leer x repita suma = suma + x leer x hasta( x 0.0) Código en C/C++ Resaltar la equivalencia con el hacer mientras de C/C++ C/C++ 22 Diseño 2 del ejercicio promediodenotas {pre: n ℵ} {pos: cp, n ℵ, ap Ζ, mi R} cp = ci = ap = ai = cn = 0 Escribir Introduzca el numero total de valores Leer n Si ( n > 0) entonces repita Escribir Dame un valor entero Leer num Si (num mod 2 = 0 ) entonces cp = cp + 1 ap = ap + num sino ci = ci + 1 ai = ai + num fsi cn = cn + 1 hasta(cn n) Si ( ci > 0 ) entonces mi = ai / ci Escribir Pares=, cp, Suma =, ap, media de impares=, mi sino Escribir Pares=, cp, Suma =, ap, No hubo impares fsi cp, ci, cn: Natural. Contadores del número de valores pares, impares y del número de valores dados, respectivamente. ap, ai: Entero. Acumulador para la suma de los valores enteros introducidos por el usuario n: Natural. Número total de valores dados por el usuario. num: Entero. Valor introducido por el usuario. mi: Real. Promedio de los valores impares. 23 Diseño 2 del ejercicio 1 promediodenotas sino Escribir No hay valores fsi n = 0 -> No hay valores n = 4, num = 3,2,5,7 -> cp = 1, ap = 2, mi = 5.0 n = 5, num = 4,2,8,10,-40 -> cp = 5, ap = -16, No hubo impares Caso exitoso Caso exitoso Caso exitoso La codificación en C/C++ debe hacerse con la sentencia hacer-mientras 24 Ejercicios propuestos Para cada uno de los siguientes problemas realizar el análisis E- P-S, algoritmo y codificación. 1. Calcular la suma n,
donde n es un valor dado. Validar que n > Para el siguiente par de funciones, encontrar el valor de N tal que f(n) < g(n) y N 0. f(n) = 20 N , g(n) = N 3 + 2N Dado el balance de su cuenta bancaria del mes anterior y todas las transacciones (retiro/depósito, monto) realizadas durante el presente mes, calcular el balance actual. 25 Ejercicios propuestos 4. El 1 de Enero de 1999, el tanque de agua Tulio Febres Cordero contenía litros de agua. La zona a la cual suministra agua este tanque usó 183 litros de agua semanalmente y el tanque no recibió agua en ningún momento. Calcular la cantidad de agua que quedó en el tanque al final de cada semana hasta que no había en el tanque suficiente agua para suplir la zona. 5. Calcular la suma de los cuadrados de los cien primeros números naturales. 26 Ejercicios propuestos 6. Determinar en un conjunto de n números naturales: Cuántos son menores que 15? Cuántos son mayores que 50? Cuántos están en el rango entre 25 y 45? 27 Ejercicios propuestos 7. Determinar qué función realiza el siguiente programa: bool accept; float x; float bajo, alto; do { cout << Introduzca un valor entre ( << bajo << y << alto << ) << endl; cin >> x; if (bajo <= x && x <= alto) accept = cierto; else accept = falso; } while (!accept); Bucles anidados: hemos recorrido ya diversos artículos para hablar de bucles. En este momento no debería haber ningún problema para poder crear los distintos tipos de bucles sin problemas, no obstante, queremos dedicar un artículo completo a tratar acerca de uno de los usos más habituales de los bucles, que podremos encontrar cuando estemos haciendo programas más complejos: la anidación de bucles. Anidar un bucle consiste en meter ese bucle dentro de otro. La anidación de bucles es necesaria para hacer determinados procesamientos un poco más complejos que los que hemos visto en los
ejemplos anteriores. Si en vuestra experiencia como programadores los habéis anidado un bucle todavía, tener certeza que más tarde o temprano os encontraréis con esa necesidad. Un bucle anidado tiene una estructura como la que sigue. Vamos a tratar de explicarlo a la vista de estas líneas: for (i=0;i<10;i++){ for (j=0;j<10;j++) { document.write(i + "-" + j) } } La ejecución funcionará de la siguiente manera. Para empezar se inicializa el primer bucle, con lo que la variable i valdrá 0 y a continuación se inicializa el segundo bucle, con lo que la variable j valdrá también 0. En cada iteración se imprime el valor de la variable i, un guión ("-") y el valor de la variable j, como las dos variables valen 0, se imprimirá el texto "0-0" en la página web. Debido al flujo del programa en esquemas de anidación como el que hemos visto, el bucle que está anidado (más hacia dentro) es el que más veces se ejecuta. En este ejemplo, para cada iteración del bucle más externo el bucle anidado se ejecutará por completo una vez, es decir, hará sus 10 iteraciones. En la página web se escribirían estos valores, en la primera iteración del bucle externo y desde el principio: 0-0 0-1 0-2
0-3 0-4 0-5 0-6 0-7 0-8 0-9 Para cada iteración del bucle externo se ejecutarán las 10 iteraciones del bucle interno o anidado. Hemos visto la primera iteración, ahora vamos a ver las siguientes iteraciones del bucle externo. En cada una acumula una unidad en la variable i, con lo que saldrían estos valores. 1-0 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 Y luego estos:
2-0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 Así hasta que se terminen los dos bucles, que sería cuando se alcanzase el valor 9-9. Veamos un ejemplo muy parecido al anterior, aunque un poco más útil. Se trata de imprimir en la página las todas las tablas de multiplicar. Del 1 al 9, es decir, la tabla del 1, la del 2, del 3... for (i=1;i<10;i++){ document.write("
La tabla del " + i + ":
") for (j=1;j<10;j++) { document.write(i + " x " + j + ": ") document.write(i*j) document.write("
") } } Con el primer bucle controlamos la tabla actual y con el segundo bucle la desarrollamos. En el primer bucle escribimos una cabecera, en negrita,
indicando la tabla que estamos escribiendo, primero la del 1 y luego las demás en orden ascendente hasta el 9. Con el segundo bucle escribo cada uno de los valores de cada tabla. Se puede ver el ejemplo en marcha en este enlace. Nota: Veremos más cosas con bucles anidados en capítulos posteriores, aunque si queremos adelantarnos un poco para ver un nuevo ejemplo que afiance estos conocimientos podemos ir viendo un ejemplo en el Taller de Javascript sobre bucles anidados, donde se construye la tabla con todos los colores puros en definiciones de 256 colores. Con este artículo más bien práctico sobre anidación de bucles, terminamos el tema de las estructuras de control. Ahora pasaremos a otra sección de este Manual de Javascript, en la que trataremos sobre las funciones.
Optimización de bucles: El Desenroscado de bucles (conocido en inglés como loop unrolling o Loop unwinding) es una técnica de optimización de bucles que intenta mejorar la velocidad de ejecución de un programa a costa de aumentar su tamaño binario (Situación de compromiso espaciotiempo). Esta transformación puede hacerla manualmente el programador o un Compilador optimizador. El objetivo del desenroscado de bucles es incrementar la velocidad del programa al reducir (o eliminar) instrucciones que controlan el bucle, como aritmética de punteros o la verificación de final de bucle en cada iteración; 1 reduciendo la penalización por ramificación además de “ocultar latencias, en particular, la espera de la lectura de datos de memoria”.2 Para eliminar esta sobrecarga en la computación, los bucles pueden ser re-escritos como una repetición de sentencias similares independientes.3
República bolivariana de Venezuela Ministerio del poder popular para la educación Liceo: Raimundo Andueza Palacio Año: 4 informatica
Taller de las estructuras repititivas
Profesora: Moraima Albaram
1) Que
Alumno:Eduardo Rodriguez
es un software de aplicaciones y sus
características El software es el soporte lógico de un sistema informático. Se trata de la parte intangible de una computadora. Se diferencia del hardware, que es la parte material. El software es una categoría amplia que incluye gran variedad de productos informáticos, desde sistemas operativos hasta la parte intangible de juegos electrónicos o los programas que permiten el funcionamiento de un avión. Las características deseables en un producto de software son: • Corrección: Que cumpla con su objetivo. • Usabilidad: Que sea fácil de aprender. • Seguridad: Que sea resistente a ataques externo. • Flexibilidad: Que pueda ser modificado por los desarrolladores. • Portabilidad: Que pueda ser utilizado en diversos equipos. Sin embargo, no todos los productos de software cumplen con estos requisitos, ya que priorizan uno u otro dependiendo del uso que se le dará. Por ejemplo, el software de un lavarropas no requiere priorizar la seguridad, ya que no protege ningún tipo de información importante. Además: 10 Características del Hardware
Características del software
Índice
• 1. Software de sistema • 2. Software de programación • 3. Software de aplicación • 4. Desarrollo • 5. Lenguajes de programación • 6. Interacción con hardware múltiple • 7. Actualizaciones • 8. Instalación • 9. Software libre • 10. Mantenimiento • •
Software de sistema
El software de sistema es todo aquello que se denomina “sistema operativo”. Entre ellos se encuentran Windows, Mac OS, Ubuntu (entre otras distribuciones de Linux), Unix, Fedora y Solaris, entre otros. El software de sistema es el software principal de un sistema informático y se encarga de gestionar tanto los recursos de hardware como los programas de aplicación. Su ejecución se encuentra privilegiada sobre la del resto del software, ya que todo depende del sistema operativo. Además de los sistemas operativos, se incluye en el software de sistema a los controladores de dispositivo, las herramientas de diagnóstico, corrección y optimización, los servidores y las utilidades.
• Software de programación El software de programación son aquellas aplicaciones y herramientas que utilizan los programadores para desarrollar nuevo software. Entre ellos se encuentran editores de texto, compiladores, intérpretes, enlazadores, depuradores y entornos de desarrollo integrados. Cada una de estas
herramientas de programación puede ser utilizada con uno o más lenguajes de programación (ver punto 5).
• Software de aplicación Se trata de los programas que utilizamos habitualmente para realizar todo tipo de tarea en una computadora. Su función es mucho más específica que la del software de sistema. Entre ellos se encuentran los procesadores de texto (como Word o Bloc de Notas) los editores (como Photoshop o Gimp), las hojas de cálculo (como Excel), los programas de comunicaciones (como Messenger o Whatsapp) y los programas de diseño (como AutoCAD) entre otros. •
Desarrollo
Dado que el software es un soporte lógico y no un objeto, el software no se fabrica sino que se desarrolla. El desarrollador puede ser un programador o bien un equipo o una compañía con varios equipos. Cuando se trata de un equipo, un desarrollador puede ocuparse de la visión general el proyecto y otros a tareas de programación de cada uno de los componentes. Sin embargo, en todos los casos el equipo de desarrolladores debe mantener una constante comunicación para que el software resultante sea funcional a sus objetivos.
• Lenguajes de programación Cada lenguaje de programación está formado por determinados símbolos y reglas sintácticas y semánticas, es decir que para cada lenguaje los símbolos tienen su propia estructura y significado. Un lenguaje de software está formado por • Variable y vectores: Las variables son espacios de memoria, es decir, contenedores de datos. Los vectores son un tipo específico de variables compuestas. • Condicionales: Son las premisas necesarias para que se ejecute el programa. • Blucles: Ejecutan un código constantemente siempre que se cumpla una premisa. • Funciones: Son variables que encierran un código en sí mismas.
• Interacción con hardware múltiple El software permite interactuar con objetos, es decir, con hardware. Actualmente una parte importante de todos los productos de uso habitual incluyen algún tipo de software, no sólo las computadores y los teléfonos, sino también microondas, automóviles, aviones, refrigeradores, televisores, reproductores de música, entre otros. •
Actualizaciones
El software es intrínsecamente evolutivo ya que su uso permite descubrir no sólo fallas sino también potencialidades que requieren un mayor desarrollo. Por eso, todos los programas y sistemas operativos suelen ofrecer upgrades o actualizaciones poco después de haber sido lanzados al mercado. •
Instalación
La instalación es el proceso por el cual un software es integrado al sistema operativo de una computadora. La instalación requiere un tipo específico de configuración que le permita interactuar adecuadamente con otros programas y con el hardware. Existen también instalaciones distribuidas, es decir, el mismo software se instala en varias computadoras al mismo tiempo.
• Software libre Se denomina libre al tipo de software que permite acceso a su código, es decir, a su matriz de funcionamiento y que por lo tanto cualquier usuario puede instalarlo, utilizarlo e incluso modificarlo. El software libre es promovido por un movimiento que se consolidó en 1985 con la fundación de Free Software Foundation, que señala la libertad del usuario informático como un objetivo ético. •
Mantenimiento
Algunos tipos de software requieren un proceso periódico de control, mejora y optimización. Entre estos procesos se incluye la depuración de errores y en algunos casos también las actualizaciones ofrecidas por el
desarrollador. En algunos casos, el mantenimiento incluye el envío de un informe al desarrollador, de forma tal de colaborar con la evolución
2)el estudiante indentifica las herramientas básicas de programación Mientras mueve su mouse sobre los elementos de su panel frontal o diagrama de bloques puede notar que el cursor cambia - esto es una indicación de lo que puede pasar si hace clic en una ubicación particular. Cada uno de estos modos del cursor o herramientas, son explicadas a continuación. Puede crear, modificar y depurar VIs usando las herramientas que proporciona LabVIEW. Una herramienta es un modo de operación especial del cursor del mouse. El modo de operación del cursor corresponde al ícono de la herramienta seleccionada. LabVIEW escoge cuál herramienta se debe seleccionar de acuerdo a la ubicación actual del mouse.
Figura 1. Paleta de Herramientas Puede escoger manualmente la herramienta que necesita al seleccionarla en la paleta Tools. Seleccione View » Tools Palette para mostrar la paleta Tools. Selector Automático de Herramientas El primer elemento en la paleta Tools es el botón Automatic Tool Selection. Cuando selecciona esto, LabVIEW automáticamente escoge una herramienta de acuerdo a la ubicación de su cursor. Puede apagar la
selección automática de herramientas al anular la selección de este elemento y seleccionar otro elemento en la paleta. Si va a comparar las herramientas en LabVIEW con herramientas caseras comunes, las herramientas enlistadas a continuación podrían representar un desarmador, un cuchillo o un sacacorchos y el selector automático de herramientas podría ser un cuchillo Swiss Army, capaz de realizar todas las tareas.
Figura 2. Herramientas Individuales y Selector Automático de Herramientas Regresar al inicio Herramientas Comunes en LabVIEW A continuación se mencionan algunas de las herramientas más comunes que puede encontrar en LabVIEW. Note que cuando el botón de Selección Automática de Herramientas está habilitado, el mouse cambia una de las siguientes herramientas para realizar las tareas más comunes en LabVIEW. Herramienta de Operación
Cuando el cursor del mouse cambia al ícono que se muestra arriba, la herramienta de Operación está en operación. Use la herramienta de Operación para cambiar los valores de un control. Por ejemplo, en la Figura 2, la herramienta de Operación mueve el puntero en la Horizontal Pointer Slide. Cuando el mouse está sobre el puntero, el cursor automáticamente obtiene acceso a la herramienta de Operación.
Figura 3. Usar la Herramienta de Operación La herramienta de Operación es usada generalmente en la ventana del panel frontal, pero también puede usar la herramienta Operativa en la ventana del diagrama de bloques para cambiar el valor de una constante Booleana. Herramienta de Posicionamiento
Cuando el cursor del mouse cambia al ícono que se muestra arriba, la herramienta de Posicionamiento está en operación. Use la herramienta de Posicionamiento para seleccionar o cambiar el tamaño de los objetos. Por ejemplo, en la Figura 3, la herramienta de Posicionamiento selecciona el control numérico Number of Measurements. Después de seleccionar un objeto, puede mover, copiar o eliminar el objeto. Cuando el mouse está sobre el orilla de un objeto, el cursor automáticamente obtiene acceso a la herramienta de Posicionamiento.
Figura 4. Usar la Herramienta de Posicionamiento para Seleccionar un Objeto Si el mouse está sobre un nodo de cambio de tamaño de un objeto, el modo del cursor cambia para mostrarle que puede cambiar el tamaño del objeto, como se muestra en la Figura 4. Note que el cursor está sobre una orilla de la gráfica XY en un nodo de cambio de tamaño y el modo del cursor cambia a una doble flecha. Puede usar la herramienta de posicionamiento en la ventana del panel frontal y del diagrama de bloques.
Figura 5. Usar la Herramienta de Posicionamiento para Cambiar el Tamaño de un Objeto Herramienta de Etiquetado
Cuando el cursor del mouse cambia al ícono que se muestra arriba, la herramienta Etiquetado está en operación. Use la herramienta de Etiquetado para proporcionar el texto en un control, para editar texto y para crear etiquetas. Por ejemplo, en la Figura 5, la herramienta de Etiquetado proporciona el texto en el control numérico Number of Measurements. Cuando el mouse está sobre el interior del control, el cursor automáticamente obtiene acceso a la herramienta de Etiquetado. Haga clic para colocar un cursor dentro del control. Después haga doble clic para seleccionar el texto actual.
Figura 6. Usar la Herramienta de Etiquetado Cuando no está en un área específica de una ventana del panel frontal o ventana del diagrama de bloques que tiene acceso a cierto modo del mouse, el cursor aparece como una cruz. Si la selección automática de herramientas está habilitada, puede dar doble clic en cualquier espacio abierto para tener acceso a la herramienta de Etiquetado y crear una etiqueta. Herramienta de Cableado
Cuando el cursor del mouse cambia al ícono que se muestra arriba, la herramienta de Cableado está en operación. Use la herramienta de Cableado para cablear objetos juntos en el diagrama de bloques. Por ejemplo, en la Figura 6, la herramienta de Cableado cablea la terminal Number of Measurements a la terminal Loop Count del Ciclo For. Cuando el mouse está sobre la salida o entrada de una terminal o sobre un cable, el cursor automáticamente obtiene acceso a la herramienta de Cableado.
Figura 7. Usar la Herramienta de Cableado La herramienta de Cableado funciona principalmente con la ventana del diagrama de bloques y cuando crea un panel conector en la ventana del panel frontal. Otras Herramientas a las que se tiene Acceso desde la Paleta Puede tener acceso a las herramientas de Operación, Posicionamiento, Etiquetado y Cableado directamente desde la paleta Tools, en lugar de usar el modo de Selección Automática de Herramientas. Seleccione View » Tools Palette para tener acceso la paleta Tools.
Figura 8. La Paleta de Herramientas Use la herramienta de Menú de Acceso Directo de Objetos para tener acceso al menú de objetos con el botón izquierdo del mouse. Usted
también puede tener acceso a este menú al dar clic con botón derecho en cualquier objeto en LabVIEW. Use la herramienta de Desplazamiento para desplazarse a través de las ventanas sin usar barras de desplazamiento. Use la herramienta de Breakpoint para establecer puntos de pausa en VIs, funciones, nodos y estructuras para detener la ejecución en esa ubicación. Use la herramienta de Probe para crear puntos de prueba en el diagrama de bloques. También úsela para verificar los valores intermedios en un VI que produce resultados cuestionables o inesperados.
Use la herramienta de Colorear para colorear un objeto. La herramienta de Colorear también muestra las configuraciones actuales de color en primer plano y el fondo. Use la Herramienta de Copiar Color para copiar colores y después pegarlos con la herramienta de Coloreo. Regresar al inicio Menús de Acceso Directo Todos los objetos de LabVIEW tienen asociado menús de acceso directo, también conocidos como menús de contexto, menús emergentes y menús de clic derecho. Al crear un VI, use los elementos del menú de acceso directo para cambiar la apariencia o el comportamiento de los objetos del panel frontal o del diagrama de bloques. Para ver el menú de acceso directo, haga clic con botón derecho en el objeto.
Figura 9. Menú de Acceso Directo para un Medidor Regresar al inicio Ventanas de Propiedades Los objetos en la ventana del panel frontal también tienen ventanas de diálogo de propiedades que usted puede usar para cambiar la apariencia o el comportamiento de los objetos. Haga clic con botón derecho en un objeto y seleccione Properties en el menú de acceso directo para tener acceso a la ventana de diálogo de un objeto. La Figura 9 muestra la ventana de diálogo de propiedades para el medidor que se muestra en la Figura 8. Las opciones en la ventana de propiedades de un objeto son similares a las opciones en el menú de acceso directo de ese objeto.
Figura 10. Ventana de Propiedades para un Medidor Puede seleccionar múltiples objetos en el panel frontal o el diagrama de bloques y editar cualquier propiedad que los objetos compartan. Para seleccionar múltiples objetos, use la herramienta de Ubicación para arrastrar un rectángulo de selección alrededor de todos los objetos que desea editar o mantenga apretada la tecla <Shift> al hacer clic en cada objeto. Haga clic con botón derecho en un objeto y seleccione Properties en el menú de acceso directo para mostrar la ventana de diálogo Properties. La ventana de diálogo Properties solamente muestra secciones y propiedades que comparte el objeto que seleccionó. Seleccione objetos similares para mostrar más secciones o propiedades. Si selecciona objetos que no comparten propiedades comunes, la ventana de diálogo Properties no muestra ninguna sección o propiedad. Regresar al inicio Barras de Herramientas de la Ventana del Panel Frontal Cada ventana tiene una barra de herramientas asociada con ella. Utilice los botones de la barra de herramientas de la ventana del panel frontal
para ejecutar y editar el VI. La siguiente barra de herramientas aparece en la ventana del panel frontal. Haga clic en el botón Run para ejecutar un VI. LabVIEW compila el VI, si es necesario. Puede ejecutar un VI si el botón Run aparece como una flecha en blanco, mostrada a continuación. La flecha blanca también indica que usted puede usar el VI como subVI si crea un panel conector para el VI. Mientras el VI se ejecuta, el botón Run aparece como se muestra arriba si el VI es de alto nivel, lo cual significa que no tiene callers y por consiguiente no es un subVI. Si el VI que se está ejecutando es un subVI, el botón Run aparece como se muestra arriba. El botón Run aparece roto cuando el VI que está creando o editando contiene errores. Si el botón Run aún aparece roto después de que terminó de cablear el diagrama de bloques, el VI está roto y no se puede ejecutar. Haga clic en este botón para mostrar la ventana Error list, la cual enlista todos los errores y advertencias. Haga clic en el botón Run Continuously para ejecutar el VI hasta que usted finalice o detenga la ejecución. También puede hacer clic en el botón otra vez para deshabilitar la ejecución continua. Hasta que el VI se ejecuta, aparece el botón Abort Execution. Haga clic en este botón para detener el VI inmediatamente si no hay otra manera de detener el VI. Si más de uno de los VIs de alto nivel ejecutándose utiliza el VI, el botón está en color tenue. Precaución: El botón Abort Execution detiene al VI inmediatamente, antes que el VI termine la actual iteración. Al detener un VI que utiliza recursos externos, como hardware externo, puede dejar los recursos en un estado desconocido sin restablecerlos o liberarlos adecuadamente. Diseñe VIs con un botón de paro para evitar este problema.
Haga clic en el botón Pause para detener un VI ejecutándose. Cuando hace clic en el botón Pause, LabVIEW resalta en el diagrama de bloques la ubicación donde usted detuvo la ejecución y aparece en rojo el botón Pause. Haga clic en el botón Pause otra vez para continuar ejecutando el VI. Seleccione el menú desplegable Text Settings para cambiar las configuraciones de la fuente para las porciones seleccionadas del VI, incluyendo tamaño, estilo y color. Seleccione el menú desplegable Align Objects para alinear los objetos a lo largo de los ejes, incluyendo vertical, orilla de arriba y así sucesivamente. Seleccione el menú desplegable Distribute Objects para espaciar los objetos uniformemente, incluyendo intervalos, compresión y así sucesivamente. Seleccione el menú desplegable Resize Objects para cambiar el tamaño de múltiples objetos del panel frontal al mismo tamaño. Seleccione el menú desplegable Reorder cuando tiene objetos que se traslapan entre ellos y quiere definir cuál está enfrente o atrás de cada uno. Seleccione uno de los objetos con la herramienta de Posicionamiento y después seleccione entre Move Forward, Move Backward, Move To Front y Move To Back. Seleccione el botón Show Context Help Window para visualizar la ventana de ayuda contextual. Enter Text aparece para recordarle que un nuevo valor está disponible para reemplazar uno viejo. El botón Enter Text desaparece cuando hace clic en él, presiona la tecla <Enter> o hace clic en el área del panel frontal o del diagrama de bloques. Regresar al inicio Barras de Herramientas de la Ventana del Diagrama de Bloques
Haga clic en el botón Clean Up Diagram para enrutar automáticamente todos los cables existentes y para reorganizar los objetos en el diagrama de bloques para generar un diseño más limpio. Para configurar las opciones de limpieza, seleccione Tools»Options para mostrar la ventana de diálogo Options y seleccione Block Diagram: Cleanup desde la lista Category. Los otros botones únicos de la barra de herramientas del diagrama de bloques son usados principalmente para resolver problemas y se habla de ellos en el módulo Herramientas de Depuración. Regresar al inicio Examen del Módulo: Herramientas de Programación Realice un examen corto a continuación para evaluar su conocimiento de los conceptos impartidos en el video Herramientas de Programación de LabVIEW y en la explicación detallada. • El/La ______________ es una manera rápida y eficiente para seleccionar la herramienta adecuada para cada aplicación. Herramienta de Etiquetado Herramienta de Operación Selector Automático de Herramientas Herramienta de Posicionamiento
•
La _________ es usada para modificar el valor de los controles.
Herramienta de Etiquetado Herramienta de Operación Herramienta de Cableado Herramienta de Posicionamiento
• El/La _________ puede ser usada para mover, cambiar el tamaño y eliminar objetos.
Herramienta de Posicionamiento Herramienta de Etiquetado Herramienta de Cableado Selector Automático de Herramientas
• El/La __________ es usada para conectar controles, indicadores, constantes y funciones en el diagrama bloques.
Selector Automático de Herramientas Herramienta de Posicionamiento
Herramienta de Etiquetado Herramienta de Cableado
• Los menús de acceso directo para los objetos de LabVIEW se pueden encontrar al __________ el objeto. Dar doble clic en Dar clic con botón derecho en Seleccionar Resaltar
• La Ventana de Diálogo de Propiedades para cada elemento es usada para cambiar la ____ y el _______ de cada elemento. la Ubicación, el Tamaño la Ubicación, el Color el Comportamiento, la Ubicación la Apariencia, el Comportamiento
• El botón __________ le permite enrutar y cambiar cables y objetos fácilmente en el diagrama de bloques. El atajo para esta función es Ctrl-U.
Clean Up Diagram Distribute Objects Align Objects Reorder 3)describe y reconoce los componetes logicos de un sistema informatico y los tipos de software Se conoce como software1 al soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware. La interacción entre el software y el hardware hace operativo un ordenador (u otro dispositivo), es decir, el Software envía instrucciones que el Hardware ejecuta, haciendo posible su funcionamiento. Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.2 El software en su gran mayoría, está escrito en lenguajes de programación de alto nivel, ya que son más fáciles y eficientes para que los programadores los usen, porque son más cercanos al lenguaje natural respecto del lenguaje de máquina.3 Los lenguajes de alto nivel se traducen a lenguaje de máquina utilizando un compilador o un intérprete, o bien una combinación de ambos. El software también puede estar escrito en lenguaje ensamblador , que es de bajo nivel y tiene una alta correspondencia con las instrucciones de lenguaje máquina; se traduce al lenguaje de la máquina utilizando un ensamblador. El anglicismo software es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.
Índice • 1Etimología • 2Definición de software • 3Clasificación del software • 4Proceso de creación del software • 4.1Modelos de proceso o ciclo de vida • 4.1.1Modelo cascada • 4.1.2Modelos evolutivos • 4.1.2.1Modelo iterativo incremental • 4.1.2.2Modelo espiral • 4.1.2.3Modelo espiral Win & Win • 4.2Etapas en el desarrollo del software • 4.2.1Captura, análisis y especificación de requisitos • 4.2.1.1Procesos, modelado y formas de elicitación de requisitos • 4.2.1.2Clasificación e identificación de requisitos • 4.2.2Diseño del sistema • 4.2.3Codificación del software • 4.2.4Pruebas (unitarias y de integración) • 4.2.5Instalación y paso a producción • 4.2.6Mantenimiento • 5Carácter evolutivo del software • 6Referencias • 7Bibliografía • 7.1Libros • 7.2Artículos y revistas • 8Véase también • 8.1Modelos de ciclo de vida • 9Enlaces externos Etimología
Software (pronunciación AFI:[ˈsɒftwɛəʳ]) es una palabra proveniente del inglés, que en español no posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y así fue admitida por la Real Academia Española (RAE).4 Aunque puede no ser estrictamente lo mismo, suele sustituirse por expresiones tales como programas (informáticos) o aplicaciones (informáticas) o soportes lógicos.5 Software es lo que se denomina producto en ingeniería de software.6 Definición de software Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea la siguiente: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación. Extraído del estándar 729 del IEEE7 Considerando esta definición, el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente, binario o ejecutable; también su documentación, los datos a procesar e incluso la información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo «no físico» relacionado. El término software fue usado por primera vez en este sentido por John W. Tukey en 1957. En la ingeniería de software y las ciencias de la computación, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, «Los números computables», con una aplicación al problema de decisión. Clasificación del software Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres tipos: • Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento
referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimientodel sistema global. Incluye entre otros: • Sistemas operativos • Controladores de dispositivos • Herramientas de diagnóstico • Herramientas de corrección y optimización • Servidores • Utilidades • Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas de informática, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen en forma básica: • Editores de texto • Compiladores • Intérpretes • Enlazadores • Depuradores • Entornos de desarrollo integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). • Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros: • Aplicaciones para Control de sistemas y automatización industrial • Aplicaciones ofimáticas • Software educativo • Software empresarial
• Bases de datos • Telecomunicaciones (por ejemplo Internet y toda su estructura lógica) • Videojuegos • Software médico • Software de cálculo numérico y simbólico. • Software de diseño asistido (CAD) • Software de control numérico (CAM) Proceso de creación del software Artículo principal: Proceso para el desarrollo de software Se define como «proceso» al conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de un producto, en este caso particular, para lograr un producto software que resuelva un problema específico. El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa (por ejemplo, la resolución de una ecuación de segundo orden), éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. Es así que normalmente se dividen en tres categorías según su tamaño (líneas de código) o costo: de «pequeño», «mediano» y «gran porte». Existen varias metodologías para estimarlo, una de las más populares es el sistema COCOMO que provee métodos y un software (programa) que calcula y provee una aproximación de todos los costos de producción en un «proyecto software» (relación horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a lenguaje usado, etc.). Considerando los de gran porte, es necesario realizar complejas tareas, tanto técnicas como de gerencia, una fuerte gestión y análisis diversos (entre otras cosas), la complejidad de ello ha llevado a que desarrolle una ingeniería específica para tratar su estudio y realización: es conocida como ingeniería de Software. En tanto que en los de mediano porte, pequeños equipos de trabajo (incluso un avezado analista-programador solitario) pueden realizar la
tarea. Aunque, siempre en casos de mediano y gran porte (y a veces también en algunos de pequeño porte, según su complejidad), se deben seguir ciertas etapas que son necesarias para la construcción del software. Tales etapas, si bien deben existir, son flexibles en su forma de aplicación, de acuerdo a la metodología o proceso de desarrollo escogido y utilizado por el equipo de desarrollo o por el analista-programador solitario (si fuere el caso). Los «procesos de desarrollo de software» poseen reglas preestablecidas, y deben ser aplicados en la creación del software de mediano y gran porte, ya que en caso contrario lo más seguro es que el proyecto no logre concluir o termine sin cumplir los objetivos previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras). Entre tales «procesos» los hay ágiles o livianos (ejemplo XP), pesados y lentos (ejemplo RUP), y variantes intermedias. Normalmente se aplican de acuerdo al tipo y porte del software a desarrollar, a criterio del líder (si lo hay) del equipo de desarrollo. Algunos de esos procesos son Programación Extrema (en inglés eXtreme Programming o XP), Proceso Unificado de Rational (en inglés Rational Unified Process o RUP), Feature Driven Development (FDD), etc. Cualquiera sea el «proceso» utilizado y aplicado al desarrollo del software (RUP, FDD, XP, etc), y casi independientemente de él, siempre se debe aplicar un «modelo de ciclo de vida».8 Se estima que, del total de proyectos software grandes emprendidos, un 28 % fracasan, un 46 % caen en severas modificaciones que lo retrasan y un 26 % son totalmente exitosos.9 Cuando un proyecto fracasa, rara vez es debido a fallas técnicas, la principal causa de fallos y fracasos es la falta de aplicación de una buena metodología o proceso de desarrollo. Entre otras, una fuerte tendencia, desde hace pocas décadas, es mejorar las metodologías o procesos de desarrollo, o crear nuevas y concientizar a los profesionales de la informática a su utilización adecuada. Normalmente los especialistas en el estudio y desarrollo de estas áreas (metodologías) y afines (tales como modelos y hasta la gestión misma de los proyectos) son los ingenieros en software, es su orientación. Los especialistas en cualquier otra área de desarrollo informático (analista, programador, Lic. en informática, ingeniero en informática, ingeniero de sistemas, etc.) normalmente aplican sus conocimientos especializados pero utilizando modelos, paradigmas y procesos ya elaborados.
Es común para el desarrollo de software de mediano porte que los equipos humanos involucrados apliquen «metodologías propias», normalmente un híbrido de los procesos anteriores y a veces con criterios propios. El proceso de desarrollo puede involucrar numerosas y variadas tareas,8 desde lo administrativo, pasando por lo técnico y hasta la gestión y el gerenciamiento. Pero, casi rigurosamente, siempre se cumplen ciertas etapas mínimas; las que se pueden resumir como sigue: • Captura, elicitación,10 especificación y análisis de requisitos (ERS) • Diseño • Codificación • Pruebas (unitarias y de integración) • Instalación y paso a producción • Mantenimiento En las anteriores etapas pueden variar ligeramente sus nombres, o ser más globales, o contrariamente, ser más refinadas; por ejemplo indicar como una única fase (a los fines documentales e interpretativos) de «análisis y diseño»; o indicar como «implementación» lo que está dicho como «codificación»; pero en rigor, todas existen e incluyen, básicamente, las mismas tareas específicas. En el apartado 4 del presente artículo se brindan mayores detalles de cada una de las etapas indicadas. 4)reconoce cuales son los controladores para cada una de las pc Dado que su plataforma puede tener controladores USB 2.0 y USB 3.0, es útil verificar a qué controlador está conectado el dispositivo USB. Siga estos pasos: • Conecte una unidad flash USB 3.0 (dispositivo de almacenamiento masivo USB) a uno de los puertos Intel USB 3.0.
• En el Administrador de dispositivos, haga clic en Ver y haga clic en Dispositivos por conexión.
• En la vista Dispositivos por conexión puede ver fácilmente el dispositivo de almacenamiento masivo USB en la categoría Intel® USB 3.0 eXtensible Host Controller.
Republica bolivariana de Venezuela Ministerio del poder popular para la educación
E.T.C.Raimundo Andueza Palacios Barinas, Edo Barina
Traducción al oppenOfice write,impress,cell Profesora:Moraima Albarram
Alumno: Eduardo Rodriguez C.I:29.885.591
1)Transcripción de datos
La definición de la RAE indica que transcribir es “copiar en otra parte algo ya escrito”. Aunque al hablar de la transcripción de documentos hablamos de la representación sistemática de una forma oral mediante signos escritos. Dicho en un lenguaje más coloquial, la transcripción es poner un audio por escrito. Por ejemplo, poner una conversación o grabación por escrito.
2)diseños de cartas Una carta informativa es aquella carta o aviso que con la misma redacción, se envían a distintas personas. La industria y el comercio se valen, cada día más, de esta clase de cartas para hacer su propaganda o para dar cuenta de las modificaciones habidas en la dirección u organización de sus negocios. Generalmente, la carta es impresa, y en su impresión suelen emplearse los mismos tipos que existen en la máquina de escribir o ordenador, a fin de comunicarle así la apariencia de una carta corriente. También es frecuente que en su impresión se empleen impresoras multicopia que reproducen infinidad de veces el original manuscrito. Tanto en un caso como el otro, al llenar los huecos correspondientes al nombre y señas del destinatario, deberá emplearse una tipografía común. Con el sobre, se tomarán las mismas precauciones a fin de dar todas las apariencias a la carta informativa de una carta corriente, y , por consiguiente, el hacer que sea recibida con agrado por el destinatario. A estos mismos efectos, cabe recomendar que se cierre el sobre y se reintegre con el franqueo que corresponda a una carta ordinaria, en lugar de ser abierta franqueada como impreso.
3)informe El informe es un documento escrito en prosa informativa (científica, técnica o comercial) con el propósito de comunicar información del nivel más alto en una organización. Por consiguiente, refiere hechos obtenidos o verificados por el autor (reconocimientos, investigaciones, estudios o trabajos). Además, aporta los datos necesarios para una completa
comprensión del caso, explica los métodos empleados y propone o recomienda la mejor solución para el hecho tratado.
4)uso y manejo de los entornos graficos La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface), es un programa informáticoque actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador. Habitualmente las acciones se realizan mediante manipulación directa, para facilitar la interacción del usuario con la computadora. Surge como evolución de las interfaces de línea de comandos que se usaban para operar los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplos de interfaz gráfica de usuario, cabe citar los entornos de escritorio Windows, el X-Window de GNU/Linux o el de Mac OS X, Aqua. En el contexto del proceso de interacción persona-computadora, la interfaz gráfica de usuario es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático.
5)diseños de dipositivos Los diseños de diapositiva contienen cuadros de formato, posicionamiento y marcador de posición para todo el contenido que aparece en una diapositiva. Los marcadores de posición son los contenedores de línea de puntos en los diseños de diapositiva que contienen contenido como títulos, texto de cuerpo, tablas, gráficos, Gráficos SmartArt, imágenes, imágenes prediseñadas, vídeos y sonidos. Los diseños de diapositiva también contienen los colores, las fuentes, los efectos y el fondo (conocido en conjunto como el tema) de una diapositiva.
Figura 1: todos los elementos de diseño que se pueden incluir en una diapositiva PowerPoint PowerPoint incluye diseños de diapositiva integrados y puede modificar estos diseños para adaptarlos a sus necesidades específicas y puede compartir sus diseños personalizados con otras personas que creen presentaciones en PowerPoint.
Figura 2: diseños de diapositiva estándar en PowerPoint, que muestra la ubicación de varios marcadores de posición para texto o gráficos Puede cambiar los diseños de diapositiva estándar que están integrados en PowerPoint en la vista patrónde diapositivas. La
imagen siguiente muestra el patrón de diapositivas y dos de los patrones de diseño de un tema en la vista patrón de diapositivas.
Figura 3: en la vista patrón de diapositivas, en el panel de miniaturas de la izquierda, aparece un patrón de diapositivas en la parte superior, seguido de los patrones de diseño que definen los diseños que puede usar como la diapositiva de título y la diapositiva de título y contenido. Para obtener más información sobre los patrones de diapositivas, vea ¿Qué es un patrón de diapositivas?
¿Dónde puedo encontrar diseños de diapositiva? • Si desea aplicar un diseño de diapositiva definido a una diapositiva determinada, seleccione la diapositiva. A continuación, en la cinta de la barra de
herramientas, seleccione Inicio > Diseño y elija un diseño de la Galería de opciones que aparece.
• Si desea personalizar la definición de un diseño de diapositiva que posteriormente aplicará a las diapositivas individuales, en la cinta de la barra de herramientas, seleccione Ver > patrón de diapositivas. (Esta característica no está disponible en PowerPoint Online ).
Los patrones de diseño aparecen como miniaturas en el panel de miniaturas debajo del patrón de diapositivas. Haga clic en un patrón de diseño en el panel de miniaturas y, a continuación, empiece a personalizar.
6)presentaciones Un programa de presentación es un tipo de software o aplicación informática utilizada principalmente para mostrar o exponer información mediante un conjunto de diapositivas.
Apache OpenOffice Impres
7)trabajo de cell es una arquitectura de microprocesador1 desarrollada conjuntamente por Sony Computer Entertainment, Toshiba, e IBM, en una alianza conocida con el nombre de “STI”.2 El diseño de arquitectura y su primera implementación se llevaron a cabo en el STI Design Center de Austin, Texas, durante un periodo total de cuatro años que comenzó en marzo de 2001, empleando un presupuesto de 400 millones de dólares según IBM.3 Cell es la abreviatura de Cell Broadband Engine Architecture (“arquitectura de motor Cell de banda ancha”), conocida también como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinación de la arquitectura de núcleo PowerPC, de propósito general y medianas prestaciones, con elementos coprocesadores4 en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, así como otras formas de computación dedicada.4 La primera gran aplicación comercial del Cell fue la videoconsola PlayStation 3 de Sony. También podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuración dual, tarjetas aceleradoras PCIExpress y adaptadores de televisión de alta definición. Características únicas como el subsistema de memoria XDR de RAMBUS y el bus de interconexión de elementos (Element Interconnect Bus, EIB)5 parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputación, donde se sacaría provecho de la habilidad del
procesador para manejar núcleos de coma flotante. IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansión en sus mainframes IBM System z9, para que de este modo puedan ser empleados como servidores en juegos de rol multijugador online masivos (MMORPGs).6 En noviembre de 2006, David A. Bader, del Instituto Tecnológico de Georgia fue escogido por Sony, Toshiba e IBM de entre más de una docena de universidades para dirigir el primer Centro STI de expertos para el procesador Cell (STI Center of Competence for the Cell Processor).789 Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell.78 Existe un vídeo tutorial sobre cómo programar el Cell a disposición del público.10 8)formatos El formato de texto es el marcado que se aplica a un texto plano para añadirle datos de estilo más allá de la semántica de los elementos: colores, estilos (negrita, itálica), tamaño, y características especiales (como hipervínculos). Al texto resultante se le conoce como texto formateado, texto con estilos, o texto enriquecido
9)llenado de planillas En cada sala de proceso habrá un encargado dellenar un registro según la tarea asignada. Elllenado de datos debe ser totalmente transparente, cumplir con los horarios de llenado de datos. después del termino del turno el encargado deberá cerrar planilla. 10)copiar pegar cortar
Las acciones de “cortar, copiar y pegar”, más específicamente “copiar y pegar” o “cortar y pegar”, en el uso cotidiano de las computadoras personales, son instrucciones generadas en la interacción humano-interfaz para la transferencia de textos, datos, archivos u objetos desde un lugar de origen al de destino. El uso más aceptado y generalizado de estos comandos se da en los entornos de los editores de texto siendo una herramienta fundamental para componer y reorganizar todo tipo de escritos. Los términos provienen de la tradicional práctica manuscrita donde literalmente los textos se componían a base de cortar o copiar diferentes fragmentos para más tarde pegarlos o insertarlos en una nueva ubicación. Esta, fue una práctica habitual hasta bien avanzada la década de 1960 a raíz del uso de los tiposen imprenta. La acción cortar remueve de su lugar de origen la información seleccionada mientras que al copiar se crea un duplicado de estos datos. En ambos casos, la información se guarda en un software de almacenamiento de corta duración, donde permanece hasta que se inserte en un nuevo destino mediante la acción pegar. Los nombres de estos comandos son una metáfora de la interfaz, creada en base al procedimiento físico de la edición en el diseño gráfico de una página de papel. El objetivo de esta herramienta es acelerar la manera de expresar algo en forma escrita y también visual, pues podemos "copiar y pegar" el fragmento de un texto o una imagen, de esta manera la información circula para poder ser reelaborada y crear una producción propia. Debido a que la información disponible tiene un autor se recomienda hacer una lectura previa antes de ser utilizada y posteriormente se aconseja hacer la cita correspondiente.