Manual Fundamentos de Programacion - V0510

April 26, 2017 | Author: Anibal Tantalean Sarmiento | Category: N/A
Share Embed Donate


Short Description

Download Manual Fundamentos de Programacion - V0510...

Description

e   

Índice ¾ Presentación ………………………………………………………. 3

3

¾ Modulo A 9 Semana 1 ……………………………………………………….. 4

4

9 Semana 2 ……………………………………………………….. 24 24 9 Semana 3 ……………………………………………………….. 47 47 9 Semana 4 ……………………………………………………….. 72 72 9 Semana 5 ……………………………………………………….. 85 85 9 Semana 6 ……………………………………………………….. 98 98

111 9 Semana 7 ………………………………………………………..111 127 9 Semana 8 ………………………………………………………..127 140 9 Semana 9 ………………………………………………………..140 ¾ Modulo B 150 9 Semana 1 ………………………………………………………..150 166 9 Semana 2 ………………………………………………………..166 180 9 Semana 3 ………………………………………………………..180 188 9 Semana 4 ………………………………………………………..188 205 9 Semana 5 ………………………………………………………..205 216 9 Semana 6 ………………………………………………………..216 229 9 Semana 7 ………………………………………………………..229 243 9 Semana 8 ………………………………………………………..243 258 9 Semana 9 ………………………………………………………..258 ¾ Bibliografía: ………………………………………………………...267267

Fundamentos de Programación    



e   

PRESENTACIÓN Esta guía didáctica es un material de ayuda institucional, perteneciente a las especialidades de computación, Ingeniería de Software e Ingeniería de Redes y Comunicaciones tiene por finalidad proporcionar los conocimientos de fundamentos de programación orientada a los estudiantes del primer ciclo de estudios. La Organización SISE, líder en la enseñanza tecnológica a nivel superior, promueve la elaboración de materiales educativos, en concordancia a las exigencias de las tecnologías de estos tiempos, que permiten la creación de nuevas herramientas de aprendizaje con el objetivo de facilitar el acceso de los estudiantes a la educación en el marco del desarrollo tecnológico de la informática u de las telecomunicaciones. Esta guía se divide en 2 módulos y cada una de ellas en 9 semanas. Permite conocer las herramientas indispensables para la elaboración de un algoritmo. Se inicia con el reconocimiento de las herramientas básicas que se necesitaran para dar solución a una determinada proposición o problema. En este proceso el alumno aprenderá instrucciones que le permitirán evaluar expresiones para luego procesar un conjunto de sentencias. También aprenderá el uso de las estructuras de control (Condicionales y Repetitivas), de la misma forma el manejo del lenguaje de programación orientada a objetos. La implementación y uso de métodos (con retorno y sin retorno), permitirán que el alumno aplique el uso de variables Globales y Locales donde el alumno demostrara el manejo de la programación orientada a objetos. Todas estas herramientas darán un soporte solido al alumno para aprender a programar en cualquier lenguaje de programación estructurada o a los lenguajes Orientada a Objetos(JAVA, .NET, Visual C,etc). Este material en su primera edición, servirá para ayudar a nuestros estudiantes SISESINOS a tener una formación solida para resolver problemas.

Fundamentos de Programación    



e   

INTRODUCCION Contenidos  - Sistema de Información - Concepto de Dato, Información, Proceso - Etapas del Procesamiento de Datos (Entrada, Clasificación, Procesamiento, Almacenamiento, Control, Salida).Razones para automatizar los procesos. - Lenguajes de Programación: Concepto, Clasificación (Leng. Maquina, de Bajo Nivel y de Alto Nivel).Tipos de Leng. Alto Nivel (Estructurados y Orientado a Objetos). - Ciclo de Vida de un Programa (Análisis, Diseño, Implementación). - Tipos de Datos: Numéricos (Enteros y Reales), Lógicos, Carácter. - Identificadores, Variables y Constantes. ____________________________________________________________________________

Introducción a la Programación Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que este pueda comunicarse con los dispositivos hardware y software existentes. Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la maquina como para el ser humano El titulo dice definición de programación, no definición de lenguaje de programación. Programación es la acción de solucionar un problema, y/o satisfacer una necesidad de carácter informático. Dicha solución es generar un programa o software utilizando un determinado lenguaje de programación. Es por ello que como objetivo de este curso es que el alumno conozca los principios de la programación y que aprenda aplicar las etapas de procesamiento de datos dentro de un proyecto real.

Fundamentos de Programación    



e   

1. Sistema de Información ¾ Introducción: Un sistema de información es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio. El equipo computacional: el hardware necesario para que el sistema de información pueda operar. El recurso humano que interactúa con el Sistema de Información, el cual está formado por las personas que utilizan el sistema. Un sistema de información realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información. •

Entrada de Información: Es el proceso mediante el cual el Sistema de Información toma los datos que requiere para procesar la información. Las entradas pueden ser manuales o automáticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario, mientras que las automáticas son datos o información que provienen o son tomados de otros sistemas o módulos. Las unidades típicas de entrada de datos a las computadoras son las terminales, las cintas magnéticas, las unidades de diskette, los códigos de barras, los escáner, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras.



Almacenamiento de información: El almacenamiento es una de las actividades o capacidades más importantes que tiene una computadora, ya que a través de esta propiedad el sistema puede recordar la información guardada en la sección o proceso anterior. Esta información suele ser almacenada en estructuras de información denominadas archivos. La unidad típica de almacenamiento son los discos magnéticos o discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM).



Procesamiento de Información: Es la capacidad del Sistema de Información para efectuar cálculos de acuerdo con una secuencia de operaciones preestablecida. Estos cálculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos que están almacenados. Esta característica de los sistemas permite la transformación de datos fuente en información que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyección financiera a partir de los datos que contiene un estado de resultados o un balance general de un año base.



Salida de Información: La salida es la capacidad de un Sistema de Información para sacar la información procesada o bien datos de entrada al exterior. Las unidades típicas de salida son las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores y los plotters, entre otros.

¾ Actividades que realiza un Sistema de Información: Entradas: • Datos generales del cliente: nombre, dirección, tipo de cliente, etc. • Políticas de créditos: límite de crédito, plazo de pago, etc. • Facturas (interface automático). • Pagos, depuraciones, etc.

Fundamentos de Programación    



e    Proceso: • Cálculo de antigüedad de saldos. • Cálculo de intereses moratorios. • Cálculo del saldo de un cliente. Almacenamiento: • Movimientos del mes (pagos, depuraciones). • Catálogo de clientes. • Facturas. Salidas: • Reporte de pagos. • Estados de cuenta. • Pólizas contables (interface automática) • Consultas de saldos en pantalla de una terminal.

¾ Tipos y Usos de los Sistemas de Información Durante los próximos años, los Sistemas de Información cumplirán tres objetivos básicos dentro de las

organizaciones: 1. 2.

Automatización de procesos operativos. Proporcionar información que sirva de apoyo al proceso de toma de decisiones.

3.

Lograr ventajas competitivas a través de su implantación y uso.

Fundamentos de Programación    



e   

2. Razones Para Automatizar Los Procesos 9 9 9 9 9 9 9 9

Seguridad de la información. Fácil y rápido acceso a la información. Reducción de espacio físico. Estandarización. Facilidad en la creación de copias de respaldo. Reducción de gastos. Data Ordenada y clasificada. Conservación de la información.

3. Conceptos De Programación ¾ Definición.- Es un conjunto de instrucciones escritas en algún lenguaje de programación. El programa debe ser compilado o interpretado para poder ser ejecutado y así cumplir su objetivo ¾

Lenguajes de Programación:

Definiciones: a) Es un conjunto de símbolos junto a un conjunto de reglas. Constan de un léxico, una sintaxis y una semántica.

¿Qué conoces tú por léxico, sintaxis y semántica? Léxico: Conjunto de símbolos permitidos o vocabulario Sintaxis: Reglas que indican cómo realizar las construcciones del lenguaje. Semántica: Reglas que permiten determinar el significado de cualquier construcción del lenguaje.

b) Sistema de símbolos y reglas que permite la construcción de programas con los que la computadora puede operar así como resolver problemas de manera eficaz. c) Estos contienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, calculo, manipulación de textos, lógica / comparación y almacenamiento / recuperación. ¾

Tipos de lenguajes: Atendiendo al número de instrucciones necesarias para realizar una tarea específica podemos clasificar los lenguajes informáticos en dos grandes bloques: 9 Máquina. 9 Bajo nivel 9 Alto nivel

¾

Los lenguajes de programación se clasifican •

Lenguaje Máquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña el bit (dígito binario 0 ó 1).

Fundamentos de Programación    



e    •

Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas.



Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa.

¾ Tipos de Lenguaje Alto Nivel (Estructurados y Orientado a Objetos). •

La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de forma clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración. 9 A los finales de los años 1960 surgió una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su comprensión posterior. 9 El teorema del programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: • Secuencia • Instrucción condicional. • Iteración (bucle de instrucciones) con condición al principio. 9 Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, éstas pueden ser construidas mediante las tres básicas. 9 Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.



La programación orientada a objetos 9 La orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no intuitivas. 9

Un lenguaje orientado a objetos ataca estos problemas. Tiene tres características básicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de

Fundamentos de Programación    



e    estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

¾ Programa Fuente. • Describe el argumento escrito por el programador que da inicio al desarrollo de su obra de software. • No se inclina por el software libre o propietario, porque está destinado al programador que lo crea y modifica. Es por eso, que existen luego otras denominaciones, como Código Abierto (Open Source), el cual hace posible que el acceso al "Código Fuente" del programa no esté limitado a su autor. • Fuente También denominado fuente o texto fuente. Es el texto que contiene las instrucciones del programa, escritas en el lenguaje de programación.

¾ Intérpretes y Compiladores 9

Los compiladores, los intérpretes y los ensambladores se encargan de traducir lo que haya escrito en lenguaje de alto nivel (código fuente) y lo convierten a código objeto (casi ejecutable).

9

C o m p i l a d o Es un programa que traduce un programa escrito en un lenguaje de alto nivel, en un programa en lenguaje de máquina que la computadora es capaz de entender y ejecutar directamente. Un compilador es un tipo especial de programa, en cuanto a que sus entradas o datos son algún programa y su salida es otro programa. Para evitar confusiones, solemos llamar programa fuente o código fuente al programa de entrada, y programa objeto o código objeto a la versión traducida que el compilador produce. Código se usa frecuentemente para referirse a un programa o a una parte de él, sobre todo cuando se habla de programas

