miércoles, 21 de octubre de 2009

PRACTICA DE ESTRUCTURAS Y USO DE LOS OPERADORES

EJERCICIO EN CLASE.
Resolver el siguiente Ejercicio, en una hoja en blanco, tamaño carta.
Tiempo: 25 minutos.



1. Dado el siguiente fragmento de pseudocódigo:
Si x <= 0
x = 1
Si no
x = x + 1
Salida (x)

¿Cuál será la salida para cada uno de los valores dados de x?
a) x = -4 b) x = 3 c) x = 0

2. Supóngase que x=-1, y=5 cuando se ejecutan las dos siguientes instrucciones. ¿Cuál será la salida?


a)
si !( ! (x<2) && (y<6) )
salida(Verdadero)
de lo contrario
salida(Falso)

b)
si ! ((x>1) ! (y>3))
salida(Verdadero)
de lo contrario
salida(Falso);

3. Tomando en consideración los siguientes problemas, UNICAMENTE realiza la tabla para identificar las variables de los problemas.:

a) Escriba un algoritmo para obtener el mayor de cinco números que será introducidos por el usuario.
b) Escriba un algoritmo para calcular la calificación de un estudiante, tomando en consideración que se necesita preguntar el promedio de prácticas realizadas, así como la calificación obtenida en el examen y su participación. La calificación será la suma del 40% del promedio de prácticas, el 50% de la calificación del examen y el 10% de la participación.
c) Escriba un algoritmo para determinar si una persona puede votar o no.
d) En cierta empresa se les paga a sus trabajadores de la siguiente forma: si el empleado es de planta, la hora trabajada se le paga a $200.00, si el empleado es administrativo, la hora trabajada se le paga a $100.00. Para calcular su pago quincenal, es necesario conocer el total de horas trabajadas.

lunes, 19 de octubre de 2009

TRABAJO EN CASA

"SI TU PIENSAS QUE ERES EXITOSO, O SI PIENSA QUE ERES FRACASADO; TIENES RAZON"


HOLA A TODOS, ESPERO HAYAN ESTADO MUY BIEN EL FIN DE SEMANA, LES DESEO FELICIDADES Y MUCHOS EXITOS.

POR FAVOR ANALIZAR EL SIGUIENTE EJERCICIO PARA QUE LO HAGAN.

EJERCICIO PARA REALIZAR EN CASA

Elaborar un programa que capture 15 números, luego que acumule en una variable los que sean múltiplos de 3 y los que no pues que los acumule en otra variable,

Luego en un ciclo que revise cuáles de los números múltiplos de 3 son pares y cuáles no, que acumule en una variable los pares y los impares en otra variable.

Debe imprimir los números que no sean múltiplos de 3

Debe imprimir cuantos números fueron múltiplos de 3

Imprimir los que son pares múltiplos de 3

Imprimir los que son múltiplos de 3 pero que no son pares

imprimir promedios en todos los acumulados

lunes, 21 de septiembre de 2009

DESARROLLAR EL ALGORITMO

hacer un programa que permita calcular y mostrar el jornal mensual de acuerdo con las siguientes especificación:

· los trabajadores tienen dos turnos (nocturno y diurno)
· la tarifa de las horas diurnas es de 10 soles.
· La tarifa de las nocturnas es de 50 soles.
· Ningun trabajador recibe nada por feriados.
· El trabajador sera despedido si sus horas_trabajadas son menores que 15. (mensual)

viernes, 18 de septiembre de 2009

ejercicio en clase


  1. La Universidad Sur colombiana desea liquidar el valor de la matricula de un estudiante, teniendo en cuenta que:

  • Si el estudiante es de sistemas y si tiene menos de 16 años, se le otorga descuento de $300.000.., de lo contrario el descuento es del 1%.

  • Si el estudiante es de ingeniería civil y es mayor de 20 años, su descuento será de 12%.

Se requiere leer

  • Nombre del estudiante

  • Carrera

  • Edad

  • Valor de la matricula

Imprimir :

. el valor a pagar del estudiante

. el descuento que se le hizo



sábado, 12 de septiembre de 2009

ejercicio de tarea para fin de semana

espero lo analicen y lo resuelven, feliz fin de semana, por favor le dedican tiempo a esto.

