0% encontró este documento útil (0 votos)
364 vistas44 páginas

JAVASCRIPT

El documento describe los conceptos básicos de los algoritmos, incluyendo su estructura, variables, operadores, instrucciones de entrada y salida, y estructuras de control condicionales. Explica qué es un algoritmo, sus componentes, tipos de variables, operadores aritméticos y relacionales, y cómo usar condiciones if simples para controlar la ejecución de instrucciones basadas en el cumplimiento de condiciones.

Cargado por

David Fuentes
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
364 vistas44 páginas

JAVASCRIPT

El documento describe los conceptos básicos de los algoritmos, incluyendo su estructura, variables, operadores, instrucciones de entrada y salida, y estructuras de control condicionales. Explica qué es un algoritmo, sus componentes, tipos de variables, operadores aritméticos y relacionales, y cómo usar condiciones if simples para controlar la ejecución de instrucciones basadas en el cumplimiento de condiciones.

Cargado por

David Fuentes
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 44

ALGORITMOS

CONTENIDO
INTRODUCCION ESTRUCTURA DE UN ALGORITMO ESTRUCTURS DE CONTROL CONDICIONALES COMENTARIOS INSTRUCCIN DE SALTO (vaya_a) CONTADORES ACUMULADORES ESTRUCTURS DE CONTROL CONDICIONALES REPETITIVAS

Que es un algoritmo?
Secuencia de pasos o instrucciones, realizados en un orden determinado, con un fin claramente definido

Hombre ejecuta algoritmos constantemente Cajero automtico Ir a clase Lenguaje algortmico, permite plasmar claramente los pasos o instrucciones

Lenguaje algortmico (sencillo, formal, transicin)


Javascript: Lenguaje interpretado embebido en una pgina web HTML.

Estructura de un algoritmo Que hay?


<script type=text/javascript >
Instrucciones ejecutables Instrucciones no ejecutables Entrada de datos Procesamiento de datos Presentacin de resultados Los algoritmos son sensibles Tiene significado especial dentro a minsculas / maysculas. del algoritmo yDELIMITADORES por lo tanto su uso es restringido. No implican ejecucin de accin alguna. Uso obligatorio Palabras reservadas

</script>

Estructura de un algoritmo
Tiene significado especial dentro del <html> algoritmo y por lo tanto su uso es <head> restringido. </head> <body> <a href=http://www.escuelaing.edu.co>ECI</a> <script type="text/javascript"> DELIMITADORES document.write('Hola Mundo'); </script> <input type="button" id="send" value="Trx" /> </body> </html> Cuerpo del algoritmo

Palabras reversadas
Palabras propias del lenguaje

Palabras reservadas script var

Variables
Lugares de memoria donde se pueden almacenar datos
Caracterstica de las variables

Nombre
Tipo

Referencia a un espacio de memoria especfico. Representativo al contenido.


entero real Naturaleza del dato carcter Cadena de caracteres

Contenido

Dato almacenado

Una variable existe si tiene asignado un espacio de memoria

Declaracin de variables
Antes de cualquier instruccin ejecutable

Instrucciones declarativas No ejecutables (no afectan


contenido de variables, solo reserva memoria)

Cadena_de caracter

Palabras reservadas NO pueden ser utilizadas como nombres de variables.

var tipo lista_de_variables


real entero

Declaracin de variables
Al ejecutar este algoritmo se genera

Ej:

<html> <head> </head> <body> <script type="text/javascript"> var nombre, edad, altura, casado, genero; nombre='FRANCISCO'; edad=10; altura=1.80; casado=true; genero='M' ; </script> </body> </html>

A la variable no se le ha definido tipo ni valor basura

ENTORNO DE MEMORIA

Se solicita espacio en memoria para cinco variables.

Variable nombre edad altura casado genero

Tipo ? ? ? ? ?

Contenido ? ? ? ? ?

El tipo de variable es de acurdo con el valor asignado.

Instruccin de asignacin

Instruccin de asignacin
nombre = x edad = 8

Tipo de variable
caracter caracter

Observacin sobre la instruccin