9

El compilador, informa al usuario de la presencia de errores en el programa fuente, pasándose a crear el programa objeto cuando está libre de errores. El código objeto puede ser ejecutado posteriormente. Una vez traducido un programa, su ejecución es independiente de su compilación. Involucra dos pasos en su operación: 1. Convertir código fuente a objeto 2. Ejecutar el código objeto

9

Las ventajas de los intérpretes son: o Resulta más fácil localizar y corregir errores (depuración de programas) son más pedagógicos para aprender a programar.

Fundamentos de Programación    



e    El programa es más fácil de desarrollar. Traducen programas de alto nivel. No se genera en la mayoría de los ficheros. Con el intérprete, cada vez que necesitamos ejecutar el programa tenemos que volver a analizarlo porque no hay código objeto. Con el compilador, aunque más lenta la traducción, sólo se realiza una vez. o

9

¾ Ciclo de Vida de un Programa En este paso se determinan la información inicial para la elaboración del programa. Es donde se determina qué es lo que debe resolverse con el computador, de qué presupuestos se debe partir, etc. en definitiva, el planteamiento del problema, por ello se debe de seguir los siguientes pasos: 9

Análisis del Problema Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Dado que se busca una solución se precisan especificaciones de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes preguntas: • • •

9

¿Qué entradas se requieren? (cantidad y tipo) ¿Cuál es la salida deseada? (cantidad y tipo) ¿Qué método produce la salida deseada?

Diseño

Es diseñar cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer las necesidades. Esta actividad se debe dividir en: Operaciones de entrada/salida Cálculos Lógica/comparación Almacenamiento/ consulta En este paso se genera una solución con técnicas de programación como diseño descendente de programas, pseudocódigos, flujo gramas y estructuras lógicas. 9

Implementación Para implementar un algoritmo en la computadora, se debe ejecutar los siguientes pasos: a) b) c) d) e)

Codificación Compilación y ejecución Verificación Depuración Documentación

a) Codificación: Es la escritura en un lenguaje de programación de la representación de un algoritmo. Dado que el diseño del algoritmo es independiente del lenguaje de programación utilizado en su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro. b) Compilación y ejecución: Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y

Fundamentos de Programación    

10 

e    almacenarlo posteriormente en un disco. Esta operación se realiza con un editor de texto, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en un disco. c) Verificación: Consiste en verificar la funcionalidad del programa a través de varios métodos para detectar errores posibles. Métodos de Prueba: Chequeo de escritorio Prueba manual de datos de muestra Intento de traducción Prueba de datos de muestra en la computadora Prueba por un grupo selecto de usuarios potenciales. ƒ

ƒ ƒ

ƒ

ƒ

Chequeo de Escritorio: El programador se sienta frente a un escritorio y corrige una impresión del programa. Revisa el listado línea por línea en busca de errores de sintaxis y lógica. Prueba manual de datos de muestra: Se corre el programa en forma manual aplicando datos tanto correctos como incorrectos para comprobar que funciona correctamente. Intento de Traducción: El programa corre en una computadora usando un programa traductor para convertirlo a lenguaje de máquina. Para ello debe estar ya libre de errores de sintaxis, de lo contrario serán identificados por el programa de traducción. Prueba de datos de muestra en la computadora: Después del intento de traducción y corregidos los errores de sintaxis, se procede a buscar errores de lógica utilizando diferentes datos de muestra. Prueba por un grupo selecto de usuarios potenciales: Esto se conoce como prueba beta. Se trata por lo general del paso final en la prueba de un programa. Usuarios potenciales ponen a prueba el programa y ofrecen retroalimentación.

d) Prueba y depuración del programa Depurar es correr el programa en una computadora y corregir las partes que no funcionan. En esta fase se comprueba el funcionamiento de cada programa y esto se hace con datos reales o ficticios. Cuando los programas están depurados, se prueban. Cuando los programas se depuran, se pueden encontrar los siguientes errores: ™ ™ ™ ™

Errores de sintaxis o de compilación Errores de ejecución Errores de lógica Errores de especificación.

™ Errores de sintaxis o de compilación Es una violación de las reglas del lenguaje de programación. Son más fáciles de corregir, ya que son detectados por el compilador (posible error de escritura). ™ Errores de Ejecución Se deben generalmente a operaciones no permitidas como dividir por cero, leer un dato no numérico en una variable numérica, exceder un rango de valores permitidos, etc. Se detectan porque se produce una parada anormal del programa durante su ejecución. ™ Errores de Lógica Corresponden a la obtención de resultados que no son correctos y la única manera de detectarlos es realizando suficientes pruebas del programa. Son los más difíciles de corregir, no sólo por la dificultad de detectarlos, sino porque se deben a la propia concepción y diseño del programa.

Fundamentos de Programación    

11 

e    ™ Errores de Especificación Es el peor tipo de error y el más difícil de corregir. Se deben a mal diseño del programa posiblemente por mala comunicación usuario programador y se detectan cuando ya se ha concluido el diseño e instalación del programa, lo cual puede implicar repetir gran parte del trabajo realizado. e)

Documentación del programa Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y su modo de uso. También se debe documentar el programa para que sea más entendible. ™ ¿Para quiénes son la documentación? Usuarios (Digitadores) Operadores Programadores Analistas de sistemas ™ Documentos que se elaboran: Manual de Usuario y Manual del Analista. A los usuarios se les elabora un manual de referencia para que aprendan a utilizar el programa. Esto se hace a través de capacitaciones y revisión de la documentación del manual de usuario. El manual del usuario no está escrito a nivel técnico sino al de los distintos usuarios previstos y explica en detalle cómo usar el programa: descripción de las tareas que realiza el programa, instrucciones necesarias para su instalación puesta en marcha y funcionamiento, recomendaciones de uso, menús de opciones, método de entrada y salida de datos, mensajes de error, recuperación de errores, etc. A los operadores por si se presentan mensajes de error, sepan cómo responder a ellos. Además que se encargan de darle soporte técnico al programa. A los programadores a través del manual del analista para que recuerden aspectos de la elaboración del programa o en caso que otras personas puedan actualizarlo o modificarlo (darle mantenimiento) y no son necesariamente las personas que lo diseñaron. Es por ello, que la documentación debe contener algoritmos y flujo gramas de los diferentes módulos que lo constituyen y las relaciones que se establecen entre ellos; listados del programa, corridas, descripción de variables que se emplean en cada módulo, cuáles son comunes a diferentes módulos y cuáles locales; descripción de los ficheros de cada módulo y todo lo que sea de importancia para un programador. A los analistas de sistemas que son las personas que deberán proporcionar toda la información al programador. Estos se encargan de hacer una investigación previa de cómo realizar el programa y documentar con las herramientas necesarias para que el programador pueda desarrollar el sistema en algún lenguaje de programación adecuado. 9

Mantenimiento del programa

Es el paso final del desarrollo del software. Alrededor del 75% del costo total del ciclo de vida de un programa se destina al mantenimiento. El propósito del mantenimiento es garantizar que los programas en uso estén libres de errores de operación y sean eficientes y efectivos.

Fundamentos de Programación    

12 

e   

¾ Identificadores Los Identificadores son palabras que de alguna manera ayudan a identificar a un conjunto de datos. Los identificadores tienen las siguientes reglas: o No debe tener espacios en blanco o

No comenzar por un carácter especial (·,·,#,%,?¿,etc.).

o

Su nombre debe ser corto

o

Siempre debe de comenzar por una letra.

Ejemplos: ¾ Identificador que agrupe a: Juan, William, Angie, Sebastián Por lo tanto estamos hablando de Nombres. ¾ Identificador que agrupe a: Pérez, López, Aquino, Ángeles, Florián Por lo tanto estamos hablando de Apellidos ¾ Identificador que agrupe una evaluación final : Evaluación final Recuerda que debe de respetar las reglas por lo tanto puede ser: Eva_Final o quizás pueda ser Evaluacion_F de acuerdo a tu criterio. ¾ Establecer un identificador corto para los: o Nombres y Apellidos Nom_Ape o

Edades

Eds

o

Primera Nota

Nota_1

o

Promedio de Practicas Prom_Pract

o

Estado Civil

Est_Civ

o

Sueldo Básico

Suel_B

o

Sueldo Neto

Suel_N

o

Cantidad de Horas

Cant_H

o

Costo por hora

Cst_H

Ejercicios Propuestos a) Definir los identificadores para agrupar: _________________ Perú, Chile, Ecuador, España, etc. _________________ 15, 12, 10, 5, 13 _________________ Chorrillos, Villa el Salvador, Comas, Puente Piedra.

Fundamentos de Programación    

13 

e   

Dato. Es la expresión general que describe los objetos con los cuales opera el programa. Por ejemplo, la edad y el domicilio de una persona, forman parte de sus datos. Los datos se sitúan en objetos llamados variables.

¾

9 Tipos de Datos Los tipos de datos son:

Enteros Numéricos Decimales

Caracteres

Son aquellos cuyo contenido es una serie de dígitos (0-9) que en conjunto nos proporcionan un valor numérico ya sea entero o real y pueden ser precedidos de un signo + ó -.

1 sola letra De 2 a más Letras

Tipos de datos Alfanuméricos son aquellos cuyo contenido son letras del abecedario, números o caracteres especiales o bien una combinación de ellos.

Verdaderos Lógicos Falso

Ejemplos: Qué tipo de dato seria para establecer a los: -

Nombres _____________________ Apellidos ______________________ Notas ______________________ Promedio ____________________ Peso de una persona ____________________ Edad ____________________

Fundamentos de Programación    

14 

e   

Contenidos  -

Operadores:Aritméticos (+, -, *, /, MOD, ^ ). Jerarquía.Lógicos,Relacionales Expresiones Aritméticas, Lógicas y Relacionales.Operador de Asignación Algoritmo: Concepto, Características, Representación (Diagramas de Flujo y Pseudocódigo). Estructura de un Pseudocódigo. Resolución de Problemas usando Pseudocódigo. Estructura Secuencial Instrucciones: Instrucción de entrada de datos (leer), Instrucciones de Manejo de Datos, Instrucción de salida de Resultados (escribir). Ejercicios

____________________________________________________________________________

