fundamentos de programacion unidad 3
TRANSCRIPT
III. Herramientas de programación.
Para la representación de algoritmos se debe utilizar algún método que permita la
independización del lenguaje de programación elegido para su ejecución. Para conseguir
este objetivo se precisa que el algoritmo sea representado gráficamente o
numéricamente. Los métodos más utilizados para la representación de algoritmos son:
Diagramas de Flujo
Diagrama NassiSchneiderman (NS)
Lenguaje de especificación de algoritmos (Pseudocódigo)
III.1. Simbología
Diagramas de Flujo
EL diagrama de flujo (Flowchart) es una de las técnicas de representación de algoritmos
más antigua y a la vez más utilizada. Un diagrama de flujo (DF) es un diagrama que utiliza
cajas y líneas que indican el flujo de la información.
Símbolo Función
Inicio/Fin. Comienzo y último símbolo de los diagramas de flujos.
Entrada. Se especifican los datos de entrada del algoritmo.
Símbolo Función
Salida. Se especifican los datos de salida del algoritmo.
Proceso. Se especifica cualquier tipo de operación expresión matemáticas (calculo, almacenamiento, transferencia)
Conector. Enlaza diferentes partes del diagrama de flujo
Fechas. Indican el flujo de datos en el algoritmo
Diagrama NassiSchneiderman (NS)
El diagrama NS también conocido como diagrama Chapin, es semejante al DF pero sin
flechas de dirección, por lo cual utiliza un rectángulo para representar los pasos del
algoritmo.
Inicio
Acción 1
Acción 2
...
Acción n
Fin
Pseudocódigo
Esta técnica es una combinación entre lenguaje natural y lenguaje de alto nivel.
Inicio
Acción 1
Acción 2
…
Acción n
Fin
III.2. Reglas para la construcción de diagramas
Diagramas de Flujo
Los diagramas de flujo comienzan con el símbolo de inicio/fin
indicando el comienzo del diagrama:
Y terminan con el símbolo de inicio/fin indicando el término
del diagrama:
Entre los símbolos de inicio/fin se ponen las acciones
(asignación, proceso, entrada, salida, etc.) que forman parte
del diagrama.
, , , etc.
Diagrama NassiSchneiderman (NS)
Para este tipo de diagrama se utiliza un rectángulo, en el cual comienza con la leyenda
Inicio y termina con la leyenda Fin. Entre estos dos recuadros de desarrolla el contenido
del algoritmo.
Inicio
Fin
Acción 1
Acción 2
...
Acción n
Inicio
Fin
Definición del problema: Obtenga la superficie y la longitud de un circulo.
Análisis:
Entrada: Radio
Salida: Superficie, Longitud
Algoritmo: Una vez obtenido el radio, calcular:
y
Diagrama de Flujo Diagrama NS
Inicio
Acción 1
Acción 2
...
Acción n
Fin
Inicio
Fin
Superficie= π *Radio^2
Longitud=2*π *Radio
LeerRadio
Superficie, Longitud
Inicio
Leer Radio
Superficie=π *Radio^2
Longitud=2*π *Radio
Imprimir
Superficie, Longitud
Fin
III.3. Pseudocódigo
En este tipo de representación se comienza con la leyenda Inicio y termina con Fin y entre
los términos de comienzo y terminación se escribe el desarrollo del algoritmo.
Inicio
Leer Radio
Superficie= *Radio^2
Longitud=2* *Radio
Imprimir Superficie, Longitud
Fin
Ejercicios:
1. Calcule el salario neto de un trabajador a partir de la lectura del nombre, horas
trabajadas, precio por hora y el cálculo de impuesto son el 25% del salario bruto
(horas trabajadas por precio por hora). Como resultado final imprima el nombre,
salario bruto, impuestos y salario neto.
2. Obtenga la superficie de un triangulo
3. Obtenga el total a pagar aplicando un descuento del 5%.
4. Obtenga los valores de X1 y X2 para resolver ecuaciones de segundo grado:
5. De los valores a y b, obtenga cuantas veces cabe el valor b en el valor a.
6. Obtenga la suma de los números del 1 al 100.
7. Elabore un algoritmo que lea dos valores y los intercambie.
Estructura selectivas
Las estructuras selectivas se utilizan para forma decisiones lógicas. En las estructuras se
evalúa una condición y en función del resultado se puede realizar una acción u otra.
Estructuras selectivas simples
Diagrama de Flujo Diagrama NS
Pseudocódigo
Si Condición
Acción 1 Fin Si
1. La tienda “Artículos de Limpieza S.A. de C.V.” realiza un descuento del 5% a todas
las compras mayores a 2500.00 pesos. Elabore un algoritmo que resuelva este
problema.
2. La empresa “Electrónica Digital” desea un programa que determine si una persona
es solvente económicamente en base a los ingresos y los gastos; si los ingresos
son mayores a los gastos la persona es solvente. Elabore un algoritmo que
resuelva este problema.
3. En la clínica “Salud Eterna” desean un programa que determine si una persona
esta enferma en base a su temperatura corporal; si la temperatura corporal es
mayor a 36.5 el programa debe mandar un mensaje que diga “Enfermo”.
Estructuras selectivas dobles
Diagrama de Flujo Diagrama NS
Condición
Acción 1
Verdadero Falso
Acción 1
Condición
FalsoVerdadero
Condición
Acción 1
Verdadero Falso
Acción 2
Acción 1
Condición
FalsoVerdadero
Acción 2
Pseudocódigo
Si Condición
Acción 1 En otro caso
Acción 2 Fin Si
4. Escriba un algoritmo que calcule el total a pagar en una tienda departamental, si la
compra excede de 15,000 pesos se concede un descuento del 10%, en caso
contrario el descuento es del 5%.
5. Elabora un algoritmo que en base a dos números imprima el mayor.
6. Elabore un algoritmo que en base a tres números imprima el mayor.
7. Elabore un algoritmo que en base a cuatro números, los imprima en forma
descendente.
Estructuras de selección múltiple
En la vida se presentan problemas en los cuales presentan más de dos alternativas como
posibilidades y eso se soluciona con estructuras de selección múltiple.
Diagrama de Flujo
Diagrama NS
Selector
Acción 1 Acción nAcción 2 Acción OC
1 2n
Otro Caso
…
Acción 1
Selector
Verdadero
Acción 2
1
Acción n Acción OC…
2 n
Otro
Caso
Pseudocódigo
Según sea Selector hacer
1: Acción 1 2: Acción 2
… n: Acción n
En otro caso: Acción OC
Fin Según
8. Elabore un algoritmo que en base al número del mes imprima el mes
correspondiente como cadena de caracteres.
9. Elabore un algoritmo que en base a un número (entre 10 y 20) imprima su valor
con letra.
10. Elabore un algoritmo que en base al número de día de la semana imprima que día
es.
Estructuras de repetición
Cuando se requiere que un conjunto de instrucciones se repita varias veces se utiliza las
estructuras de repetición.
Diagrama de Flujo
For/Next
While/Mientras
Repeat/Repite
Condición
Inc/Dec
Inicio
Proceso
Si
No
Condición
Proceso Verdadero
Falso
Condición
Proceso
Verdadero
Falso
Diagrama NassiSchneiderman (NS)
For/Next
While/Mientras
Repeat/Repite
Pseudocódigo
For/Next Para I = VI Hasta VF [Inc Valor/Dec Valor]
Proceso Fin Para
While/Mientras
Mientras Condición Proceso
Fin Mientras
Repeat/Repite Repite
Proceso Hasta Condición
11. Elabore un algoritmo que lea 10 calificaciones e imprima el promedio.
12. Elabore un algoritmo que lea dos números e imprima la serie de números que
existe entre el número menor a el número mayor.
13. Elabore un algoritmo que lea una serie de valores e imprima el valor más grande
de la serie. El fin de la serie esta denotado por el valor 9999.
14. Calcular la media de una serie de números positivos. El valor cero como entrada
indican que se ha finalizado la serie de números positivos.
Inc/Dec
Inicio
Proceso
While Condición
Proceso
Repeat Condición
Proceso
Producto de Aprendizaje 3.1: De los siguientes problemas elabore su
correspondiente algoritmo.
1. Obtenga el cuadrado de 243
2. Obtenga el perímetro y la superficie de un cuadrado
3. Obtenga la suma de dos números
4. Obtenga el perímetro de un rectángulo
5. Obtenga la hipotenusa de un triangulo rectángulo
6. Obtenga el área y el volumen de un cilindro
7. Dado x grados Celsius obtenga su conversión a grados Fahrenheit
8. Obtenga el área de un triangulo en función de las longitudes de sus lados:
Donde:
9. Dado x numero de metros convertirlos a pies y pulgadas (1 metro = 39.37
pulgadas, 1 pie = 12 pulgadas)
10. Una tonelada métrica equivale a 35,273.92 onzas. Elabore un algoritmo que lea el
peso de un paquete de cereal para el desayuno en onzas y que obtenga como
salida el número de cajas necesarias para llenar una tonelada métrica de cereal,
así como deberá proporcionar cuantas onzas sobran. El algoritmo deberá permitir
al usuario repetir este proceso las veces que desee.
11. Dado tres números, determinar si la suma de cualquier pareja de ellos es igual al
tercer número. Si se cumple la condición, escribir “iguales” en caso contrario
“Distintos”.
12. Elabore un algoritmo lea 3 calificaciones de la materia de Fundamentos de
Programación y determine si el alumno “Aprobado” o “Reprobado” en base a su
promedio.
13. Elabore un algoritmo que en base a un valor numérico determine si es Alto o Bajo.
Si el número es mayor a 100 imprima Alto, en caso contrario imprima Bajo.
14. Elabore un algoritmo que lea 4 números e imprima el mayor de ellos.
15. Elabore un algoritmo que lea un número e imprima sus dígitos en forma individual:
Ejemplo: Dame un número? 7539
9
3
5
7
16. Obtenga el salario de un obrero en base a las horas extras trabajadas. El salario
se calcula sumando al sueldo base las horas extra. El sueldo base es equivale a
$450.00 y las horas extra se calculan en base a la siguiente tabla:
1 a 10 hrs $11.50
11 a 12 hrs $ 13.00
21 y más hrs $ 15.00
17. Elabore un algoritmo que lea un número decimal e imprima su representación en
binario.
18. Elabore un algoritmo que lea un número e imprima su factorial.
Ejemplo: 5 = 5 * 4 * 3 * 2 * 1 = 120
Nota: El factorial de 0 (cero) por notación es 1.
III.4. Tipos de datos y expresiones
Tipos de datos
Existen dos grupos de tipos de datos:
Simples (básicos, primitivos, sin estructura)
Compuestos (Estructurados, Complejos)
Dentro de los tipos de datos Simples se encuentran:
Numéricos
o Enteros
5, 15, 1350, 50000, etc.
o Punto Flotante (Reales)
0.00008, 3.7452, 8.72, 370000.0, etc.
En aplicaciones científicas se requiere una notación especial para manejar
números muy grandes (como la masa de la tierra) o muy pequeños (como la
masa de un electrón) esta notación es llamada notación exponencial o
notación científica:
367 520 100 000 000 000 00 3.675201E+20
0.000 000 000 030 257 3.0257E11
Lógicos (Booleanos)
Los datos tipo lógico es aquel que solo puede tomar dos valores:
Verdadero (True)
Falso (False)
Carácter (Char)
El tipo de datos carácter es un conjunto finito y ordenado de caracteres. Un dato
tipo carácter contiene un solo carácter. Un carácter se delimita por comillas
sencillas:
„A‟, „a‟, „1‟, „$‟, etc.
Los grupos de caracteres son los siguientes:
o Caracteres alfabéticos: „A‟, „B‟,…,‟Z‟, „a‟, „b‟,…,‟z‟
o Caracteres numéricos: „0‟, „1‟, „2‟,…,‟9‟
o Caracteres Especiales: +, , /, *, ^, ., ;, <, >, $, #, etc.
Y dentro los Compuestos o Estructurados se encuentran:
Cadena de caracteres (String)
Una cadena de caracteres es una sucesión de caracteres que se encuentra
delimitado por comillas dobles:
“Hola Mundo”
“30 de septiembre de 2010”
“Esta es una cadena de caracteres llamada también String”
Clases (Class)
Arreglos (Array)
Registros (Records)
Listas (LinkerList)
Conjuntos (Set)
Árboles (Tree)
Grafos (Graph)
Abstractos (Abstract)
Archivos (Files)
En la siguiente tabla presentamos los 8 tipos de dato primitivos de Java, el número de bits
que ocupan y el rango de valores que pueden tomar.
Tipo Tamaño en bits Rango de valores
boolean 1 true o false Nota: El No. de bits puede variar según la
plataforma
char 16 „\u0000‟ hasta „\uFFFF' Conjunto Unicode de ISO
byte 8 128 a +127 27 a 27 – 1
short 16 32,768 a +32,767
215 a 215 – 1
int 32 2,147,483,648 a +2,147,483,647
231 a 231 – 1
long 64 9,223,372,036,854,775,808 a +9,223,372,036,854,775,807
263 a 263 – 1
float 32
Rango negativo: 3.4028234663852886E+38 hasta 1.40129846432481707E45
Rango positivo: 1.40129846432481707E45 hasta 3.4028234663852886E+38
double 64
Rango negativo: 1.797693134862157E308 hasta 4.94065645841246544E324
Rango positivo: 4.94065645841246544E324 hasta 1.797693134862157E308
Tokens elementos léxico de los programas
Existen 5 clase de tokens: identificadores, palabras reservadas, literales, operadores y
otros.
Identificadores
Los identificadores pueden representar variables, constantes, métodos, nombres de
archivos, etc.
Diagrama de contexto de los identificadores:
Regla para formar un identificador:
1. Debe comenzar por una letra 2. Después de la 1er. Letra puede contener letras, dígitos o guión de piso 3. No están permitidos los espacios en blanco 4. No deben formar palabras reservadas 5. Java es sensibles a las mayúsculas y minúsculas 6. En Java la longitud de los identificadores no tiene límite.
Expresiones
Las expresiones son combinaciones de constantes, variables, operadores, operandos,
paréntesis, funciones, etc.
Expresiones aritméticas
Las expresiones aritméticas son análogas a las expresiones matemáticas.
Operadores aritméticos:
+ Suma Resta * Multiplicación / División
% Modulo
Ejemplos:
5 + 3 = 8
3 – 2 = 1
5 * 3 = 15
17/2 = 8
17/2.0 = 8.5
(double) 17/2 = 8.5
20 % 7 = 6
c)(ba 3
Operando
Variable Operador
Constante Función
Transforme las siguientes formulas en expresiones computacionales:
III.5. Estructuras lógicas
Otro tipo de expresiones son las lógicas, o booleanas, cuyo valor puede ser true
(verdadero) o false (falso) y se denominan expresiones booleanas en honor a matemático
George Boole, quien desarrollo el álgebra booleana.
Mediante los operadores relacionales se pueden hacer comparaciones entre valores tipo
numérico y carácter.
Por ejemplo:
3 < 6 V 0 > 9 F
8 <= 5 F
A = 3 y B = 4 A>B F A<B V
A<=B V B==4 V
X=2 Y = 3 Z = 9 X>Z F Y<X F Z!=X V
Operadores Lógicas
Java cuenta con los operadores lógicos para formar condiciones más complejas. Los
operadores lógicos son:
Operador Descripción Corto Circuito
&& And condicional Si
|| Or condicional
& And lógico No
| Or lógico
^ Or exclusivo
! Negación
Tablas de verdad de los operadores lógico:
&& And Condicional
A B A && B
false false false
false true false
true false false
true true true
Con un operador && (And condicional) será true si y solo si todas sus entradas son true.
|| Or Condicional
A B A || B
false false false
false true true
true false true
true true true
Con un operador || (Or condicional) será true si por lo menos una de sus entradas es true.
Operadores & And lógico y | Or lógico funcionan de manera idéntica a los operadores &&
And condicional y || Or condicional, con la excepción de de que los operadores lógicos
siempre se evaluaran todas las expresiones (es decir, no realizan una evaluación de corto
circuito).
^ Or Exclusivo
A B A ^ B
false false false
false true true
true false true
true true false
Con un operador ^ (Or exclusivo) es true si y solo si una de sus operandos es true y el
otro es false
! Negación
A !A
false true
true false
Por medio del operador ! (Negación) se invierte el significado de la condición. A diferencia
de los operadores &&, ||, &, | y ^ que son operadores binarios, el operador ! es unario.
Por ejemplo: Si A=3, B=2 y C=7
a) (A>5) || (B<C) V b) (A!=B) && (B==C) c) (A>=B) & (C>=5) d) !(A<=9) | (5>B)
Reglas de prioridad
Las expresiones que tienen dos o más operadores requieren de reglas matemáticas que
permitan determinar el orden de las operaciones, a estas reglas se les llama reglas de
prioridad.
Prioridad Operadores Asociatividad
1 () Agrupación ID
2 (tipo) Cast DI
3 * / % ID
4 + ID
5 < <= > >= ID
6 == != ID
7 & ID
8 ^ ID
9 | ID
10 && ID
11 || ID
12 = *= /= %= += = DI
¿Cual es el valor de las siguientes expresiones?
a) 15 * 14 – 3 *7 b) (24 + 2 * 6) / 4 c) 3 + 4 * (8 * (4 – (9 + 31) / 6)) d) 4 – 40 / 5
Estructura general de un programa en Java
import Importación de paquetes con clases predefinidas.
public class NombreDeLaClase {
Declaración de variables miembro de la clase
public static tipo main (String[] args) {
Declaración de variables locales
Sentencias de la función main()
[return tipo;]
}
acceso static tipo NombreDelMétodo1 (Lista de Argumentos) {
Declaración de variables del método 1
Sentencias del método 1
[return tipo;]
}
acceso static tipo NombreDelMétodo2 (Lista de Argumentos) {
Declaración de variables del método 2
Sentencias del método 2
[return tipo;]
}
}
Variables
Una variable es un identificador donde se almacena un valor con un cierto tipo de dato.
Las variables de tipos básicos almacena datos del tipo primitivos, las variables de clases o
variables de objetos, hacen referencias a objetos. Una constante es una variable cuyo
contenido no puede ser modificado.
Declaración de variables
Ejemplo:
int x, y;
float a, b, c;
char letra1;
tipo identificador
,
;
Inicialización de variables
Una de las variantes que se puede hacer en una declaración es inicializar una variable
con un valor a ser declarada.
Ejemplos:
int x, y = 0;
float a, b, c = 100.0f;
char letra1 = „A‟;
Se pueden declarar una variable en tres lugares:
En una clase, como miembro de clase
Al principio de un método o bloque de código
En el punto de utilización.
Ejemplo de las tres formas de declarar una variable:
tipo identificador
,
; Expresión =
;
Objetos que permiten E/S por consola.
En Java, la entrada y salida se lee y escribe en flujos (streams). La fuente básica de
entrada de datos es el teclado y la fuente de salida es pantalla. La clase System define
dos referencias a objetos static para la gestión de entrada (in) y salida (out).
Salida (System.out)
El objeto out definida en la clase System está asociado con el flujo de salida, que dirige
los datos a consola y permite visualizarlos en pantalla, por ejemplo:
System.out.println(“Esta es una cadena”);
Se visualizará en pantalla: Esta es una cadena.
Descripción del método print:
void print(cadena) Despliega una cadena en pantalla.
void println(cadena) Despliega una cadena en pantalla y al final un carácter de nueva
línea („\n‟).
Con estos métodos se puede escribir cualquier cadena o dato de los tipos primitivos,
como por ejemplo:
System.out.println( "Valores de las Variables: \n" +
"a=" + a +"\n" +
"b=" + b +"\n" +
"x=" + x +"\n" +
"y=" + y );
Entrada (System.in)
Por medio de un objeto Scanner se puede leer datos desde un programa, esta clase
pertenece al paquete java.util y debe ser importada. Para poder utilizarlo instancie un
objeto de la siguiente forma:
Scanner identificador = new Scanner (System.in);
Esta expresión crea un objeto Scanner y determina que leerá los datos desde teclado
mediante los siguientes métodos:
identificador.nextBoolean() Para Booleanos
identificador.nextByte() Para números Enteros tipo byte
identificador.nextShort() Para números Enteros tipo short
identificador.nextInt() Para números Enteros tipo int
identificador.nextLong() Para números Enteros tipo long
identificador.nextFloat() Para números flotantes
identificador.nextDouble() Para números doubles
identificador.next() Para el siguiente token
identificador.nextLine() Para una línea
Recuerdan este ejemplo: Obtenga la superficie y la longitud de un círculo.
Análisis:
Entrada: Radio
Salida: Cálculos de Superficie y Longitud
Proceso: Una vez obtenido el radio, calcular:
y
El siguiente ejemplo lee dos números enteros desde Windows, los suma y muestra el
resultado en una ventana.
Inicio
Fin
Superficie= π *Radio^2
Longitud=2*π *Radio
LeerRadio
Superficie, Longitud
Al convertir datos tipo String a tipo int (con Integer.parseInt()) manda una excepción de
formato de numero si ocurre un error.
El método showMessageDialog de la clase JOptionPane tiene varias formas de enviarles
parámetros:
public static void showMessageDialog(Component componentePadre, Object Mensaje)
Donde los parámetros:
componentePadre Determina la ventana en que se desplegara el mensaje, si es null,
se despliega en la ventana por defecto.
Mensaje Objeto a desplegar
public static void showMessageDialog(Component componentePadre,
Object Mensaje,
String Titulo,
int TipodeMensaje)
Donde los parámetros:
componentePadre Determina la ventana en que se desplegara el mensaje, si es null,
se despliega en la ventana por defecto.
Mensaje Objeto a desplegar
Titulo Cadena de caracteres de la caja de dialogo
TipodeMensaje Valor entero que determina que imagen se despliega según la
siguiente tabla:
Tipo de cuadro de diálogo de mensaje Icono Descripción
JOptionPane.ERROR_MESSAGE
Ventana de Error
JOptionPane.INFORMATION_MESSAGE
Ventana Informativa
JOptionPane.WARNING_MESSAGE
Ventana de Advertencia
JOptionPane.QUESTION_MESSAGE
Ventana de introducción de datos o selección de alguna
alternativa
Tipo de cuadro de diálogo de mensaje Icono Descripción
JOptionPane.PLAIN_MESSAGE Sin Icono Ventana estándar
Sintaxis de la selección simple:
if (Expresión) Acción;
o
if (Expresión)
Acción;
Nota: El if solo soporta una instrucción, si
desea poner más de una sentencia debe
utilizar un bloque de código ({..}).
if (condición) {acción1; acción2,…,acción n} ;
o
if (condición) {
acción1;
acción 2;
.
.
acción n;
}
Sintaxis de la selección doble:
if (condición)
acción 1;
else
acción 2;
if con mas de una sentencia y usando un boque de código:
if (condición) {
acción1;
acción 2;
…
acción n;
}
else {
acción1‟;
acción 2‟;
…
acción n‟;
}
Sintaxis de Selección múltiple:
switch (selector) {
case constante 1: Acción 1;
break;
case constante 2: Acción 2;
break;
…
default: Acción n;
}
switch (letra) {
case „a‟: case‟A‟: case „á‟: case „A‟:
case „e‟: case‟E‟: case „é‟: case „É‟:
case „i‟: case‟I‟: case „í‟: case „Í‟:
case „o‟: case‟O‟: case „ó‟: case „Ó‟:
case „u‟: case‟U‟: case „ú‟: case „Ú:
System.out.println(letra + “ es vocal”);
}
Sintaxis de los ciclos Java:
for
1. for (Inicialización; Condición; Incremento)
sentencia;
2. for (Inicialización; Condición; Incremento) {
sentencia 1;
sentencia 2;
…
sentencia n;
}
while
1. while (condición)
sentencia;
2. while (condición) {
sentencia 1;
sentencia 1;
…
sentencia n;
}
do while
1. do
sentencia;
while (condición);
2. do {
sentencia 1;
sentencia 2;
…
sentencia n;
} while (condición);
Producto de Aprendizaje 3.2: Desarrolle los siguientes programas en Java.
1. En la empresa Aceros Industrializados S.A. de C.V. los obreros recibieron
un incremento del 7.6% retroactivo a 6 meses. Elabore un programa que en
base el salario mensual despliegue el monto total de incremento por los 6
meses.
2. Elabore un programa que lea 4 números e imprima el mayor de ellos.
3. Elabore un programa que lea los tres parciales de la materia de
Fundamentos de Programación y en base el Promedio despliegue si
Acredita o No Acredita la materia.
4. Elabore un programa que lea un número e imprima sus dígitos en forma
individual:
Ejemplo: Dame un número? 7539
9
3
5
7
5. Obtenga el salario de un obrero en base a las horas extras trabajadas. El
salario se calcula sumando al sueldo base las horas extra. El sueldo base
es equivale a $450.00 y las horas extra se calculan en base a la siguiente
tabla:
1 a 10 hrs $11.50
11 a 12 hrs $ 13.00
21 y más hrs $ 15.00
6. Elabore un programa que lea un número decimal e imprima su
representación en binario.
7. Elabore un programa que lea un número e imprima su factorial.
Ejemplo: 5 = 5 * 4 * 3 * 2 * 1 = 120
Nota: El factorial de 0 (cero) por notación es 1.
8. Elabore un programa que lea serie de números e imprima su media. El final
de los números de denota con un -1.
9. Elabore un programa que lea 10 calificaciones e imprime el promedio.
10. Elabore un algoritmo que lea dos números diferentes, he imprima el rango
del número más pequeño al número más grande.
11. Elabore un programa que lea un número positivo diferente de cero e
imprima la secuencia de números en forma descendente hasta el cero.
12. Elabore un programa que imprima la suma de los números impares del 1 al
100 utilizando ciclos.