A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.

imprimir el suedo neto
imprimir por aparte el descuento

viernes, 11 de septiembre de 2009

miércoles, 2 de septiembre de 2009

PARA REALIZAR EN CLASE

1. Elaborar un algoritmo que permita determinar la hipotenusa de un triángulo, conociendo la longitud de sus dos catetos.

2. Desarrollo de un algoritmo que permita hallar la sumatoria de los numeros comprendidos entre el 1 y el 10, es decir, 1+2+3+4+5....


3. Definir los terminos:
LA COMPILACION Y SUS FASES
DATOS
TIPOS DE DATOS
OPERACIONES PRIMITIVAS: NUMERICOS
LOGICOS
CARACTER
CADENA
CONSTANTE
VARIABLE

EXPRESIONES: ARITMETICAS
LOGICAS: OPERADORES DE RELACION
LOGICOS
PRIORIDAD DE OPERADORES

LAS OPERACIONES DE ASIGNACION: ARITMETICA
LOGICAS
DE CADENA

DISEÑO DEL ALGORITMO: ESTRUCTURA
PRESENTACION GRAFICA DE LOS ALGORITMOS
REGLAS PARA CONSTRUIR ALGORITMOS

domingo, 16 de agosto de 2009

CONJUNTO DE ALGORITMOS

ALGORITMOS

1.Suma de dos números, imprimir la suma.
2.hallar el volumen de un cilindro de base circular. Imprimir el volumen
3.Hallar el precio de un pedido, teniendo en cuenta que si el pedido pes mas de 500 kilos al precio se le debe restar el 7% y si es menor, se le debe aumentar el 2%. imprimir el precio.
4.convertir cantidad de grados centígrados a grados farenheit, teniendo en cuenta la formula F=(centígrados*9)/5+32, imprimir los grados farenheit
5.convertir dolares a pesos, teniendo en cuenta que un dólar vale $2.120 . imprimir pesos.
6. Hallar el mayor numero entre dos números digitados. Imprimir el numero mayor.
7.Hallar el mayor numero entre tres números digitados. Imprimir el numero mayor.

lunes, 10 de agosto de 2009

TALLER EN CLASE

EXPRESIONES ARITMÉTICAS Y LÓGICAS



1.Evalué las siguientes expresiones aritméticas.

a)6 – 3 * 4 / 4 + 5 * 2
b)(2 * 3 + (6 div 3 – 1 )) * 2
c)6 mod 3 - 9 / 4 * 2 + 1


2.Inserte paréntesis para indicar el orden en que se aplican los operadores.

a)a div b * c mod e – f * g
b)a – b * c / d + e *f
c)a * (b + c) + abs(d * e / f) – g * (h + i / j)


3.Elimine los paréntesis innecesarios de las siguientes expresiones.

a)((a mod b) / c) * (d + e)
b)((a / b) * c ) – d
c)(a + (b * (c + d ))) – (( e + f ) / g * h)


4.Evalué las siguientes expresiones condicionales.

a)(5 / 2 * 3 – 1) = 4 div 2 mod 2
b)(7 div 3) > (3 / 4) * 2 * (2 + 10 mod 5)
c)10 < = 3 + 4 - 2


5.Evalué las siguientes expresiones con los operadores aritméticos, relacionales y lógicos.

a)no ( 15 > = 7 *7 * 2) o (43 – 8 * 2 div 4 <> 3 * 2 div 2)
b)(15 > = 7 * 3 * 2 y 8 > 3 y 15 > 6) o no ( 7 * 3 < 5 + 12 * 2 div 3 * 2)
c)no (( 7 * 3 div 2 * 4 < 20) o (15 / 2 * 6 < = 15 * 2 / 17 ))

sábado, 1 de agosto de 2009

TAREA FIN DE SEMANA AGOSTO 01

TRABAJO PARA REALIZAR EL FIN DE SEMANA