Introducción a la Programación - Pseudocódigos El objetivo de esta semana es familiarizar al alumno con el diseño de algoritmos para la resolución de problemas por computadora basándose en el paradigma de la programación estructurada y utilizando un lenguaje de especificación de algoritmos. Sus objetivos específicos serían: • • •

Conocer los elementos principales utilizados en el diseño de algoritmos. Conocer los fundamentos de la programación estructurada. Utilizar las estructuras de datos fundamentales.

¾ Tipos de Operadores: a) b) c) d) e)

Entre los tipos de operadores tenemos: Aritméticos (su resultado es un número): potencia, * , / , mod, div, + , Relacionales (su resultado es un valor de verdad): =, , =, Lógicos o Booleanos (su resultado es un valor de verdad): not, and, or Alfanuméricos : + (concatenación) Asociativos. El único operador asociativo es el paréntesis ( ) , el cual permite indicar en qué orden deben realizarse las operaciones. Cuando una expresión se encuentra entre paréntesis, indica que las operaciones que están dentro de ellos debe realizarse

Fundamentos de Programación    

15 

e    primero. Si en una expresión se utilizan más de un paréntesis se deberá proceder primero con los que se encuentren más hacia el centro de la expresión.

Ejemplos:

6^(1/2)

6^2 28+29*(14^2) ™ Jerarquía de Operaciones: o o o o o o o o o o ƒ

ƒ ƒ ƒ ƒ ƒ

() Potencia Producto y división Div y Mod Suma y resta Concatenación Relacionales Negación And Or

Datos de tipo entero tienen los operadores +, -, *, /, div, mod, abs, sqr, sqrt, ln, exp, sin, cos, tan, pow, etc. Los datos de tipo real tienen los mismos operadores enteros y además trunc, round, int, y otros. La suma y multiplicación de datos de tipo real cumplen la propiedad conmutativa, pero no siempre la asociativa y la distributiva. Para resolver una expresión aritmética se deben seguir las siguientes reglas: Primero se resuelven las expresiones que se encuentran entre paréntesis. Se procede aplicando la jerarquía de operadores. Al evaluar una expresión, si hay dos operadores con la misma jerarquía, se procede a evaluar de izquierda a derecha. Si hay expresiones relacionales, se resuelven primero paréntesis, luego se encuentran los valores de verdad de las expresiones relacionales y por último se aplica jerarquía de operadores lógicos. En caso de haber iguales, proceder de izquierda a derecha.

EJERCICIOS. a. Establecer las expresiones matemáticas a expresiones algorítmicas.

Fundamentos de Programación    

16 

e   

b. Hallar el resultado de esta expresión según la jerarquía de operadores.

4+1*5^2-1

9 / 3 + 4 ^ 2 - 5 * 1 + 9 / -2 + 3

5/2+3-4*5/2

(4 + 1) * 5 ^ 2 – 1

17 / 2 + 3 ^ 2 ^ 2 - 2 * 2 / 2

c. Mencione los valores que puedan tener: Donde:

N1=5

T=Q^0

Z=Y+N2

¿Cuál es el valor de T?

¿Cuál es el valor de Z?

Fundamentos de Programación    

U=N3*2 Q=U/2+N1

Y=N1+N3

Z=___

N2=2 N3=1

 

T=____

17 

e    Asignación de Datos 1. .- La instrucción de asignación se usa para asignar valores a variables utilizando la igualdad (=). Identificador=Expresión

La expresión podrá ser un valor fijo o un cálculo. En el caso de ser un dato de tipo carácter este estará entre comillas “” , solo en este caso. Ejemplo:

¾



A=2



Edad=33



Palabra=”SISE”



Prom=(a+b+c)/3



Raiz=(5^(1/3))



Direccion=”Mz B4 - Lt4”

Sección de Declaración de Datos (Variables – Constantes).

9 Sección de Variable Las variables son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información. Son objetos cuyo valor puede ser modificado a lo largo de la ejecución de un programa. Ejemplos:

Nombres Fecha_Nac Apellidos Direccion Edades Dni Telefonos ¾ Como declarar una Variable

Tipo de Dato: Identificador

Fundamentos de Programación    

18 

e    Ejemplos: o o o o o

Caracter: Nombres Caracter: Apellidos Entero: Edad Decimal: Promedio Lógico: Bandera

9 Sección Constantes (Literales) Son objetos cuyo valor permanece invariable a lo largo de la ejecución de un programa. Una constante es la denominación de un valor concreto, de tal forma que se utiliza su nombre cada vez que se necesita referenciarlo. ¾ Como declarar una Constante Identificador=Valor Ejemplos: o o o o o

b)

Instituto=”SISE” Mes_Aniv=”Noviembre” Edad=25 Igv=0.19 Existe_Codigo=verdadero

Defina el tipo de dato que corresponda a cada identificador:

_____________ Promedios _____________ Edades _____________ Año de Nacimiento _____________ Correo electrónico c)

Define tus propios valores para los siguientes Literales: o o o o o o

d)

Codigo Direccion Telefono Peso Talla Estado_Civil

____________________ ____________________ ____________________ ____________________ ____________________ ____________________

Otros propuestos

9 Estos nombres de variable son válidos. • • • • •

Edad fechaNacimiento jugador1 iva16porCiento vidasRestantes

Fundamentos de Programación    

19 

e   

9 Estos otros nombres no son válidos • • • •

2jugadores (No empieza por una letra) año (Contiene la ñ) elPatioDeMiCasaEsParticularYCuandoLlueveSeMoja (Muy Largo) puntuación (Lleva acento)

¾ Algoritmo: ™ Definiciones: a)

b) c)

Es un Método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. Un algoritmo es una serie de operaciones detalladas, en otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas y se puede formular de muchas formas con el cuidado de que no exista ambigüedad. Los algoritmos son modos de resolución de problemas, cabe aclarar que no sólo son aplicables a la actividad intelectual, sino también a todo tipo de problemas relacionados con actividades cotidianas. El algoritmo podría confundirse con lo comúnmente conocido como "receta de cocina", sin embargo la diferencia estriba en que el alumno o los alumnos, al elaborar un algoritmo tienen que pensar en las instrucciones a seguir lo que en una receta serían pasos ya establecidos.

™ Características ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ

Preciso (debe indicar el orden de realización en cada paso y no puede tener ambigüedad). Definido (si se sigue dos veces, obtiene el mismo resultado cada vez) Finito (tiene fin; un número determinado de pasos). Debe ser Sencillo, Legible. Modular. Eficiente y Efectivo. Se ha de desarrollar en el menor tiempo posible. Correcto. Todo Algoritmo debe tener cero ó más entradas. Debe tener al menos una salida y ésta debe ser tangible.

Ejemplos: 1) PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante? ALGORITMO: Inicio Dormir haga 1 hasta que suene el despertador (o lo llame la mamá). Mirar la hora. ¿Hay tiempo suficiente? Si hay, entonces Bañarse. Vestirse. Desayunar. Sino, Vestirse.

Fundamentos de Programación    

20 

e    Cepillarse los dientes. Despedirse de la mamá y el papá. ¿Hay tiempo suficiente? Si, Caminar al paradero. Sino, Correr al paradero. Hasta que pase un bus para la universidad haga: Esperar el bus Ver a las demás personas que esperan un bus. Tomar el bus. Mientras no llegue a la universidad haga: Seguir en el bus. Pelear mentalmente con el conductor. Timbrar. Bajarse. Entrar a la universidad. Fin

2) PROBLEMA: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave inglesa. ALGORITMO: Inicio PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa. PASO 2. Ubicar el gato mecánico en su sitio. PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente. PASO 4. Quitar los tornillos y la rueda pinchada. PASO 5. Poner rueda de repuesto y los tornillos. PASO 6. Bajar el gato hasta que se pueda liberar. PASO 7. Sacar el gato de su sitio. PASO 8. Apretar los tornillos con la llave inglesa. Fin

3) PROBLEMA: Realizar la suma de los números 2448 y 5746. ALGORITMO: Inicio PASO 1. Colocar los números el primero encima del segundo, de tal manera que las unidades, decenas, centenas, etc., de los números queden alineadas. Trazar una línea debajo del segundo número. PASO 2. Empezar por la columna más a la derecha. PASO 3. Sumar los dígitos de dicha columna. PASO 4. Si la suma es mayor a 9 anotar un 1 encima de la siguiente columna a la izquierda y anotar debajo de la línea las unidades de la suma. Si no es mayor anotar la suma debajo de la línea. PASO 5. Si hay más columnas a la izquierda, pasar a la siguiente columna a la izquierda y volver a 3. PASO 6. El número debajo de la línea es la solución. Fin

Fundamentos de Programación    

21 

e    ™

Representación de Algoritmos Para representar nuestros algoritmos podemos usar: A. Diagramas de Flujos B. Diagramas N-S C. Pseudocódigos, Otros

A. Diagramas de Flujos Es la representación gráfica de flujo de un algoritmo o de secuencia rutinaria. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación. Símbolo

Descripción

Inicio / Terminación. Este símbolo se utiliza para señalar el comienzo así como el final de un diagrama. Tradicionalmente se colocan las palabras “INICIO” ó “FIN” dentro de la figura para hacerlo más explícito.

Entrada de datos. En este símbolo se indican los valores iníciales que deberá recibir el proceso. Esto se hace asignándoles letras o nombres de variables para cada uno de los valores y anotando estas letras en el interior de la figura. Este símbolo siempre deberá tener al menos una conexión entrante (generalmente del inicio) y una de salida.

Proceso de datos. Este símbolo lo utilizaremos para señalar operaciones matemáticas, aritméticas o procesos específicos que se realicen con nuestros datos. La manera de anotar dichos procesos, puede ser mediante una descripción breve de la operación o mediante una asignación de dicha operación hacia una variable como por ejemplo: R = A + B

Decisión. Este símbolo nos representa una disyuntiva lógica o decisión. En su interior se anota una instrucción o pregunta que pueda ser evaluada como cierta o falsa y que determine el flujo del programa.

Fundamentos de Programación    

22 

e    Desplegado de información. Este símbolo se utiliza para mostrar un resultado, el cual puede representar la solución al problema que se pretende resolver y que fue conseguida a través del resto del diagrama. Dentro de su interior se anotará la variable con el resultado final o el mensaje que represente el resultado del algoritmo. Generalmente veremos este símbolo muy cerca del final del proceso y precedido por el símbolo de terminación. Este símbolo siempre deberá tener al menos una conexión de entrada y una de salida.