Es vlida e implica el cambio del contenido de la variable nombre por el carcter . Es vlida e implica el cambio del contenido de la variable edad por el carcter 8.

Permite cambiar el contenido de una variable x


edad = x caracter

Operaciones aritmticas solo con variables numricas


Es vlida siempre y cuando la variable exista y sea de tipo carcter. Implica el cambio del contenido de la variable edad por el contenido
de la variable .

pais = Colombia campeon

cadena_de 20

Es vlida e implica el cambio del contenido de la variable pais por la cadena de caracteres

Colombia campeon
valor = 3 saldo = b cadena_de 10 cadena_de 12 Es vlida e implica el cambio del contenido de la variable valor por la cadena de caracteres 3. Es vlida siempre y cuando la variable exista y sea de tipo cadena de caracteres. Implica el cambio del contenido de la variable saldo por el contenido de la variable

b.

Instruccin de asignacin

Variables numricas a=5 5=a a == 5 5 != a a=d

Entorno de memoria para Inicializar una variable


significa definir su contenido (con instrucciones de asignacin)

Contenido de la variable a es cambiado por el contenido de la variable d

a=8 d=a

a=8 d=d+a

Operadores aritmticos
Suma
Resta Multiplicacin

+
*

variable

Constante Variable Expresin

Divisin

Ej: Sumar los nmeros 7 y 20


<html> <head> <title> SUMAR DOS NUMEROS </title> </head> <body> <script type="text/javascript"> var resultado ; resultado = 7 + 20 ; </script> </body> </html>

Entorno de memoria Terminacin anormal de un algoritmo aborto Otra forma de hacer el algoritmo

Operaciones entre enteros y reales


Tener presente tanto la operacin como los tipos de los operandos (entero / real)
1 --- = 0.5 2 Instruccin Operandos n1 res = n1 + n2 entero n2 entero La parte decimal se indica con punto (.) Resultado res entero Para la divisin, si los operandos son enteros, se trunca la parte decimal (1/2=0) Observaciones

res = n1 - n2
res = n1 * n2 res = n1 / n2

entero
real real

real
entero real

real
real real

Operaciones entre enteros y reales


Supngase que las variables op1 y op2 son enteras y que op3 es real.

Instruccin

Operandos op1 op2 op3


7 13.8

Resultado res
-2.8 102

Observaciones

res = op1+op2-op3

Por lo menos uno de los operandos es real, por lo tanto el resultado es un real

res = op1/op2 + 101

Como op1 y op2 son enteras, op1/op2 da 1 y no 1.5


Aunque op1 es entero op1/2.0 da 2.5, por que 2.0 es una constante real Como op2 es una variable entera y 3 es una constante entera, op2/3 da un entero.

res = op3*2 op1/2.0

1.5
res = op1 + op2/3 17 14

21

Ejercicios

Instrucciones de entrada o salida


Generalizar suma_de_7_y_20
Usuario vs. Computador (usuario hace los requerimientos y se beneficia del algoritmo)

Instrucciones de i/o
Instruccin de entrada
document.write( a, b, c );

Instruccin de salida

document.write(grupo 1 de SPPC );
Permite la comunicacin del usuario con la mquina. Consiste en almacenar en una variable el ( valor document.write edad:, suministrado por el usuario. Una lectura implica una asignacin.

prompt

document.write
Permite la comunicacin de la mquina con el usuario.

a);

variable=prompt( ',' ) ;
20 = prompt( ingrese nombre, ) ; ?

document.write( a, b, c ); document.write( sppc-1 ); document.write( edad:, a );

1. Sumar dos nmeros.