ESTE TRABAJO ES PARA SUBIRLO AL BLOG PERSONAL


  1. Definir todos los conceptos de algoritmos y programas, que son los siguientes>

  • concepto de algoritmos

  • características

  • Lenguajes de programación

  • lenguajes de maquina

  • lenguajes de bajo nivel

  • lenguajes de medio nivel

  • lenguajes de alto nivel

  • traductores de lenguajes (interpretes y compiladores)

  • la compilación y sus fases

  • datos

  • tipos de datos

  • operaciones primitivas: numéricos, lógicos, carácter, cadena

  • constantes

  • variables


  1. definir Diagramas de flujo y buscar todos los símbolos de los diagramas y cual es la función de cada uno (ejemplo el rombo que sirve para decisiones)

  2. Analizar el siguiente ejercicio y hacer su respectivo pseudocódigo y su Diagrama de flujo.

El objetivo es capturar 4 datos, calcular e imprimir

  • un programa que capture 4 datos y analice cuales son pares y cuales son impares, una vez hecho ese análisis, el programa debe coger los datos pares y sumarlos y los que sean impares los multiplique entre si. (ejemplo si se digitan los 4 números de la siguiente manera: 2, 3, 7, 1, entonces el dos pues quedaría solo porque no hay con quien sumarlo, pero los otros tres si debe multiplicarlos entre si, es decir este resultado seria 21 para los impares y 2 para los pares). Al final debe imprimir los 4 números digitados, además imprimir la suma de los pares y la multiplicación de los impares así:


El resultado de la operación es:

primer numero digitado: 2

Segundo numero digitado : 3

tercer numero digitado: 7

cuarto numero digitado: 1

la suma de los pares es: 2

la multiplicación de los impares es: 21


miércoles, 29 de julio de 2009

TALLER DE LECTURA


1. Introducción

En 1946 se desarrolló el primer ordenador digital. En un principio, estas máquinas ejecutaban instrucciones consistentes en códigos numéricos que señalan a los circuitos de la máquina los estados correspondientes a cada operación. Esta expresión mediante códigos numéricos se llamó Lenguaje Máquina, interpretado por un secuenciador cableado o por un microprograma. Pero los códigos numéricos de las máquinas son engorrosos. Pronto los primeros usuarios de estos ordenadores descubrieron la ventaja de escribir sus programas mediante claves más fáciles de recordar que esos códigos numéricos; al final, todas esas claves juntas se traducían manualmente a Lenguaje Máquina. Estas claves constituyen los llamados lenguajes ensambladores, que se generalizaron en cuanto se dio el paso decisivo de hacer que las propias máquinas realizaran el proceso mecánico de la traducción. A este trabajo se le llama ensamblar el programa.

Dada su correspondencia estrecha con las operaciones elementales de las máquinas, las instrucciones de los lenguajes ensambladores obligan a programar cualquier función de una manera minuciosa e iterativa. De hecho, normalmente, cuanto menor es el nivel de expresión de un lenguaje de programación, mayor rendimiento se obtiene en el uso de los recursos físicos (hardware). A pesar de todo, el lenguaje ensamblador seguía siendo el de una máquina, pero más fácil de manejar. Los trabajos de investigación se orientaron entonces hacia la creación de un lenguaje que expresara las distintas acciones a realizar de una manera lo más sencilla posible para el hombre. Así, en 1950, John Backus dirigió una investigación en I.B.M. en un lenguaje algebraico. En 1954 se empezó a desarrollar un lenguaje que permitía escribir fórmulas matemáticas de manera traducible por un ordenador. Le llamaron FORTRAN (FORmulae TRANslator). Fue el primer lenguaje considerado de alto nivel. Se introdujo en 1957 para el uso de la computadora IBM modelo 704. Permitía una programación más cómoda y breve que lo existente hasta ese momento, lo que suponía un considerable ahorro de trabajo. Surgió así por primera vez el concepto de un traductor, como un programa que traducía un lenguaje a otro lenguaje. En el caso particular de que el lenguaje a traducir es un lenguaje de alto nivel y el lenguaje traducido de bajo nivel, se emplea el término compilador.

La tarea de realizar un compilador no fue fácil. El primer compilador de FORTRAN tardó 18 años-persona en realizarse y era muy sencillo. Este desarrollo del FORTRAN estaba muy influenciado por la máquina objeto en la que iba a ser implementado. Como un ejemplo de ello tenemos el hecho de que los espacios en blanco fuesen ignorados, debido a que el periférico que se utilizaba como entrada de programas (una lectora de tarjetas perforadas) no contaba correctamente los espacios en blanco. Paralelamente al desarrollo de FORTRAN en América, en Europa surgió una corriente más universitaria, que pretendía que la definición de un lenguaje fuese independiente de la máquina y en donde los algoritmos se pudieran expresar de forma más simple.