Flechas: Indica el sentido del flujo del proceso, conectando al proceso

En la diagramación, también contamos con una serie de símbolos auxiliares que no intervienen en el proceso del algoritmo, pero que pueden ser útiles para ayudarnos a dar claridad a nuestros diagramas, algunos de ellos son los siguientes: Símbolo

Descripción

Conector. Este símbolo se utiliza para indicar un salto dentro del diagrama. Se utiliza con el propósito de facilitar la disposición plana de un diagrama y evitar el cruce excesivo de líneas a través del mismo. Este conector va asociado a un conector “gemelo” y junto con él, representa una puerta de entrada y de salida para el flujo del diagrama, es decir que cuando una flecha termina en un conector marcado con la letra “A”, se continuará el diagrama a partir de otro conector marcado con la misma letra tal como si se tratara de una línea continua in interrumpida.

Conector de página. Este conector es idéntico en funcionamiento que el anterior, pero su forma pentagonal lo distingue y nos indica que debemos buscar el “gemelo” en una página distinta de la actual. Este conector lleva asociado una especie de salto entre páginas.

Ejemplo:

Fundamentos de Programación    

23 

e    B. Diagramas N-S (I. Nassi y B. Scheneiderman) También conocido como diagrama de Chapin es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo. El diagrama N-S cuenta con un conjunto limitado de símbolos para representar los pasos del algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que el lenguaje natural es muy extenso y se presta para la ambigüedad, solo se utiliza un conjunto de palabras, a las que se denomina palabras reservadas

Inicio ………….. ………….. ………….. ………….. ……………… Fin

C. Pseudocódigo Un pseudocódigo (falso lenguaje), es una serie de palabras léxicas y gramaticales referidos a los lenguajes de programación, pero sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software. Es, netamente, lenguaje de tipo informático. Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El Pseudocódigo utiliza palabras que indican el proceso a realizar. ™ Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo



Ocupa menos espacio en una hoja de papel



Permite representar en forma fácil operaciones repetitivas complejas



Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación.



Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

™ Estructura de un Pseudocódigo a) Encabezado de programa.- Se establece un nombre para el programa * b) Sección de Declaración- Permite establecer las Variables y la Constantes c) Cuerpo del Programa.- se establece con la palabra Inicio

Fundamentos de Programación    

24 

e    d) Instrucciones.- son acciones o tareas que se establecen como una expresión o una asignación de datos.

e) Termino del programa.- se establece con la palabra Fin algoritmo //Secciones de declaraciones [constantes //declaraciones de constantes] [variables //declaraciones de variables] //Cuerpo del programa Inicio fin

™ Tipos de Instrucciones: 1. Instrucciones de inicio/fin. 2. Instrucciones de asignación. 3. Instrucciones de lectura (entrada). 4. Instrucciones de escritura (salir). 1. Instrucciones de inicio/fin Se refiere a que se debe de establecer un Inicio y un final Inicio ……………… ……………….. ………………. ………………. Fin 2. Instrucciones de Asignación.- se le establecer un tipo de dato o una expresión. =

3. Instrucciones de Lectura.- se refiere al ingreso de datos que se tendrá que establecer para cada identificador. Se realizara con la palabra Leer

Fundamentos de Programación    

25 

e    leer()

Formas: leer (ident_1) leer (ident_2) leer (ident_3)

o

leer (ident1,ident2, ident3,….)

La lectura en un Pseudocódigo puede ser uno por uno o separados por comas 4.

Instrucciones de Escritura.- Una instrucción de salida (o simplemente salida) consiste en llevar hacia el exterior los valores (datos) obtenidos de la evaluación de una lista de expresiones. Normalmente, los datos son enviados a la salida estándar (la pantalla), pero, también existen otros dispositivos de salida (la impresora, el plotter,...). Se realiza con la palabra Escribir

escribir(,) 

Formas: escribir (expresión1) escribir (expresión2) escribir (expresión3)

o

escribir (expresión1, expresión1, expresión3)

Ejemplo de Pseudocódigo:

ƒ

Ejemplo 1: Mostrar los datos asignados de la siguiente maneraalgoritmo Entrada_Salida Constante nombre = "Timoteo" edad = 27, hijos = 2 Inicio escribir (nombre, " tiene ", edad, " años") escribir (nombre, " tiene ", hijos, " hijos") Fin_Programa Por pantalla aparecerá:

Fundamentos de Programación    

26 

e    ƒ

Ejemplo 2: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo. algoritmo área Variables Entero: BASE, ALTURA, AREA Inicio Leer (BASE, ALTURA) AREA = BASE * ALTURA Escribir( “El área del rectángulo es “, AREA) Fin_Programa

ƒ

Ejemplo 3:

Realizar el pseudocódigo que permita al usuario introducir por teclado dos notas, calculando la suma y el producto de las notas. algoritmo Suma_Producto Variables Entero: NOTA1, NOTA2, SUMA, PRODUCTO Inicio Leer (NOTA1, NOTA2) SUMA = NOTA1 + NOTA2 PRODUCTO = NOTA1 * NOTA2 Escribir “La suma de las dos notas es:” SUMA Escribir “El producto de las dos notas es:”, PRODUCTO Fin_programa

Fundamentos de Programación    

27 

e   

Contenidos  -

Estructuras Secuenciales con uso de casos comerciales Uso de cálculos matemáticos (use el operador +,-,*,/,raíz, exponente, etc) Elaboración Caso Práctico. Explicación de uso de porcentajes, uso de promedios aritméticos, armónicos, etc. Propuesta de los trabajos grupales (elaborar en papelotes los pseudocódigos propuestos)

____________________________________________________________________________________

Estructuras Secuenciales La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Fundamentos de Programación    

28 

e   

Ejemplos: 1. Hallar la suma de tres números Ejemplo: Variables entero: Num1, Num2, Suma INICIO leer (Num1,Num2,Num3) Suma=Num1+Num2+Num3 escribir (Suma) FIN

2. Mostrar el promedio de 5 notas Ejemplo: Variables entero: n_1, n_2, n_3, n_4, n_5 real: promedio INICIO leer (n_1, n_2, n_3, n_4, n_5) promedio=( n_1+ n_2+ n_3+ n_4+ n_5)/5 escribir (promedio) FIN

3. Mostrar la quinta parte de la suma de 3 números Variables entero: numA, numB, numC,suma real: quinta INICIO leer (numA, numB, numC) suma=( numA+ numB+ numC) quinta=suma/5 escribir (suma,quinta) FIN

Fundamentos de Programación    

29 

e    4. Mostrar la edad de una persona de acuerdo al año que nació. Constante a_Actual=2009 Variables entero: a_Nac,edad INICIO leer (a_Nac) edad=(a_Actual – a_Nac) escribir (edad) FIN

5. Dada las horas trabajadas de una persona y el valor por hora. Calcular su salario e imprimirlo Ejemplo: Variables decimal: HorasT,CostoH,salario INICIO leer (HorasT,CostoH) salario=HorasT * CostoH escribir (salario) FIN

6. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado. Variables decimal: Suel_1, Suel_2, Suel_3,Aum_1,Aum_2,Aum_3,Nsuel_1, Nsuel_2, Nsuel_3 INICIO leer (Suel_1, Suel_2, Suel_3) Aum_1= Suel_1 * 0.10 Aum_2= Suel_2 * 0.12 Aum_3= Suel_3 * 0.15 Nsuel_1=Suel_1+Aum_1 Nsuel_2=Suel_2+Aum_2 Nsuel_3=Suel_3+Aum_3 escribir (Aum_1,Aum_2,Aum_3,Nsuel_1, Nsuel_2, Nsuel_3) FIN

Fundamentos de Programación    

30 

e   

7. Programa que pida el precio de un artículo y calcule su valor aplicándole un 19% de IGV. Variables decimal: PrecioA, igv,Nprecio INICIO leer (PrecioA) igv=PrecioA * 0.19 Nprecip=PrecioA+igv escribir (Nprecip) FIN

8. Realiza un programa que pida el valor de 3 artículos y muestre el total y la media Aritmética.

Variables decimal: Art_1, Art_2, Art_3,Prom_a INICIO leer (Art_1, Art_2, Art_3) Prom_a= (Art_1 + Art_2 + Art_3)/3 escribir (Prom_a) FIN

9. Escriba un programa que calcule el área de un triángulo rectángulo, dada la altura y la base. A=(b*c)/2 Variables entero: b,c decimal: A INICIO leer (b,c) A= (b*c)/2 escribir (A) FIN

Fundamentos de Programación    

31 

e    10. Convertir de grados Celsius a grados Fahrenheit.

  Variables entero: c decimal: f INICIO leer (C) F= 1.8 * C + 32 escribir (F) FIN

 

11. Se tiene un monto en soles, deberá de mostrarlo en dólares. Variables decimal: Mont_Soles, Mont_Dolares decimal: f Constante Tc=2.87 INICIO leer (Mont_Soles) Mont_Dolares= Mont_Soles * Tc escribir (Mont_Dolares) FIN

12. Convertir una cantidad de metros a centímetros

Variables decimal: Cant_Metros,Cant_Centimetros Constante centi=100 INICIO leer (Cant_Metros) Cant_Centimetros= Canti_Metros * centi escribir (Mont_Dolares) FIN

Fundamentos de Programación    

32 

e   

EJERCICIOS DE APLICACIÓN

1. Escribir un programa que calcule el salario de un trabajador de la manera siguiente. El trabajador cobra un precio fijo por hora y se le descuento el 10% en concepto de impuesto sobre la renta. El programa debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como salida debe imprimir el sueldo bruto, el descuento de renta y el salario a pagar. 2. Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado 5h 1m 15s. 3. Elabore un programa que realice la conversión de cm. a pulgadas. Donde 1cm = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N cm. y el programa dirá a cuantas pulgadas es equivalente. 4. Elabore un programa que realice la conversión de pulgadas a cm. Donde 1 cm. = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N pulgadas y el programa dirá a cuantos centímetros equivale. 5. Elabore un programa que realice la conversión de metros a pies Donde 1 m = 3.2808 pies. Por lo tanto, el usuario proporcionara el dato de N m y el programa dirá a cuantos pies equivale. 6. Elabore un programa que realice la conversión de pies a metros Donde 1 m = 3.2808 pies. Por lo tanto, el usuario proporcionara el dato de N pies y el programa dirá a cuantos metros equivale. 7. Elabore un programa que realice la conversión de kilogramos a libras Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario proporcionara el dato de N Kg. y el programa dirá a cuantas libras equivale. 8. Elabore un programa que realice la conversión de libras a kilogramos Donde 1 Kg. = 2.2046 libras. Por lo tanto, el usuario proporcionara el dato de N libras y el programa dirá a cuantos kilogramos equivale. 9. Se desea encontrar la longitud y el área de un círculo de radio 5. Modificar el problema anterior para que sea capaz de calcular el área y la longitud de un círculo de cualquier radio requerido. 10. Escribe un programa que calcule el área de un círculo de cualquier radio. L = 2 * pi * R (asignación del valor de la longitud)