Prueba de escritorio
Ejecucin de un algoritmo es hacer las veces de mquina Su efecto se refleja en la pantalla y en el entorno de memoria.
<html> <head> <title> SUMAR DOS NUMEROS </title> </head> <body> <script type="text/javascript"> var num1,num2,suma document.write( 'Suma de dos numeros cualesquiera ) ; document.write( Por favor dame el primer nmero. ); num1 = prompt( Numero 1 ) ; document.write( Por favor dame el segundo nmero. ); num1 = prompt( Numero 1 ) ; Suma = num1 + num2 document.write( num1,'+',num2,'=',suma ) ; document.write( 'Suma de dos numeros finalizada' ) ;

Qu pasa si el usuario ingresa un valor real en lugar de uno entero? PRUEBA DE ESCRITORIO Cmo seria la versin de esta solucin para nmeros reales?, y si ingresa nmeros Instruccin Efecto enteros? Cmo condicionar el algoritmo a suma de Tipo Cont dos nmeros enterosVar positivos? El espacio de memoria Suma de dos reservado para Necesitamos la forma de condicionar lalas13 num1 entero ? el Por favor dame el Porvariables favor dame num1, num2 y nmeros 13 + -4 = 9 realizacin de la suma. suma quedan libres segundo nmero num2 entero ? -4 finalizada primer nmero
Para establecer relacin entre los operandos suma relacionales entero 9 ? necesitamos los operadores . Para exigir que la condicin ser positivo sea satisfecha por ambos operandos se requiere de los conectores lgicos.

</script> </body> </html>

Operadores relacionales
Permiten establecer relaciones entre los operandos.
CONDICIONES

Operador

Descripcin

== >
< != >= <=

Igual que Mayor que


Menor que Diferente de Mayor o igual que Menor o igual que

Conectores lgicos
Permiten la creacin de condiciones compuestas

&&, ||
Condicin simple Condicin num1 sea mayor que cero num2 sea mayor que cero Restringir la suma a operandos positivos Expresin num1 > 0 num2 > 0 num1 > 0 && num2 > 0 Condicin simple

Necesitamos una nos permita preguntar si la condicin se satisface.

Condicin compuesta herramienta que

Estructuras de control condicionales


Permite que la realizacin de una o ms acciones este sujeta a la satisfaccin/cumplimiento de una o ms condiciones

Estructuras de control condicional NO REPETITIVA

Estructuras de control condicional REPETITIVA

Estructuras de control condicional NO repetitiva if simple


Se utiliza cuando el cumplimiento de la condicin o de las condiciones implica la ejecucin de una sola instruccin. Por que al cumplirse la condicin la
instruccin se ejecuta una y solo una vez

if ( condicin o condiciones ) instruccin


Evaluacin e dos o ms condiciones conectadas con y o con if ( k >0) c1 c2 c1 y c2 c1 c2 document.write( k,es un nmero positivo. ) ; F F F F F F V V

V
V

F
V

F
V

V
V

Ejercicios
Construya la condicin o las condiciones que permitan evaluar si: El valor de la variable m est entre -2 y 10. (m -2 &6 m 10 ) El valor de la variable m es un nmero par que pertenece al intervalo (c,d]. ( (m/2)*2 = m && (m > c && m d) ) El valor de la variable m debe ser 2 veces el valor de la variable n si el valor de n es negativo. Si n es positivo, m debe ser 10 veces el valor de n. ( (m=2*n && n < 0) || (m=10*n && n>0) )

Estructuras de control condicional NO repetitiva if simple


<script type=text/javascrpt > var num1,num2,suma; document.write( Suma de dos nmeros cualesquiera ); document.write( Por favor dame el primer nmero. ); num1 = prompt( priemr numero ) ;

<script type=text/javascrpt > var num1,num2,suma; document.write( Suma de dos nmeros positivos cualesquiera ); document.write(Por favor dame el primer nmero. ); num1 = prompt( primer numero ); document.write(Por favor dame el segundo nmero. ); num2 = prompt( segundo numero );

document.write( Por favor dame el segundo nmero. ); num2 = prompt( segundo numero ) ;
suma = num1 + num2 document.write( num1,+,num2,=,suma); document.write( Suma de dos nmeros finalizada ); </script>

if ( num1 > 0 && num2 > 0 ) if ( num1 > 0 && num2 > 0 )
document.write(suma,=,num1,+,num2 ); document.write(Suma de dos nmeros finalizada ); </script> suma = num1 + num2;

Estructuras de control condicional NO repetitiva if de bloque


Se utiliza cuando el cumplimiento de la condicin o de las condiciones implica la ejecucin de una o ms instrucciones.

if ( condicin o condiciones ) {

Estructuras de control condicional NO repetitiva if de bloque


<script type=text/javascrpt> var num1,num2,suma; document.write( Suma de dos numeros positivos cualesquiera ); num1 = prompt( Por favor dame el primer numero. ); num2 = prompt( Por favor dame el segundo numero. );

if ( num1 > 0 && num2 > 0 ) { }


suma = num1 + num2; document.write(suma,=,num1,+,num2 );

document.write(Suma de dos nmeros finalizada ); </script>

Estructuras de control condicional NO repetitiva if de bloque


suma_dos_numeros_enteros_positivos <script type=text/javascript> var num1,num2,suma, resp, nombre ; if ( num1 > 0 && num2 > 0 ) { suma = num1 + num2 document.write( suma,=,num1,+,num2 ) ; } if ( num1 0 || num2 0 ) document.write( Uno o los dos nmeros es(son) negativo(s) o cero ) ; document.write( nombre,, hasta luego. ) ; document.write( Tarea finalizada. ) ; } if ( resp s && resp S ) { escriba Bueno ser en otra ocasin. } </script> document.write( nombre,, por favor dame el segundo nmero. ) ; num2 = prompt( Numero ) ;

document.write( Suma de dos nmeros positivos cualesquiera Deseas intentarlo (s:si, cualquier otro caracter: no) ) ; resp = prompt ( Continuar ) ;
if ( resp = s || resp = S ) { document.write( Cual es tu nombre? ) ; nombre = prompt( Nombre ) ; document.write( nombre,, por favor dame el primer nmero. ) ; num1 = prompt( Numero1 ) ;

Estructuras de control condicional NO repetitiva if de bloque con opcin else


Permite ordenar la ejecucin de una o ms instrucciones en caso de que la condicin no se cumpla.
Si SI se cumple la if ( condicin o condiciones ) { condicin

} else {

Solo se ejecuta uno de los dos Si NO se cumple la condicin

Estructuras de control condicional NO repetitiva if de bloque con opcin else


<script type=text/javascript > } var num1,num2,suma, resp, nombre ; resp = prompt( Suma de dos nmeros positivos cualesquiera Deseas intentarlo (s:si, cualquier otro caracter: no) ) ; if ( resp = s || resp = S ) { nombre = prompt( Cual es tu nombre? ) ; num1 = prompt( nombre,, por favor dame el primer nmero. ) ; num1 = prompt( nombre,, por favor dame el segundo nmero. ) ; if ( num1 > 0 && num2 > 0 ) { suma = num1 + num2 document.write( suma,=,num1,+,num2 ) ; } else { document.write( nombre,, hasta luego. ) ; document.write( Tarea finalizada. ) ; document.write( Alguno de los nmero es a cero.) ;

} else { document.write( Bueno ser en otra ocasin. ) ; }


</script>

Estructuras de control condicional NO repetitiva if de bloque con opcin else


if ( ) {
if ( ) { if ( ) }

if ( ) { if ( ) {

if ( ) instruccin
} else {

} else { } if ( ) instruccin if ( ) {

}
} else { } } }

COMENTARIOS
Anotaciones que se hacen en el algoritmo con el fin de documentarlo o hacer aclaraciones sobre partes complejas del mismo.

//
Directorio de variables: Descripcin del uso que se le da a cada variable dentro del algoritmo.
<script type=text/javascript> // Suma de dos nmeros var num1,num2,suma ; // Directorio de variables // num1: primer nmero // num2: segundo nmero // suma: resultado de num1 + num2 dcoment.write( Suma de dos nmeros positivos cualesquiera ) ; num1=prompt(primer numero ) ; // primer nmero num2 = prompt(segundo numero ) ; // segundo nmero // Verifica que los dos nmeros sean positivos, // para realizar la suma y escribir el resultado. if ( num1 > 0 && num2 > 0 ) { suma = num1 + num2 document.write( suma,=,num1,+,num2) ; } document.write( Suma de dos nmeros finalizada); </script>

COMENTARIOS

<script type=text/javascript> // escriba Que hace este algoritmo

</script>

Estructuras de control condicionales repetitivas

Permiten alterar la secuencia de ejecucin del algoritmo. Son repetitivas por que al cumplirse la condicin, su cuerpo de instrucciones se ejecutar automticamente hasta que la evaluacin de la condicin deje de ser verdadera. A cada ejecucin del cuerpo de la estructura de control condicional repetitiva se le llama Iteracin.

Estructuras de control condicionales repetitivas while (mientras que)


Permite ordenar la ejecucin de una o ms instrucciones en caso de que la condicin se cumpla.
Verdadera

while ( condicin o condiciones ) {


Caulquier instruccin. Recomendaciones:

Variables de control

No utilizar instrucciones CICLO: que modifiquen aquellas variables utilizadas en la Posibilidad de condicin (cicloejecutar infinito). una serie

de instrucciones ms de una vez.

Ejercicios
Pedir nmeros a un usuario hasta que el nmero dado sea negativo.
<script type=text/javascript> // Nmeros negativos var num; // Directorio de variables // num: nmero a ser analizado document.write( Digite nmeros hasta que ingresar negativo ) ; num = 0; while ( num >= 0 ) { document.write( Por favor dame un nmero. ) ; num = prompt(numero ) ; // cualquier nmero } document.write( Ingresaste el nmero negativo, num ) ; </script>

Ejercicios
(Contador y Acumulador)
1. 2. 3. 4. Imprimir por pantalla los nmeros del 1 al 100. Imprimir por pantalla los nmeros pares del 1 al 100. Imprimir por pantalla la suma de los nmeros del 1 al 100. Calcular la edad y la matrcula promedio para n estudiantes. <script type=text/javascript> var num; 1ro. Inicializacin
de la variable de control document.write( Serie de numeros del 1 al 100 );

num = 1;

2do. Condicin

while( num <= 100 ) {

document.write( num + ); num = num + 1; 3ro. Manejo de la variable_de_control

document.write(FIN ); </script>

Ejercicios
1. Para n nmeros ingresados por el usuario diga:
Cuantos son pares Cuantos son impares Valor de la sumatorio de los nmeros pares Valor de la sumatoria de los nmeros impares

2. Calcular iterativamente la suma 1+2+3+ ...+n, donde n es un valor dado. Validar que n > 1. 3. Para el siguiente par de funciones, encontrar el valor de N tal que f(N) > g(N):
f(N) = 20*N + 100 g(N) = N + 2*N + 17

Ejercicios
4. 5. 6. 7. 8. Dada una cantidad de nmeros n, decir cuanto nmeros son mayores que cero y cuantos son menores que cero. Decir cuantas veces el usuario ingresa la frase Hola Mundo. Escribir por pantalla la palabra SPPC1 tantas veces como el usuario lo desee. Dada una cantidad de nmeros n, calcular su suma y su media aritmtica. Haga prueba de escritorio al siguiente algoritmo:
ejercicio_8 empiece entero cont,lim

lim 10 cont 1 mq ( cont < lim ) haga escriba cont cont cont + 1 lim lim + 1 fin_mq escriba Valor de cont: , cont escriba Fin del ejercicio 8 pare termine

Ejercicios
9. De n nmeros dados, sumar los que son menores que un nmero dado y multiplicar los que sean mayores o iguales a ese valor dado. 10. Averiguar la longitud y la cantidad de vocales que hay en un texto que finaliza con el caracter asterisco (*). 11. Construya un algoritmo que pida los lmites de un intervalo y escriba los nmeros reales que pertenecen a el, de 0.1 en 0.1. 12. Construya un algoritmo que genere una secuencia de nmeros como la que se muestra en el ejemplo, de acuerdo con el valor de un entero positivo ingresado por el usuario. Ej 1:
Valor entero suministrado por el usuario: 4 Resultado: 1 2 2 3 3 3 4 4 4 4 Valor entero suministrado por el usuario: 5 Resultado: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

Ej 2:

Ejercicios
13. Generar la tabla de multiplicar que el usuario desee. El multiplicador deber variar desde 0 hasta 9. 14. Generar las tablas de multiplicar del 1 al h, donde h > 0 y el multiplicador va de 0 a 9. 15. Escriba un algoritmo que genere la siguiente secuencia de nmeros enteros : Valor dado por el usuario: 5 1335555777777779999999999999999 El valor entero positivo es el nico dato que el usuario tiene que suministrar. 16. Escriba un algoritmo que genere la siguiente secuencia de nmeros enteros : Valor dado por el usuario: 4 1 4 4 9 9 9 16 16 16 16 El valor entero positivo es el nico dato que el usuario tiene que suministrar. 17. Hacer un algoritmo que genere los primeros 11 trminos de la serie de Fibonacci. 18. Obtener el resultado de las siguientes operaciones sin utilizar los operadores de multiplicacin y divisin.
m/n m*n

Estructuras de control condicionales repetitivas 1ro. Inicializacin for

for( expr1 ; expr2 ; expr3 ) {

3ro. Se incrementa en 1 la variable_de_control CICLO:

Posibilidad de ejecutar una serie 2do. Condicin implcitade instrucciones ms de una vez. variable_de_control valor_final

expr1: Se evala incondicionalmente una vez al principio del bucle. expr2: Se evala al principio de cada interaccin, si se evala como TRUE, el bucle continua, y se ejecutan las instrucciones que conforman el cuerpo del for. Si se evala como FALSE, la ejecucin de las instrucciones del cuerpo del for termina. expr3: Se ejecuta al final de cada iteracin.

Estructuras de control condicionales repetitivas for


Ejemplos
for( i=1 ; i <= 5 ; i=i+1 ) { document.write( Colombia ) ; } num = 1 ; for( i=1 ; i<=4 ; i=i+1 ) { document.write( num ) ; num = num + 1 ; } for( i=-7 ; i < -1 ; i=i+1 ) { document.write( i ) ; } for( i=5 ; i < 1 ; i=i+1 ) { document.write( i ) ; }

Escriba los nmeros impares del 1 al 100 (utilizando estructura para)

Escriba los nmeros impares del 1 al 100 (utilizando estructura while)

Quiz
Generar las tablas de multiplicar del 1 al 9, donde laprimera tabla que se debe mostrar es la que el usuario desee. NOTA: El multiplicador deber variar desde 0 hasta 9. Ej: Nmero dado por el usuario n=5 La primera tabla debe ser la del 5, seguida por las tablas del 1, 2, 3, 4, 6, 7, 8 y 9

5X0 5x1 ... 5x9

1x0 1x1 ... 1x9

2x0 2x1 ... 2x9

3x0 3x1 ... 3x9

4x0 4x1 ... 4x9

6x0 6x1 ... 6x9

7x0 7x1 ... 7x9

8x0 8x1 ... 8x9

9x0 9x1 ... 9x9

Ejercicios
Pruebas de escritorio <script type=text/javascript> var cont, num ; num = 3 ; cont = 15 ; while( cont >= 2 ) { document.write( num ) ; num = num + 3 ; cont = cont 7 ; } </script> 1. 2. Qu hace el algoritmo? Valor final de las variables num y cont? <script type=text/javascript> var cont ; for( cont=1 ; cont<=100 ; cont=cont+1 ) { document.write( Quien mal anda, mal acaba. ) ; } </script> 1. 2. Que hace el algritmo? Valor final de la variable cont?

Ejercicios
Pruebas de escritorio <script type=text/javascript> var x, m ; x=3; for( m=2+x ; m <= 10 ; m=m+2 9 { document.write( m 9 ; } </script> 1. 2. Que hace el algoritmo? Valor final de las variables x y m? Pedir un nmero entero positivo n a un usuario y hacer lo sgte: Si el nmero es par, que escriba los nmeros de 1 a n asi: n = 10 1 10 2 9 3 8 4 7 5 6 Si el nmero es impar, que escriba los nmeros de 1 a n asi: n=7 49 25 9 1

Quiz

Hacer un algoritmo que simule el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un da desde las 00:00:00 horas hasta las 23:59:59 horas Hacer prueba de escritorio.

También podría gustarte