Esta corriente estuvo muy influida por los trabajos sobre gramáticas de contexto libre publicados por Chomsky dentro de su estudio de lenguajes naturales.Con estas ideas surgió un grupo europeo encabezado por el profesor F.L.Bauer (de la Universidad de Munich). Este grupo definió un lenguaje de usos múltiples independiente de una realización concreta sobre una máquina. Pidieron colaboración a la asociación americana A.C.M. (Association for Computing Machinery) y se formó un comité en el que participó J. Backus que colaboraba en esta investigación. De esa unión surgió un informe definiendo un International Algebraic Language (I.A.L.), publicado en Zurich en 1958. Posteriormente este lenguaje se llamó ALGOL 58 (ALGOritmic Language). En 1969, el lenguaje fue revisado y llevó a una nueva versión que se llamó ALGOL 60. La versión actual es ALGOL 68, un lenguaje modular estructurado en bloques.

En el ALGOL aparecen por primera vez muchos de los conceptos de los nuevos lenguajes

algorítmicos:

· Definición de la sintaxis en notación BNF (Backus-Naur Form).

· Formato libre.

· Declaración explícita de tipo para todos los identificadores.

· Estructuras iterativas más generales.

· Recursividad.

· Paso de parámetros por valor y por nombre.

· Estructura de bloques, lo que determina la visibilidad de los identificadores.

Junto a este desarrollo en los lenguajes, también se iba avanzando en la técnica de compilación. En 1958, Strong y otros proponían una solución al problema de que un compilador fuera utilizable por varias máquinas objeto. Para ello, se dividía por primera vez el compilador en dos fases, designadas como el "front end" y el "back end". La primera fase (front end) es la encargada de analizar el programa fuente y la segunda fase (back end) es la encargada de generar código para la máquina objeto. El puente de unión entre las dos fases era un lenguaje intermedio que se designó con el nombre de UNCOL (UNiversal Computer Oriented Language). Para que un compilador fuera utilizable por varias máquinas bastaba únicamente modificar su back end. Aunque se hicieron varios intentos para definir el UNCOL, el proyecto se ha quedado simplemente en un ejercicio teórico. De todas formas, la división de un compilador en front end y back end fue un adelanto importante.

Un compilador es una herramienta bien conocida, dividida en diversas fases. Algunas de estas fases se pueden generar automáticamente (analizador léxico y sintáctico) y otras requieren una mayor atención por parte del escritor de compiladores (las partes de traducción y generación de código).

De todas formas, y en contra de lo que quizá pueda pensarse, todavía se están llevando a cabo varias vías de investigación en este fascinante campo de la compilación. Por una parte, se están mejorando las diversas herramientas disponibles (por ejemplo, el generador de analizadores léxicos Aardvark para el lenguaje PASCAL). También la aparición de nuevas generaciones de lenguajes -ya se habla de la quinta generación, como de un lenguaje cercano al de los humanos-ha provocado la revisión y optimización de cada una de las fases del compilador. El último lenguaje de programación de amplia aceptación que se ha diseñado, el lenguaje Java, establece que el compilador no genera código para una máquina determinada sino para una virtual, la Java Virtual Machine (JVM), que posteriormente será ejecutado por un intérprete, normalmente incluido en un navegador de Internet. El gran objetivo de esta exigencia es conseguir la máxima portabilidad de los programas escritos y compilados en Java, pues es únicamente la segunda fase del proceso la que depende de la máquina concreta en la que se ejecuta el intérprete.



2. ¿Qué es un compilador?

Un traductor es cualquier programa que toma como entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado objeto.

El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador tiene los siguientes pasos:




1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).

2. Introducir el programa fuente en memoria.

3. Compilar el programa con el compilador.

4. Verficar y corregir errores de compilación (listado de errores).

5. Obtención del programa objeto.

6. El enlazador (linker) obtiene el programa ejecutable.

7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del programa.



jueves, 23 de julio de 2009

BIENVENIDOS


EL BLOG DE LA PROGRAMACION DE SOFTWARE