Fundamentos de Programación    

33 

e   

11. Escribe un programa que lea una cantidad depositada en un banco y que calcule la cantidad final después de aplicarle un 20% de interés. 12. Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 13. Un alumno desea saber cuál será su calificación final en la materia de Lógica Computacional. Dicha calificación se compone de tres exámenes parciales cuya ponderación es de 30%, 30% y 40%. 14. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado el costo de los medicamentos calcule el descuento y el precio final. 15. Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética. 16. Realiza un programa que dados el voltaje en voltios y la resistencia en ohmios, nos calcule la intensidad, mediante la aplicación de esta fórmula: intensidad = Voltaje / Resistencia 17. Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganará después de un mes si el banco paga a razón de 2% mensual. Realiza un programa que calcule dicha ganancia teniendo como entrada el capital invertido. 18. Un vendedor recibe mensualmente un sueldo base más un 10% extra por comisión de sus ventas. El vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones. 19. PC:Se lee un número correspondiente al radio de la circunferencia, visualizando la longitud de la misma y el área del círculo correspondiente. Se recuerda: AREA = PI * RADIO2 y LONGITUD = 2 * PI * RADIO 20. Se tiene que calcular el área de un cuadrado, teniendo en cuenta que: AREA= lado * lado = l2 21. Se tiene que calcular el área de un rombo, teniendo en cuenta que:

Fundamentos de Programación    

34 

e   

22. Haga tabla de seguimiento para encontrar los resultados de las variables dadas en el siguiente algoritmo: Algoritmo Verifica Entero: x, y, z Inicio X >

=

!=

(

&

<

*=

)

|

>

?!!

/=

>>

¾ Tipos de Datos 9 Enteros: Estos tipos son byte, short, int y long, que guardan el signo valor, estos representan un número y no pueden representar elementos fraccionarios. Esto puede ser un buen ejemplo de declaración de tipos de datos enteros: byte midato1 = 1; short midato2 = 100; int midato3 = 10000; long midato4 = 100000000;

Fundamentos de Programación    

41 

e    9 Decimales: Estos son float y double y pueden almacenar números en coma flotante y con signo, esto quiere decir que nos permiten representar números decimales. Todos los literales de coma flotante son del tipo double salvo que se especifique lo contrario, por eso si se intenta asignar un literal en coma flotante a una variable de tipo float el compilador nos dará un error (tipos incompatibles): double peso; doublé talla; float tamaño;

9 El tipo Caracter: Estos son de tipo char, String, que almacena la representación de los caracteres (letras o números), un carácter está almacenado en 16 bits, y siguen un estándar que es el Unicoide. Char letra=’A’; String Nombre =”Angie Aquino” String Direccion=”Mz3 Lt5 Villa de Jesús”

9 El tipo Lógico: Etos son los boolean, este solo guarda dos valores: verdadero (true) o falso(false), y no como ocurre en otros lenguajes que toman los valores 0 y 1. boolean valor1, valor2 ; valor1 = true; valor2 = false;

Tabla tipos de datos: Tipos de datos

Rango de valores

Descripción

Números enteros byte

8-bit complemento a 2

Entero de un Byte

short

16-bit complemento a 2

Entero corto

int

32-bit complemento a 2

Entero

long

64-bit complemento a 2

Entero largo

Números reales float

32-bit IEEE 754

Coma flotante de precisión simple

double

64-bit IEEE 754

Coma flotante de precisión doble otros tipos

char

16-bit Caracter

Fundamentos de Programación    

Un sólo carácter

42 

e    true o false

boolean

Un valor booleano (verdadero o falso)

¾ Constantes En Java, se utiliza la palabra clave final para indicar que una variable debe comportarse como si fuese constante, significando con esto que no se permite su modificación una vez que haya sido declarada e inicializada. final float PI = 3.14159;

¾ Variables En Java, se utiliza anteponiendo el tipo de dato que corresponda int edad,a_Actual; double peso,tallar; Tambien se le pude inicializar con un valor por ejemplo int c=0, edad=23; String nom=””,Ape=””; //inicializando a las variables con “” comillas doble por ser String.

¾ Operadores Aritméticos Java soporta varios operadores aritméticos que actúan sobre números enteros y números en coma flotante. Los operadores binarios soportados por Java son: +

suma los operandos

-

resta el operando de la derecha al de la izquierda

*

multiplica los operandos

/

divide el operando de la izquierda entre el de la derecha

%

resto de la división del operando izquierdo entre el derecho

Como se ha indicado anteriormente, el operador más (+), se puede utilizar para concatenar cadenas, como se observa en el ejemplo siguiente:

¾ Operadores Relacionales y Condicionales Aunque Java y C++ soportan los mismos operadores relacionales, devuelven valores diferentes. Los operadores relacionales en Java devuelven un tipo booleano, true o false; mientras que en C++ devuelven un valor entero, en donde se puede considerar al valor cero como false y a un valor no-cero como true. >

Mayor que

>=

Mayor o Igual que

<

Menor que

=18)

¡Es importante ser ordenado en el código que se escribe!

escribir(“es mayor de edad”) sino escribir(“no es mayor de edad”) fin_si fin_programa

2. Se pide leer tres notas del alumno, calcular su promedio aritmético y enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo:

variables decimal: not1, not2, not 3,prom inicio leer(nota1, nota2, nota3) prom= (not1 + not2 + not3) /3 si (prom0 y num3>0 ) entonces suma=num1+num2+num3 resta=num1-num2-num3 multip=num1*num2*num3

¡Es importante ser ordenado en el código que se escribe!

escribir(suma,resta,multip) sino escribir(“Los números no son positivos) fin-si fin_programa

Fundamentos de Programación    

63 

e   

private void Generar_actionPerformed(ActionEvent e) { int num1,num2,num3,suma,resta,multip; num1=Integer.parseInt(txtn1.getText()); num2=Integer.parseInt(txtn2.getText()); num3=Integer.parseInt(txtn3.getText()); if (num1>0 & num2>0 & num3>0 ){ suma=num1+num2+num3; resta=num1-num2-num3; multip=num1*num2*num3; lblSum.setText(""+suma); lblRes.setText(""+resta); lblMul.setText(""+multip); } else lblSum.setText("Los números no son positivos"); }

2. Se ingresa el nombre de una persona. Si el nombre ingresado fuese ANA,

JUANA ó NANCY, se pide su edad y muestre como resultado su edad incrementado en 30%; de lo contrario la edad incrementara en 90%.

Fundamentos de Programación    

64 

e    variables caracter: nombre entero: edad real: increm inicio leer(nombre,edad) si (nombre=”Ana” o nombre=”Nancy” o nombre=”Juana” ) entonces increm=edad*0.30 sino increm=edad*0.90 fin-si escribir(“El incremento en la edad es:”,increm) fin_programa

private void btnCalcular_actionPerformed(ActionEvent e) { String nombre,m; int edad; double increm,porc; nombre=txtNom.getText(); edad=Integer.parseInt(txtEdad.getText()); if(nombre.equalsIgnoreCase("Ana") | nombre.equalsIgnoreCase("Nancy") | nombre.equalsIgnoreCase("Juana") ) { m="30 %"; porc=edad*0.30; Recordemos que cuando se } realiza una comparación de else { cadena se realiza con m="90 %"; equalsIgnoreCase  porc=edad*0.90; } increm=edad+porc; lblin.setText("El porcentaje es el "+m+" teniendo un incremento sobre la edad: "+increm); }

Fundamentos de Programación    

65 

e    3. En un hospital existen 3 áreas: Urgencias, Pediatría y Traumatología. El

presupuesto anual del hospital se reparte de la siguiente manera: Área

Presupuesto

Urgencias

37%

Pediatría

42%

Traumatología

21%

Obtener la cantidad de dinero que recibirá cada área para cualquier monto presupuestal. variables caracter: area real: Monto_Gen, p,increm inicio leer(area,Monto_Gen) si(area=”Urgencia”)entonces p=Monto_Gen*0.37 sino si(area=”Pediatria”)entonces p=Monto_Gen*0.42 sino si(area=“Traumatologia”) entonces p=Monto_Gen*0.21 fin_si fin_si fin_si escribir(“presupuesto por :”,area,” es:”, p) fin_programa

Fundamentos de Programación    

66 

e   

private void btnCalcular_actionPerformed(ActionEvent e) { String area; double Monto_Gen, p=0; area=txtar.getText(); Monto_Gen=Double.parseDouble(txtMg.getText()); if(area.equalsIgnoreCase("Urgencias")) p=Monto_Gen*0.37; else if(area.equalsIgnoreCase("Pediatria")) p=Monto_Gen*0.42; else if(area.equalsIgnoreCase("Traumatologia")) p=Monto_Gen*0.21; lblr.setText("presupuesto por "+area+" es "+ p); } 4. Ingrese un numero de solo 2 cifras y muestre si el numero es capicúa variables entero: num,c1,c2 inicio leer(num) si(num>=10 y num=10 & num10) entonces inc=0.25*sb sino si(ts>=5 y ts10) inc=0.25*sb; else if(ts>=5 & ts; si esto ocurre realiza las acciones correspondientes y el flujo de control sale de la estructura, en caso contrario evalúa la siguiente lista. Las acciones de la cláusula sino se ejecutará si ningún valor coincide con la .

EJEMPLOS: 1. Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo Exprese el algoritmo usando Pseudocódigo.

variables entero: dia inicio leer(dia) cuando(dia) sea caso 1: escribir(“lunes”) caso 2: escribir(“martes”) caso 3: escribir(“miércoles”) caso 4: escribir(“jueves”) caso 5: escribir(“viernes”) caso 6: escribir(“sábado”) caso 7: escribir(“domingo”) sino: escribir(“escribió un numero fuera del rango 1-7”) fin_cuando fin_programa

2. Que calcule el monto de una multa por exceso de velocidad. El conductor será multado si la velocidad del auto es mayor a 60 Km/h. Las multas se aplicaran de acuerdo a los siguientes rangos: VELOCIDAD MULTA [60, 100] [101, 130] [más de 130]

Fundamentos de Programación    

120 150 220

83 

e    Si además el conductor no utilizara el cinturón de seguridad la multa se incrementara en un 50%. Mostrar el neto a pagar del conductor infractor. variables entero: velocidad,multa real: incremento,neto_Pag inicio leer(velocidad,cinturon) cuando(velocidad) sea caso 60 a 100: multa=120 caso 101 a 1300: multa=150 caso >130: multa=220 fin_cuando if(cinturón=”no”)entonces incremento=multa*0.50 fin_si if(cinturón=”si”)entonces incremento=0 fin_si neto_pag=multa+incremento escribir(multa,incremento,neto_Pag) fin_programa

Practiquemos: Realiza el diseño para cada uno de estos caso.

Fundamentos de Programación    

84 

e   

Usando controles Swing ¾ JComboBox Este componente nos permite definir en primera instancia un conjunto de datos o valores. Cada valor tiene estas asociados a una caja de edición cualesquiera, así ahora el usuario tendrá la oportunidad de seleccionar un dato del conjunto de datos o respuestas ya predefinido. Nomenclatura

cboNombre Metodos 9 addItem.- permite agregar datos hacia el combo 9 getSelectedIndex().- que devuelve el orden del elemento seleccionado en un tipo de dato entero. 9 getSelectedItem().- que devuelve el contenido seleccinado del combo; y algo importante como debemos de sacar el contenido debemos de realizar un casting utilizando el .toString(), como por ejemplo así : String ver=cboTipo.getSelectedItem().toString(); 9 removeAllItems().- permite eliminar todos los elementos del combo. Como Usarlo: ™

cbotipo.addItem("Darle el Valor");

™

Int orden=nombreCombo.getSelectedIndex();

™

String Dato= nombreCombo.getSelectedItem().toString;

™

nombreCombo.removeAllItems;

3 Pasos Importantes: 9

1er paso Establecer el objeto dentro del Frame

9

2do paso poner el nombre del Combo busca la propiedad Name= cboNombre

9

3er paso dar click en Source y ubicarse antes de terminar el metodos jbInit y escribir

Fundamentos de Programación    

85 

e   

EJEMPLOS DE APLICACIÓN EN JAVA ™ Caso 1: Establecer una Lista de Nombres de los Tipo de Letras. Debe de quedar como se muestra en el Ejemplo.

1er paso Establecer el objeto dentro del Frame 2do paso poner el nombre del Combo busca la propiedad Name= cboTipo 3er paso dar click en Source y ubicarse antes de terminar el metodos jbInit y escribir cbotipo.addItem("Arial"); cbotipo.addItem("Comis Sans"); cbotipo.addItem("Book Antigua"); cbotipo.addItem("Calibri"); 4to paso ejecutar la aplicación y despliega el combo.

™ Caso 2: Establecer una Lista de Estado Civil y de Areas. Debe de quedar como se muestra en el Ejemplo.

Asi que debes de realizar los 3 pasos que ya realizamos anteriormente. Ah todo debe de ir en el jbInit // Llenar Estado Civil cboEst.addItem("Casado"); cboEst.addItem("Viudo"); cboEst.addItem("Soltero"); // Llenar Areas cboArea.addItem("Logistica"); cboArea.addItem("Ventas"); cboArea.addItem("Laboratorio"); cboArea.addItem("Contabilidad");

Fundamentos de Programación    

86 

e   

™ Caso 3: Tomando en cuenta el ejemplo anterior de acuerdo al area debemos de establecer el sueldo.

Procedimiento: 1. Realicemos los 3 primeros pasos. 2. Y ahora tambien agregue un Jlabel donde se llamara lblSueldo 3. Con una estructura condicional multiple preguntaremos por el orden que se selecciono y de acuerdo al orden estableceremos el sueldo. Así:

4. Entonces despues de los primeros 3 pasos lo que haremos es ahora dar doble click en el combo y codificamos. private void cboArea_actionPerformed(ActionEvent e) { int sueldo=0,orden; orden =cboArea.getSelectedIndex(); switch(orden){ case 0: sueldo=980; break; case 1: sueldo=1000; break; case 2: sueldo=1080; break; case 3: sueldo=1100; break; } lblSueldo.setText(""+sueldo); }

Fundamentos de Programación    

87 

e   

Contenidos - Uso de la Clase Math (max,min) - Implementación de Aplicaciones usando sintaxis del Lenguaje. - Ejercicios con estructuras condicionales ____________________________________________________________________________________

La Clase Math La clase Math representa la librería matemática de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo sucede con las demás clases que corresponden a objetos que tienen un tipo equivalente (Character, Float, etc.). El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.

™ Math.max( a,b )

para int, long, float y double

™ Math.min( a,b )

para int, long, float y double

™ Math.E

para la base exponencial

™ Math.PI

para PI

float max; z = Math.pow( 2,4 ); // eleva el número 2 a la cuarta. max = Math.max(45,80 ); // devuelve el numero mayor entre los 2 números System.out.println("El 2 al exponente de 4 es :"+ z ); System.out.println("El numero mayor entre 45 y 80 es: "+ max );

Fundamentos de Programación    

88 

e   

Estructuras Condicionales y Anidadas 1. Determinar el importe a pagar por un alumno de un Instituto cuya cuota tiene un porcentaje de descuento que se establece en la siguiente tabla y está en función al instituto de procedencia del alumno y su categoría. CATEGORIA Instituto Nacional Particular

A 50% 25%

B 40% 20%

C 30% 15%

variables Carácter: cat,ins real: porcI, Importe inicio leer(cat,inst,cuota) cuando(cat) sea caso “A”: cuando(ins) sea caso “Nacional”: porcI=0.50 * cuota caso “Particular”: porcI=0.25 * cuota fin_cuando caso “B”: cuando(ins) sea caso “Nacional”: porcI=0.40 * cuota caso “Particular”: porcI=0.20 * cuota fin_cuando caso “C”: cuando(ins) sea caso “Nacional”: porcI=0.30 * cuota caso “Particular”: porcI=0.15 * cuota fin_cuando fin_cuando importe=cuota+porcI escribir(porcI,importe) fin_programa

Fundamentos de Programación    

89 

e    2. La empresa “Clarito” esta realizando ofertas aquellas personas donde sus montos sean: Montos menos de 50 : descuento 0 Montos entre 50 y 120 : descuento 15% Montos más de 120 y menos de 450 : descuento 23% Mas o igual a 450 : descuento 45%

variables real: monto,des,total inicio leer(monto) si(monto=50 y monto 120 y monto 0))entonces si(numero >=10 y numero 50 y Monto 0)entonces escribir(“La cantidad de Billetes de 200 es : ”+b200) sino escribir(“No hay de Billetes de 200 ”) fin_si si(b100>0)entonces escribir(“La cantidad de Billetes de 100 es : ”+b100) sino escribir(“No hay de Billetes de 100 ”)

Fundamentos de Programación    

91 

e    fin_si si(b50>0)entonces escribir(“La cantidad de Billetes de 200 es : ”+b50) sino escribir(“No hay de Billetes de 50 ”) fin_si sino escribir(“No tiene el monto requerido”) fin_si fin_programa

Fundamentos de Programación    

92 

e   

Contenidos  -

Resolución de Aplicaciones. Uso de la Clase Math (abs,sqrt,log,etc) Casos resueltos en Java Describir los siguientes métodos: equalsIgnoreCase(), equals(), Ejemplos

____________________________________________________________________________________

Desarrollo de Casos Apliquemos estos casos en coodigo de Java. 1. Determinar el importe a pagar por un alumno de un Instituto cuya cuota tiene un porcentaje de descuento que se establece en la siguiente tabla y está en función al instituto de procedencia del alumno y su categoría. CATEGORIA Instituto Nacional Particular

A 50% 25%

B 40% 20%

C 30% 15%

private void btnCalcular_actionPerformed(ActionEvent e) { int cat,ins; double porcI=0, importe,cuota; cat=cboCat.getSelectedIndex(); ins=cboCole.getSelectedIndex(); cuota=Double.parseDouble(txtP.getText());

Fundamentos de Programación    

93 

e   

switch(cat) { case 0: switch(ins){ case 0: porcI=0.50 * cuota; break; case 1: porcI=0.25 * cuota; break; } break; case 1 : switch(ins){ case 0: porcI=0.40 * cuota; break; case 1: porcI=0.20 * cuota; break; } break; case 2: switch(ins){

Recordemos que en el lenguaje Java al utilizar  ComboBox  y al trabajar con el switch  debemos de trabajar con el orden de los  seleccionad. En el caso de la categoría solo hay  3 entonces será el orden 0,1 y 2. En el caso  instituto por ser 2 trabajemos como el orden 0  y 1 (particular y nacional). 

case 0: porcI=0.30 * cuota; break; case 1: porcI=0.15 * cuota; break;

Una estructura dentro de otra será Anidada,   no olvidemos del break (salto de línea) y esto  se establecer por cada uno de los casos. 

} break; } importe=cuota-porcI; lblDsct.setText(""+porcI); lblNeto.setText(""+importe); }

Fundamentos de Programación    

94 

e    ¾ La Clase Math La clase Math representa la librería matemática de Java. Si se importa la clase, se tiene acceso al conjunto de funciones matemáticas estándar: ™ Math.abs( x )

para int, long, float y double

™ Math.sin( double ) ™ Math.cos( double ) ™ Math.tan( double ) ™ Math.asin( double ) ™ Math.acos( double ) ™ Math.atan( double ) ™ Math.atan2( double,double ) ™ Math.exp( double ) ™ Math.log( double ) ™ Math.sqrt( double ) ™ Math.ceil( double ) ™ Math.floor( double ) ™ Math.rint( double ) ™ Math.pow( a,b ) ™ Math.round( x ) ™ Math.random()

para double y float devuelve un double

Ejemplo 01: Inserte un botón y escriba este código, donde estamos empleado métodos de la clase Math. //Variables int x; double rand,y; // Inicio rand = Math.random()*100+1; //Genera un numero aleatorio desde 1 hasta 100. x = Math.abs( -123 ); //convierte a un número absoluto. y = Math.round( 123.567 ); // redondea el numero

//Permite mostrar en Consola System.out.println("Numero Aleatorio: " +rand ); System.out.println("El Valor Absoluto de -123 es : "+ x );

Fundamentos de Programación    

95 

e    System.out.println("Redondeo de 123.567 es: "+y );

9

Funciones trigonométrica

En las funciones trigonométricas los argumentos se expresan en radianes. Por ejemplo, El ángulo 45º se convierte en radianes y luego se halla el seno, el coseno y la tangente double angulo = 45.0 * Math.PI/180.0; System.out.println("cos(" + angulo + ") es " + Math.cos(angulo)); System.out.println("sin(" + angulo + ") es " + Math.sin(angulo)); System.out.println("tan(" + angulo + ") es " + Math.tan(angulo)); /*Para pasar de coordenadas rectangulares a polares es útil la función atan2, que admite dos argumentos, la ordenada y la abscisa del punto. Devuelve el ángulo en radianes.*/ double y=-6.2; //ordenada double x=1.2; //abscisa System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));

Fundamentos de Programación    

96 

e    9 Funciones exponencial y logarítmica La función exponencial exp devuelve el número e elevado a una potencia System.out.println("exp(1.0) es " + Math.exp(1.0)); System.out.println("exp(10.0) es " + Math.exp(10.0)); System.out.println("exp(0.0) es " + Math.exp(0.0)); La función log calcula el logaritmo natural (de base e) de un número System.out.println("log(1.0) es " + Math.log(1.0)); System.out.println("log(10.0) es " + Math.log(10.0)); System.out.println("log(Math.E) es " + Math.log(Math.E));

9 Función potencia y raíz cuadrada Para elevar un número x a la potencia y, se emplea pow(x, y) System.out.println("5 al cubo 3 es: " + Math.pow(5,3)); //

Para hallar la raíz cuadrada de un número, se emplea la función sqrt int n=15; System.out.println("La raíz cuadrada de " + n + " es " + Math.sqrt(n));

Fundamentos de Programación    

97 

e    9 Aproximación de un número decimal Para expresar un número real con un número especificado de números decimales empleamos la función round. Por ejemplo, para expresar los números x e y con dos decimales escribimos

cifras

double x = 72.3543; double y = 0.3498; System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100); System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100); /*Se obtiene 72.35 y 0.35 como cabría esperar. Fijarse que round devuelve un número entero int que es necesario promocionar a double para efectuar la división entre 100. Si empleamos la función floor en vez de round obtendríamos*/ System.out.println(x + " es aprox. " + Math.floor(x*100)/100); System.out.println(y + " es aprox. " + Math.floor(y*100)/100);

Ejemplo: de 72.35 y 0.34 se obtiene. La aproximación del primero es correcta ya que la tercera cifra decimal es 4 inferior a 5. La aproximación del segundo es incorrecta ya que la tercera cifra decimal es 9 mayor que 5. En la mayor parte de los cálculos se cometen errores, por lo que la diferencia entre floor y round no es significativa.

Fundamentos de Programación    

98 

e    ™ El mayor y el menor de dos números Para hallar el mayor y el menor de dos números se emplean las funciones min y max que comparan números del mismo tipo. int i = 7; int j = -9; double x = 72.3543; double y = 0.3498; // para hallar el menor de dos número System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j)); System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y)); // Para hallar el mayor de dos números System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j)); System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));

Fundamentos de Programación    

99 

e    ™ Números aleatorios, absolutos, max, min int i = 7; int j = -9; double x = 72.3543; double y = 0.3498; System.out.println("el 1er valor es : " + i); System.out.println("el 2do valor es : " + j); System.out.println("el 3er valor es :" + x); System.out.println("el 4to valor es :" + y); // Valor absoluto de un número System.out.println("Valor absoluto de |" + i + "| es " + Math.abs(i)); System.out.println("Valor absoluto de |" + j + "| es " + Math.abs(j)); System.out.println("Valor absoluto de |" + x + "| es " + Math.abs(x)); System.out.println("Valor absoluto de |" + y + "| es " + Math.abs(y)); // para hallar el menor de dos número System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j)); System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y)); // Para hallar el mayor de dos números System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j)); System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y)); // las constantes PI y E System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E); System.out.println("La raíz cuadrada de " + i + " es " + Math.sqrt(i)); //

Programación en el lenguaje Java

9

// Devuelve un número pseudo-aleatorio comprendido entre 0.0 y 1.0 System.out.println("Número aleatorio: " + Math.random()); System.out.println("Otro número aleatorio: " + Math.random());

Fundamentos de Programación    

100 

e   

¾ Ingresar 4 numeros y mostrar el numero mayor.

private void b3_actionPerformed(ActionEvent e) { int a,b,c,d,m1; a=Integer.parseInt(txta.getText()); b=Integer.parseInt(txtb.getText()); c=Integer.parseInt(txtc.getText()); d=Integer.parseInt(txtd.getText()); m1=Math.max(a,b); m1=Math.max(m1,c); m1=Math.max(m1,d); lblm.setText(""+m1); } ¾ Mostrar la raiz cubica de un numero ingresado

Fundamentos de Programación    

intentalo

101 

e   

CASOS RESUELTOS Caso 01: De acuerdo a la velocidad excesiva del conductor se le multara de acuerdo a: Velocidad entre 60 a 100 multa es 120. Velocidad mas de 100 a 130 multa es 150. Velocidad mas de 130 multa es 220. Ademas otro incremento si no utiliza cinturon de seguridad. Pseudocodigo Variables entero: veloc,multa decimal: inc,mp lógico: rbtC, rbtNC INICIO leer (veloc,estado) si(veloc>60 y veloc100 y veloc130)entonces multa=220 fin_si si(rbtC=verdadero)entonces inc=0 fin_si si(rbtNC=verdadero)entonces inc=0.5*multa fin_si mp=multa+inc; escribir (veloc,multa,inc) FIN

Fundamentos de Programación    

102 

e    Java private void jbInit() throws Exception { …………………………….. …………………………….. GrupoVelocidades.add(rbtC); GrupoVelocidades.add(rbtNC); } private void btncalcular_actionPerformed(ActionEvent e) { int veloc,multa=0; double inc=0,mp; veloc=Integer.parseInt(txtveloc.getText()); if(veloc>60&veloc100&veloc130) multa=220; if(rbtC.isSelected()==true) inc=0; if(rbtNC.isSelected()==true) inc=0.5*multa; mp=multa+inc; lblmulta.setText(""+multa); lblinc.setText(""+inc); lblmp.setText(""+mp); } private void btnrestablecer_actionPerformed(ActionEvent e) { txtveloc.setText(""); lblmulta.setText(""); lblinc.setText(""); lblmp.setText(""); rbtC.setSelected(true); }

Fundamentos de Programación    

103 

e    Caso 02:De acuerdo al consumo del cliente se le realizara el siguiente descuento pero ademas el consumo tendrá un pago adicional que sera el igv. Consumos hasta S/. 60 se le descuenta el 7.5% Consumos mas de S/. 60 se le descuenta 12%. Mostrar los datos calculados y el pago neto. Pseudocodigo Variables entero: con decimal: des,igv,mc INICIO leer (con) si(con>0&con60)entonces des=0.12*con fin_si igv=0.19*con mc=con-des+igv escribir (veloc,multa,inc) FIN

JAVA private void btncalcular_actionPerformed(ActionEvent e) { int con; double des=0,igv=0,mc; con=Integer.parseInt(txtcon.getText()); if(con>0&con60) des=0.12*con; igv=0.19*con; mc=con-des+igv; lbldes.setText(""+des); lbligv.setText(""+igv); lblmc.setText(""+mc); } private void btnlimpiar_actionPerformed(ActionEvent e) { txtcon.setText(""); lbldes.setText(""); lbligv.setText(""); lblmc.setText(""); }

Fundamentos de Programación    

104 

e   

Caso 03: Que muestre un mensaje indicando si un usuario es o no mayor de edad, según al año de nacimiento Pseudocodigo Variables caracter: m entero: nac,eea INICIO leer (nac) eea=2010-nac si(eea>=18)entonces m=", Usted es mayor de edad" sino si(eea>0 y eea=18) m=", Usted es mayor de edad"; else if(eea>0&eean2) r="en primero es mayor que el segundo" sino si(n1=n2) r="Ambos numeros son iguales"; sino si(n1n2) r="en primero es mayor que el segundo"; if(n1==n2) r="Ambos numeros son iguales"; if(n10 y mca120 y mca180&mca250)entonces descuento=0.21*mca fin_si fin_si fin_si igv=0.19*mca; neto=mca-descuento+igv; escribit(descuento,igv,neto) FIN

Fundamentos de Programación    

109 

e    JAVA private void btnprocesar_actionPerformed(ActionEvent e) { int mca; double descuento=0,igv=0,neto; mca=Integer.parseInt(txtmca.getText()); if(mca>0&mca120&mca180&mca250) descuento=0.21*mca; igv=0.19*mca; neto=mca-descuento+igv; lbldescuento.setText(""+descuento); lbligv.setText(""+igv); lblneto.setText(""+neto); } private void btndeshacer_actionPerformed(ActionEvent e) { txtmca.setText(""); lbldescuento.setText(""); lbligv.setText(""); lblneto.setText(""); }

Fundamentos de Programación    

110 

e    Caso 06: La empresa SODIMAC ha implementado como parte de su programa social un subsidio familiar, que será otorgado por vez única a las madres de familia trabajadoras bajo la siguiente reglamentación: Las familias que tienen hasta 3 hijos reciben S/. 60, las que tienen 4 y 6 hijos reciben S/. 85 de escolaridad estos montos es por cada hijo y las que tienen más hijos reciben S/. 285 por escolaridad. Si la madre de familia fuese: Viuda recibirá adicionalmente S/. 55 Casada recibirá adicionalmente S/. 25 PC: Que determine el monto por subsidio que recibirá una trabajadora bajo las condiciones ya indicadas. private void btnprocesar_actionPerformed(ActionEvent e) { int hijos,mh=0,mm=0; hijos=Integer.parseInt(txthijos.getText()); if(hijos==0) mh=0; if(hijos>0&hijos=4&hijos6) mh=185*hijos; if(rbtV.isSelected()==true) mm=(mh+55); if(rbtC.isSelected()==true) mm=(mh+25); if(rbtS.isSelected()==true) mm=(mh+10); lblmh.setText(""+mh); lblmm.setText(""+mm); }

Fundamentos de Programación    

111 

e    private void btnactualizar_actionPerformed(ActionEvent e) { txthijos.setText(""); lblmh.setText(""); lblmm.setText(""); }

Fundamentos de Programación    

112 

e    Caso 07: La Empresa CLARITO cobra por el servicio de minutos de llamadas locales de acuerdo a la siguiente escala: Si el número de minutos no excede a los 80, la tarifa por minuto es de S/. 0.45 y si fuera mayor la tarifa por minuto adicional será de S/. 0.52. PC: Que muestre el total a pagar por el servicio local considerando IGV.

private void lblprocesar_actionPerformed(ActionEvent e) { int cm; double n=0,a=0,mpi=0,mpa=0,igv=0,mtp=0,total; cm=Integer.parseInt(txtcm.getText()); if(cm>0&cm80){ n=0.45; a=0.52; mpi=80*0.45; mpa=(cm-80)*0.52; /* igv=0.19*(mpi+mpa); mtp=mpi+mpa+igv;*/ } total=mpi+mpa; igv=0.19*total; mtp=mpi+mpa+igv; lbln.setText(""+n); lbla.setText(""+a); lbltp.setText(""+total); lblmpi.setText(""+mpi); lblmpa.setText(""+mpa); lbligv.setText(""+igv); lblmtp.setText(""+mtp); }

Fundamentos de Programación    

113 

e    private void lblactualizar_actionPerformed(ActionEvent e) { txtcm.setText(""); lbln.setText(""); lbla.setText(""); lblmpi.setText(""); lblmpa.setText(""); lbligv.setText(""); lblmtp.setText(""); }

Fundamentos de Programación    

114 

e    Caso 08: Un usuario desea adquirir un televisor de 21” por lo tanto le ofrecen los descuentos de acuerdo a la marca. Que muestre el neto a pagar por el usuario en soles sabiendo que se tiene las siguientes ofertas: MARCA PRECIO $ CON DCTO SAMSUNG 370* PHILIPS 365 AIWA 320 LG 299* PANASONIC 280 Los artículos indicados con *, adicionalmente tendrán un descuento de 12.5%. Considerar IGV del 19%. private void lblrestablecer_actionPerformed(ActionEvent e) { lblprecio.setText(""); lbldescuento.setText(""); lbligv.setText(""); lblmp.setText(""); cbomarcas.setSelectedIndex(0); } private void cbomarcas_actionPerformed(ActionEvent e) { int orden,precio=0; double descuento=0,igv=0,mp=0; orden=cbomarcas.getSelectedIndex(); switch(orden){ case 0:precio=0; descuento=0; break; case 1:precio=370; descuento=0.125*precio; break; case 2:precio=365; break; case 3:precio=320; break; case 4:precio=299; descuento=0.125*precio; break; case 5:precio=280; break; } igv=0.19*precio; mp=precio+igv; lblprecio.setText(""+precio); lbldescuento.setText(""+descuento); lbligv.setText(""+igv); lblmp.setText(""+mp); }

Fundamentos de Programación    

115 

e   

Caso 09:La universidad recibe a alumnos postulantes dentro de la cual el monto a pagar sera de acuerdo a la procedencia del colegiio(Nacional o Particular) y dependiedo a la categoria A , B y C A B C Nacional 50% 40% 30% Particular 25% 20% 15% private void btncalcular_actionPerformed(ActionEvent e) { int orden; double cuota,descuento=0,tp=0; cuota=Double.parseDouble(txtcuota.getText()); orden=cbocategoria.getSelectedIndex(); switch(orden){ case 0: if(rbtN.isSelected()==true) lbldescuento.setText(""); lbltp.setText(""); if(rbtP.isSelected()==true) lbldescuento.setText(""); lbltp.setText(""); break; case 1: if(rbtN.isSelected()==true) descuento=0.5*cuota; if(rbtP.isSelected()==true) descuento=0.25*cuota; break;

Fundamentos de Programación    

116 

e    case 2: if(rbtN.isSelected()==true) descuento=0.4*cuota; if(rbtP.isSelected()==true) descuento=0.2*cuota; break;

case 3: if(rbtN.isSelected()==true) descuento=0.3*cuota; if(rbtP.isSelected()==true) descuento=0.15*cuota; break; } tp=cuota-descuento; lbldescuento.setText(""+descuento); lbltp.setText(""+tp); } private void btnactualizar_actionPerformed(ActionEvent e) { txtcuota.setText(""); lbldescuento.setText(""); lbltp.setText(""); cbocategoria.setSelectedIndex(0); rbtN.setSelected(true); }

Fundamentos de Programación    

117 

e   

Caso 10: Calcule el sueldo de un empleado a partir de su sueldo bruto. Sobre este sueldo se harán los siguientes descuentos: Descuentos fijos: Jubilación 13%, Seguro 11%. Descuentos variables: Cooperativa 3% (descuento máximo S/.15.00), Sindicato a 6%. Estos descuentos se harán si el empleado pertenece a la cooperativa o al sindicato. Dependiendo de los años de servicio el empleado recibirá una bonificación especial no afecta a descuento, de acuerdo al siguiente cuadro: AÑOS DE SERVICIO

BONIFICACION (%)

0–5 15.0 6 – 10 18.0 11 - 15 20.0 Más de 15 25.0 Estos porcentajes se aplicaran sobre el sueldo bruto y en ningún caso sobrepasaran los S/. 500.00. Los empleados pueden ser de 3 categorías (A, B, C). Los de categoría A recibirán la bonificación calculada, los de la categoría B recibirán la mitad y los de la categoría C recibirán la cuarta parte. Al final se presentara lo siguiente: SUELDO BRUTO TOTAL DESCUENTOS : BONIFICACION SUELDO NETO

Fundamentos de Programación    

: S/. : :

S/. S/. S/.

118 

e    private void jbInit() throws Exception { ……………………. …………………….. GrpDescVaria.add(rbtCoo); GrpDescVaria.add(rbtSin); GrpCategoria.add(rbtA); GrpCategoria.add(rbtB); GrpCategoria.add(rbtC); cboAs.addItem("Seleccionar Tiempo"); cboAs.addItem("0 - 5"); cboAs.addItem("6 - 10"); cboAs.addItem("11 - 15"); cboAs.addItem("16 a mas"); } private void btnCalcular_actionPerformed(ActionEvent e) { int sb,as=0; double b1=0,b2=0,sn,j,td,s,tb,dv=0; sb=Integer.parseInt(txtSb.getText()); //Descuentos Fijos if(chkJ.isSelected()==true) j=0.13*sb; else j=0; if(chkS.isSelected()==true) s=0.11*sb; else s=0; //Descuentos Variables if(rbtCoo.isSelected()==true){ dv=0.03*sb; if(dv>15) dv=15; } if(rbtSin.isSelected()==true) dv=0.06*sb;

Fundamentos de Programación    

119 

e    //Tiempo de Servicio y se halla la bonificacion as=cboAs.getSelectedIndex(); switch(as){ case 1:b1=0.15*sb; break; case 2:b1=0.18*sb; break; case 3:b1=0.20*sb; break; case 4:b1=0.25*sb; break; } if(b1>500) b1=500; // Categorias y segunda bonificacion if(rbtA.isSelected()) b2=b1; if(rbtB.isSelected()) b2=b1/2; if(rbtC.isSelected()) b2=b1/4; //Calculos finales td=j+s+dv; tb=b1+b2; sn=sb+tb-td; //Salida de Datos lblJ.setText(""+j); lblS.setText(""+s); lblV.setText(""+dv); lblB.setText(""+b1); lblB2.setText(""+b2); lblDes.setText(""+td); lblBoni.setText(""+tb); lblSn.setText(""+sn); }

Fundamentos de Programación    

120 

e    private void btnNuevo_actionPerformed(ActionEvent e) { txtSb.setText(""); lblJ.setText(""); lblS.setText(""); lblV.setText(""); lblB.setText(""); lblB2.setText(""); lblDes.setText(""); lblBoni.setText(""); lblSn.setText(""); cboAs.setSelectedIndex(0); chkJ.setSelected(false); chkS.setSelected(false); }

Fundamentos de Programación    

121 

e    Caso 11: Ingresar 5 numeros y mostrar el mayor, menor y promedio de estos. Realice el diseño // variables locales double A,B,C,D,E,mayor,menor,promedio; //Leer 5 numeros A = Double.parseDouble(txtN1.getText()); B = Double.parseDouble(txtN2.getText()); C = Double.parseDouble(txtN3.getText()); D = Double.parseDouble(txtN4.getText()); E = Double.parseDouble(txtN5.getText()); //encontrar el mayor mayor = A; // asume que es el primero // compara con los restantes, quedandose con el mayor if(B > mayor) mayor = B; if(C > mayor) mayor = C; if(D > mayor) mayor = D; if(E > mayor) mayor = E; // imprimir el mayor lblSalida1.setText("El número mayor es: " + mayor + "\n"); //encontrar el menor menor = A; // asume que es el primero // compara con los restantes, quedandose con el mayor if(B < menor) menor = B; if(C < menor) menor = C; if(D < menor) menor = D; if(E < menor) menor = E; // imprimir el menor lblSalida2. setText ("El número menor es: " + menor + "\n");

// encontrar el promedio promedio = (A + B + C + D + E) / 5; // imprimir el promedio lblSalida3. setText ("El promedio es\t: " + promedio + "\n");

Fundamentos de Programación    

122 

e    caso 12: Establezca el subsidio familiar de acuerdo a la cantidad de hijos, hijos en escolaridad y al estado civil. Si tine hasta 2 hijos recibe 100 Si tiene hasta 5 hijos recibe 190 Mas hijos 210. Por cada hijo en edad escolar recibe el S/.10 por cada hijo Si es viuda recibe S/.20 Muestre el neto a cobrar. Realice el diseño // variables locales int nhijos,hijosEsc; double sub1, sub2, sub3, subsidio; // leer numero de hijos y numero de hijos escolares nhijos = Integer.parseInt(txtHijos.getText()); hijosEsc = Integer.parseInt(txtEscolares.getText()); // calcular subsidio por numero de hijos if(nhijos
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF