Texto Guía Programación 1.1
Texto Guía Programación 1.1
PROGRAMACIÓN I
Gestión 2021
Ing. Iván Israel Cordero Morales
Graduado de la Universidad Juan Misael Saracho con Titulo en provisión nacional de
Ingeniería Informática y Diplomados en Educación Basada en Competencias y Teoría y
Práctica Pedagógica Universitaria.
Con varios años de experiencia como docente en el Instituto Técnico Superior INCOS Tarija
donde mi objetivo es compartir los conocimientos obtenidos durante mi formación para
formar personas capaces de dar soluciones a problemas.
El presente texto guía Programación I será una herramienta que apoyara a fortalecer el
aprendizaje de los estudiantes que están dando sus primeros pasos en la carrera de Sistemas
Informáticos y más aun que están comenzando a conocer el arte de la programación
Se pretende lograr competencias tales como elaboración de Algoritmos, conocer la
programación estructurada, modular, todo eso con ejemplos y ejercicios prácticos.
Contenido
INTRODUCCIÓN .............................................................................................................................9
EJERCICIOS PROPUESTOS:.........................................................................................................16
CONCLUSIONES ...........................................................................................................................16
EJERCICIOS PROPUESTOS:.........................................................................................................26
BIBIOGLAFÍA ..............................................................................................................................110
INTRODUCCIÓN
La programación además de ser una asignatura base para los profesionales en sistemas es un
arte donde nos permite crear con nuestros conocimientos sistemas y programas que
solucionan problemas de la vida diaria.
En los últimos tiempos esta rama de la informática ha ido creciendo en mercado y personas
interesadas en aprenderla, y podemos ver a profesionales de distintas ramas muy interesados
en la Programación.
Con el presente texto guía se pretende que los estudiantes de la carrera de sistemas
informáticos de Segundo Año del Instituto Técnico Superior INCOS Tarija cuenten con un
documento base de algoritmos y programas resueltos además de muchos ejercicios
propuestos para la construcción de sus conocimientos.
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMÁTICA 1
INTRODUCCIÓN A LA PROGRAMACIÓN
SUMARIO
1.1. Conceptos básicos relacionados a la programación
1.2. Paradigmas de Programación
1.3. Etapas de solución de problemas
OBJETIVOS
Conocer los conceptos generales de la computadora
Conocer conceptos generales de la programación y sus aplicaciones
Conocer y utilizar las etapas de solución de problemas para encontrar solución a los
problemas
INTRODUCCIÓN
Introducirse al mundo de la programación puede ser un poco complejo por ello es importante
conocer los diferentes conceptos sobre tecnología y lo relacionado con la computación.
Otro elemento importante para dar inicio es conocer cómo resolver problemas de manera
sistemática utilizando cada etapa de dicho proceso.
En esta Unidad lograremos comprender lo mencionado,
comencemos…
DIAGNÓSTICO
Ingresar a www.menti.com para responder las siguientes
preguntas
El docente enviara el código para dicho proceso.
10
Programación 1 Ing. Iván I. Cordero Morales
Programación:
Ciencia o arte que nos permite programar
una computadora con el fin de resolver o
encontrar solución a un problema
planteado.
Software de Programación:
Software:
Es el encargado de proporcionarnos las
Conjunto de Instrucciones detalladas que
herramientas necesarias para que en un
controlan y coordinan el Hardware
momento dado podamos ejecutar un
conectado al equipo y las operaciones de
programa o construir uno
un sistema informático
Clases de Software:
Software de Sistema
Software de Programación
Software de Aplicación
Software de Sistema:
Es un conjunto generalizado de programas Software de Aplicación:
que gestiona los recursos de la
Es con el que el usuario tiene mayor
computadora, tal como el procesador
interacción, es el que permite así mismo
central, enlaces de comunicaciones y
ejecutar tareas o poder llevarlas a cabo Es
dispositivos periféricos
con el que el usuario tiene mayor
Ejemplos:
interacción, es el que permite así mismo
ejecutar tareas o poder llevarlas a cabo
11
Programación 1 Ing. Iván I. Cordero Morales
Lenguaje de Programación:
Conjunto de normas o reglas lógicas Lenguaje de Bajo Nivel:
definidas por medio de símbolos o Es un lenguaje un poco más fácil de
palabras clave que nos permitan construir interpretar, pero puede variar de acuerdo
un programa para dar solución a un con la máquina o computadora que se esté
problema programando.
Tipos de Lenguajes de
Programación: Lenguaje de Programación de
• Lenguaje Maquina alto nivel:
• Lenguaje de Bajo Nivel En esta categoría se encuentran los más
• Lenguaje de Alto Nivel utilizados. Se usan palabras del inglés lo
cual facilita que una persona pueda
Lenguaje Maquina:
intervenir más fácil que en los dos
Es el más primitivo de los códigos y se
anteriores.
basa en la numeración binaria, todo en 0 y
1. Este lenguaje es utilizado directamente
por máquinas o computadora.
12
Programación 1 Ing. Iván I. Cordero Morales
Programa:
Conjunto de instrucciones almacenadas
con el fin de otorgar una solución a un
problema.
Compiladores:
Son componentes que van traduciendo un
programa, de tal manera que deja un rastro
o constancia de mismo para
posteriormente generar un programa
ejecutable a fin de no requerir nueva
Editores de Texto:
traducción cada vez que se disponga a
Los Editores de Texto son programas que ejecutar un programa.
nos permiten la entrada de caracteres
IDE(Entorno de desarrollo
Integrado):
Es un sistema de software para el diseño
de aplicaciones que combina herramientas
del desarrollador comunes en una sola
interfaz gráfica de usuario (GUI).
13
Programación 1 Ing. Iván I. Cordero Morales
14
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS RESUELTOS
A continuación verificaremos algunos ejemplos sobre las etapas de solución de problemas:
Ejemplo: Realizar una llamada telefónica
15
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS:
1. Realizar el análisis de los siguientes problemas planteados identificando las 3 etapas del
proceso, los ejercicios realizados deberán subirlo al Classroom de la materia en la tarea
asignada por el docente para su respectiva evaluación.
2. Cocinar una cena
3. Arreglar una bicicleta
4. Preparar café
5. Cambiar un Foco
6. Retirar Dinero de un cajero automático
7. Enviar un mensaje por WhatsApp
8. Desinfectarse al llegar a casa
9. Calcular la División de Dos números
10. Convertir minutos a horas
11. Calcular el promedio de las siguientes notas 70, 80, 100
CONCLUSIONES
Al finalizar la unidad temática el estudiante conocerá los conceptos básicos relacionados con
la programación y podrá realizar un análisis correcto de problemas identificando sus etapas
para dar solución a los mismo.
16
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 2
DISEÑO DE ALGORITMOS
SUMARIO
2.1. Concepto de Algoritmo
2.2. Características de los Algoritmos
2.3. Comandos o palabras reservadas
2.4. Tipos Datos
2.5. Variables y Constantes
2.6. Operadores
2.7. Clases de Algoritmos
OBJETIVOS
Conocer el concepto de algoritmo, sus características y aplicación en la
resolución de problemas utilizando pseudocódigo o diagramas de flujo,
INTRODUCCIÓN
El primer paso para poder programar es conocer a los Algoritmos, con ello
podremos lograr obtener una lógica de programación y estaremos dando
nuestros primeros pasos hacia la construcción de programas que lleven a la
solución de problemas
En esta unidad aprenderemos a crear algoritmos tanto empleando pseudocódigo
como diagramas de flujo esto con el fin de resolver problemas
DIAGNÓSTICO
Ingresar a www.menti.com para responder las siguientes
preguntas
17
Programación 1 Ing. Iván I. Cordero Morales
18
Programación 1 Ing. Iván I. Cordero Morales
Significado
Función o palabra
SEN(X) Seno de X
COS(X) Coseno de X
ATAN(X) Arcotangente de X
19
Programación 1 Ing. Iván I. Cordero Morales
Variable:
20
Programación 1 Ing. Iván I. Cordero Morales
Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso
de la ejecución del programa.
2.6 Operadores:
Operadores aritméticos:
Son utilizadas para construir fórmulas matemáticas. Las variables y constantes utilizadas
son de naturaleza numérica, es decir números enteros o reales, y las operaciones a efectuar
son de orden aritmético.
Operadores relacionales:
Los operadores relacionales sirven para expresar las condiciones en los algoritmos. Las
variables y constantes utilizadas son de distinta naturaleza, el resultado de una expresión
lógica y relacional es de tipo lógico.
Operadores lógicos:
Se utilizan en los programas cuando se requiere conocer o evaluar si los valores de variables
o constantes determinadas cumplen con ciertas condiciones. De cumplirse o no, permiten un
conjunto de instrucciones que pueden o no ejecutarse. Una expresión lógica puede ser
verdadera o falsas.
Significado Ejemplo
Operador
Relacionales
> Mayor que 3>2
< Menor que 'ABC'<'abc'
= Igual que 4=3
<= Menor o igual que 'a'<='b'
21
Programación 1 Ing. Iván I. Cordero Morales
Lógicos
&óY Conjunción (y). (7>4) & (2=1) //falso
|óO Disyunción (o). (1=1 | 2=1) //verdadero
~ ó NO Negación (no). ~(2<5) //falso
Algebraicos
+ Suma total <- cant1 + cant2
- Resta stock <- disp - venta
* Multiplicación area <- base * altura
/ División porc <- 100 * parte / total
^ Potenciación sup <- 3.41 * radio ^ 2
% ó MOD Módulo (resto de la división entera) resto <- num MOD div
Pseint.
22
Programación 1 Ing. Iván I. Cordero Morales
Pseudocódigo:
Es un lenguaje algorítmico, muy parecido
al español pero más conciso que permite
la redacción rápida del algoritmo
Diagramas de Flujo:
Es una representación gráfica que
utiliza símbolos normalizados por
la ANSI y expresa sucesivas
instrucciones que se debe realizar
para resolver el problema estas
instrucciones no depende de la
sintaxis de ningún lenguaje de
programación sino que debe servir fácilmente para su transformación en un lenguaje de
programación
23
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS RESUELTOS
Realizar un algoritmo que sume dos números ingresados por el usuario
24
Programación 1 Ing. Iván I. Cordero Morales
25
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS:
Realizar los siguientes algoritmos. Los ejercicios realizados deberán subirlo al Classroom de
la materia en la tarea asignada por el docente para su respectiva evaluación.
1. Calcular el producto de dos números
2. Calcular la División de Dos números
3. Calcular el área de un Rombo
4. Convertir minutos a horas
5. Convertir horas a minutos
6. Calcula el área de un cuadrado
7. Calcular el perímetro de un cuadrado
8. Calcular la circunferencia de un circulo
9. Calcular el área de un circulo
10. Calcular el promedio de las siguientes notas 70, 80, 100
11. Hallar el cociente y el residuo de dos números enteros
Condición
Una condición corresponde a una expresión lógica.
La expresión lógica se compone de dos valores que se comparan por ejemplo:
.
26
Programación 1 Ing. Iván I. Cordero Morales
mayor >
menor <
Igual =
Diferente ! = o <>
27
Programación 1 Ing. Iván I. Cordero Morales
28
Programación 1 Ing. Iván I. Cordero Morales
Realizar un algoritmo que de acuerdo con la edad de la persona muestre si es mayor de edad.
29
Programación 1 Ing. Iván I. Cordero Morales
30
Programación 1 Ing. Iván I. Cordero Morales
Escribir algoritmo que pida la edad de una persona y muestre en qué etapa se encuentra,
según lo siguiente:
• Si la edad de la persona es de 0 a 11 muestre Infancia
• Si la edad es de 12 a 18 Adolescencia
• Si la edad es de 19 a 26 Juventud
• Si la edad es de 27 a 59 Adultez
• es mayor a 60 Vejez
31
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS
1. Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en pantalla
indicando que debe abonar impuestos.
2. Determinar si un número entero es par o impar
3. Realizar un programa que lea por teclado dos números, si el primero es mayor al segundo
informar su suma y diferencia, en caso contrario informar el producto y la división del
primero respecto al segundo.
4. Elaborar un algoritmo que solicite la edad de 2 hermanos y muestre un mensaje indicando
la edad del mayor y cuantos años de diferencia tiene con el menor
32
Programación 1 Ing. Iván I. Cordero Morales
33
Programación 1 Ing. Iván I. Cordero Morales
Estructuras de repetición
Para dar solución a algunos problemas y optimizar el código es necesarios utilizar las
estructuras de repetición, la cuales son utilizadas para repetir una o más instrucciones varias
veces. También se las conoce como bucles.
Estructura Mientras
Es cuando se repite una operación mientras una condición sea verdadera, al dejar de serlo, se
rompe el ciclo. Si la condición nunca es falsa, se
tiene un ciclo infinito.
Sintaxis
Contadores
Son variables que incrementan su valor + o decrementan - con un
valor constante.
Acumuladores
Son variables que almacenan variables cuyo valor se
incrementa por el valor que va tomando otra variable
34
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS RESUELTOS
Realizar un algoritmo que sume los n números introducidos por el usuario.
Realizar un algoritmo que dado un rango de números enteros, se debe obtener la cantidad de
números que contiene.
35
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS
1. Realizar un algoritmo que imprima los números del 1 al 10
2. Realizar un algoritmo que imprima los números pares entre el 0 y 100
3. Realizar un algoritmo que imprima los números del 50 al 100.
4. Realizar un algoritmo que imprima los números del -50 al 0.
5. Realizar un algoritmo que determine cuántos dígitos pares tiene un número
6. Realizar un algoritmo que permita la carga de 10 valores por teclado y nos muestre
posteriormente la suma de los valores ingresados y su promedio.
7. Realizar un algoritmo que determine si un número es primo o no, se dice que un numero
es primo cuando es divisible entre 1 y entre sí.
8. Realizar un algoritmo que determine el factorial de un numero ingresado por ejemplo si
se ingresa el numero 4!=1*2*3*4 =24
9. Realizar un algoritmo que solicite ingresar 15 edades y nos informe cuántos son mayores
de edad y cuantos menores de edad
10. Realizar un algoritmo que dado un numero devuelva el inverso del mismo, por ejemplo
si introduce 156 devuelva 651
36
Programación 1 Ing. Iván I. Cordero Morales
Sintaxis.
EJERCICIOS RESUELTOS
Realizar un algoritmo que sume los n números introducidos por el usuario.
37
Programación 1 Ing. Iván I. Cordero Morales
Realizar un algoritmo que dado un rango de números enteros, se debe obtener la cantidad de
números que contiene.
38
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS
1. Realizar un algoritmo que imprima los números del 1 al 10
2. Realizar un algoritmo que imprima los números pares entre el 0 y 100
3. Realizar un algoritmo que imprima los números del 50 al 100.
4. Realizar un algoritmo que imprima los números del -50 al 0.
5. Realizar un algoritmo que determine cuántos dígitos pares tiene un número
6. Realizar un algoritmo que permita la carga de 10 valores por teclado y nos muestre
posteriormente la suma de los valores ingresados y su promedio.
7. Realizar un algoritmo que determine si un número es primo o no, se dice que un numero
es primo cuando es divisible entre 1 y entre sí.
8. Realizar un algoritmo que determine el factorial de un numero ingresado por ejemplo si
se ingresa el numero 4!=1*2*3*4 =24
9. Realizar un algoritmo que solicite ingresar 15 edades y nos informe cuántos son mayores
de edad y cuantos menores de edad
10. Realizar un algoritmo que dado un numero devuelva el inverso del mismo, por ejemplo
si introduce 156 devuelva 651
Estructura Para
Es útil cuando se sabe el número de repeticiones a ejecutar, por lo general se define una
variable que sirve de contador el cual es encargado
de controlar el número de iteraciones. También se
puede definir el incremento del contador en cada
iteración
Sintaxis
39
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS RESUELTOS.
Realizar un algoritmo que sume los n números introducidos por el usuario.
Realizar un algoritmo que dado un rango de números enteros, se debe obtener la cantidad de
números que contiene.
40
Programación 1 Ing. Iván I. Cordero Morales
EJERCICIOS PROPUESTOS
1. Realizar un algoritmo que imprima los números del 1 al 10
2. Realizar un algoritmo que imprima los números pares entre el 0 y 100
3. Realizar un algoritmo que imprima los números del 50 al 100.
4. Realizar un algoritmo que imprima los números del -50 al 0.
5. Realizar un algoritmo que determine cuántos números pares e impares existen en un
rango de números.
6. Realizar un algoritmo que permita la carga de 10 valores por teclado y nos muestre
posteriormente la suma de los valores ingresados y su promedio.
7. Realizar un algoritmo que determine si un número es primo o no, se dice que un numero
es primo cuando es divisible entre 1 y entre sí.
8. Realizar un algoritmo que determine el factorial de un numero ingresado por ejemplo si
se ingresa el numero 4!=1*2*3*4 =24
9. Realizar un algoritmo que solicite ingresar 15 edades y nos informe cuántos son mayores
de edad y cuantos menores de edad
10. Realizar un algoritmo que determine cuantos números primos hay en N números
enteros positivos
CONCLUSIONES
Al finalizar la Unidad Temática podremos resolver problemas utilizando algoritmos y
obtendremos con la práctica una lógica de programación la que nos servirá como base para
crear programas que soluciones problemas.
41
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 3
INTRODUCCION AL LENGUAJE DE
PROGRAMACION
SUMARIO
3.1 ¿Qué es Java?
3.2 Características de Java
3.3 Instalación
3.4 Estructura de un programa
3.5 Variables
3.6 Constantes
3.7 Palabras Reservadas
OBJETIVOS
Comprender conceptos y características del lenguaje de programación JAVA
Instalar Java luego de descargar el software del link proporcionado más adelante
Instalar algún IDE que nos servirá para poder comenzar a crear programas de computadoras
utilizando el lenguaje de programación JAVA
INTRODUCCIÓN
Java es un lenguaje de programación muy popular y fácil de comprender ya que sus
características lo llevan a ser un lenguaje potente para crear programas y solucionar distintos
tipos de problemas
En esta unidad aprenderemos los conceptos principales del lenguaje JAVA además de sus
características principales. Analizaremos la estructura básica de un programa hecho en JAVA
y conoceremos las palabras reservadas de dicho lenguaje.
42
Programación 1 Ing. Iván I. Cordero Morales
DIAGNÓSTICO
Ingresar a www.menti.com para responder las siguientes
preguntas
El docente enviara el código para dicho proceso.
Independiente de Plataforma
Cuando compilamos código fuente Java no se genera código máquina específico, si no que
se generan bytecodes, los cuales son interpretados por la Java Virtual Machine (JVM),
posibilitando que un mismo código fuente pueda ser ejecutado en múltiples plataformas.
Orientado a Objetos
Cualquier elemento del lenguaje Java es un objeto. Dentro de los objetos se encapsulan los
datos, los cuales son accedidos mediante métodos.
43
Programación 1 Ing. Iván I. Cordero Morales
Sencillo
Java está enfocado para ser un lenguaje fácil de aprender. Simplemente se deberán de
entender los conceptos básicos de la programación orientada a objetos (POO).
Seguro
Es seguro ya que los programas se ejecutan dentro de la Java Virtual Machine (JVM) en un
formato de “caja de arena”, de tal manera que no pueden acceder a nada que esté fuera de
ella.
Tiene una validación sobre los bytecodes para comprobar que no hay códigos de fragmento
ilegal.
Arquitectura
Neutral
Independientemente de
que se ejecute en una
arquitectura de 32bits o de
64bits. En Java los tipos de
datos siempre ocupan lo
mismo.
Portable
Java no tiene nada que
dependa de la plataforma,
lo cual le hace que sea
portable a diferentes
plataformas.
Robusto
El lenguaje Java intenta controlar las situaciones de error en los procesos de compilación y
de ejecución, reduciendo de esta manera el riesgo de fallo.
Además Java realiza el control total de la memoria alocándola y retirándola mediante un
garbage colletor, de tal manera que no podemos utilizar punteros para acceder a ella.
44
Programación 1 Ing. Iván I. Cordero Morales
Multi-hilo
Java nos permite la programación concurrente, de tal manera que un único programa puede
abrir diferentes hilos de ejecución.
Interpretado
Los bytecodes son interpretados en tiempo real a código máquina.
Alto Rendimiento
Java ofrece compiladores Just-In-Time que permiten tener un alto rendimiento.
Distribuido
El lenguaje Java está pensando para ser ejecutado en arquitecturas distribuidas, como pueda
ser Internet.
3.3 Instalación:
Para instalar el compilador Java lo primero que
deberemos de hacer es descargarlo de la web de
Oracle. Utilizando el siguiente link o escaneando
el código QR.
https://www.oracle.com/lad/java/technologies/javase-downloads.html
De ella nos podemos bajar el kit de desarrollo (Java SE Development Kit) y el entorno de
ejecución (Java SE Runtime Environment).
45
Programación 1 Ing. Iván I. Cordero Morales
IDE NetBeans
También es necesario utilizar algún IDE que nos ayude a programar, uno de ellos es
NetBeans el cual lo puedes descargar en el siguiente link o escaneando el código QR
https://downloads.apache.org/netbeans/netbeans/12.0/Apache-NetBeans-12.0-bin-
windows-x64.exe
Video de Instalación
Se sugiere ver el video de instalación de Java y IntelliJ IDEA que dejamos en el siguiente
Link o escaneando el código QR.
https://youtu.be/z89N3jXo1kQ
46
Programación 1 Ing. Iván I. Cordero Morales
En el programa se pueden identificar los siguientes elementos del lenguaje Java: comentarios,
definiciones de clase, definiciones de método y sentencias.
Definición de clase: La primera línea del programa. Define una clase que se llama
según el ejemplo de arriba HolaMundo. La definición de la clases comienza por el carácter {
y termina con el carácter }.
47
Programación 1 Ing. Iván I. Cordero Morales
Sentencia: Todas las sentencias de un programa Java deber terminar con el símbolo
punto y coma;
Separadores:
Existen algunos caracteres que tienen un significado especial en el lenguaje Java. En la
siguiente tabla se resumen los diferentes separadores que pueden encontrarse en el código
fuente de un programa.
3.5 Variables:
Los nombres de las variables deben ser cortos pero significativos.
No debería comenzar con un guión bajo (‘_’) o caracteres, como por ejemplo, un signo de
dólar ‘$’.
Debe ser mnemotécnico, es decir, diseñado para indicar al observador casual la intención de
su uso.
Se deben evitar los nombres de variable de un carácter, excepto para variables temporales.
Los nombres comunes para las variables temporales son: i, j, k, m y n para enteros; c, d y e
para los caracteres.
int velocidad= 0;
int edad= 1;
48
Programación 1 Ing. Iván I. Cordero Morales
3.6 Constantes:
Debería estar todo en mayúsculas con palabras separadas por guiones bajos (“_”).
Hay varias constantes utilizadas en clases predefinidas como Float, Long, String, etc.
static final int MIN_WIDTH = 4;
49
Programación 1 Ing. Iván I. Cordero Morales
50
Programación 1 Ing. Iván I. Cordero Morales
51
Programación 1 Ing. Iván I. Cordero Morales
CONCLUSIONES
Comprendimos el significado del lenguaje de programación JAVA, donde pudimos darnos
cuenta de su potencialidad para resolver diferentes problemas que se plantean.
Además de eso logramos instalar JAVA y el IDE con los cuales lograremos crear programas
de aquí en adelante.
52
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 4
PROGRAMACIÓN ESTRUCTURADA
SUMARIO
4.1 Tipos de datos
4.2 Operadores en JAVA
4.3 Estructura Secuencial
4.4 Estructura Condicional
4.5 Estructura Selectiva Multiple Switch
4.6 Estructuras Repetitivas
OBJETIVOS
Comprender el funcionamiento, sintaxis de cada estructura para poder crear programas en
java y solucionar diferentes tipos de problemas
INTRODUCCIÓN
En la programación existen diferentes tipos de estructuras que sirven para manejar la
información y dependiendo del problema llegar a una solución eficaz y eficiente
aprovechando las características particulares de cada una de ellas
En esta unidad lograremos hacer programas con las estruturas secuenciales, condicionales,
selectivas y Repetitivas (While, Do While, For)
DIAGNÓSTICO
Ingresar a www.menti.com para responder las siguientes
preguntas
El docente enviara el código para dicho proceso.
53
Programación 1 Ing. Iván I. Cordero Morales
• Carácter (char).
Nota: un dato de tipo carácter se puede escribir entre comillas simples, por ejemplo 'a', o
también indicando su valor Unicode, por ejemplo '\u0061'.
54
Programación 1 Ing. Iván I. Cordero Morales
• Operadores lógicos
Operadores aritméticos
Se utilizan para realizar operaciones aritméticas simples en tipos de datos primitivos.
*: Multiplicación
/: División
%: Modulo
+: Adición
–: Resta
Operadores unarios
Los operadores unarios solo necesitan un operando. Se usan para incrementar, disminuir o
negar un valor.
55
Programación 1 Ing. Iván I. Cordero Morales
Operadores relacionales
Algunos de los operadores relacionales son:
==, Igual a: devuelve verdadero si el valor del lado izquierdo es igual al lado derecho.
! =, No igual a: devuelve verdadero si el valor del lado izquierdo no es igual al lado derecho.
<, menos que: el resultado verdadero si el valor del lado izquierdo es inferior al del lado
derecho.
<=, menor o igual que: devuelve verdadero si el valor del lado izquierdo es menor o igual
que el lado derecho.
>, Mayor que: devuelve verdadero si el valor del lado izquierdo es mayor que el lado derecho.
>=, Mayor que o igual a: regresa verdadero si el valor del lado izquierdo es mayor o igual
que el lado derecho.
56
Programación 1 Ing. Iván I. Cordero Morales
Operadores lógicos
Los operadores condicionales son:
&&, AND lógico: devuelve verdadero cuando ambas condiciones son verdaderas.
||, O lógico: devuelve verdadero si al menos una condición es verdadera.
int x=5;
double y=10;
System.out.println().....
Directrices de codificación
Tus programas Java deben acabar siempre con la extensión .java
Los nombres de archivo deben coincidir con el nombre de su clase pública. Por Ejemplo, si
el nombre de la clase publica es HolaMundo, debe estar guardado en un archivo llamado
HolaMundo.java.
Usted debe escribir comentarios en el código que explica lo que hace una cierta clase, o lo
que hace un determinado método.
Clase Scanner
El uso de la clase Scanner es una de las mejores maneras de ingresar datos por teclado en
Java.
Escribir el import
La clase Scanner se encuentra en el paquete java.util por lo tanto se debe incluir al inicio del
programa la instrucción:
57
Programación 1 Ing. Iván I. Cordero Morales
Ejemplos de lectura:
58
Programación 1 Ing. Iván I. Cordero Morales
59
Programación 1 Ing. Iván I. Cordero Morales
60
Programación 1 Ing. Iván I. Cordero Morales
61
Programación 1 Ing. Iván I. Cordero Morales
Ejercicios Propuestos:
Realizar los siguientes programas. Los ejercicios realizados deberán subirlo al Classroom de
la materia en la tarea asignada por el docente para su respectiva evaluación.
62
Programación 1 Ing. Iván I. Cordero Morales
63
Programación 1 Ing. Iván I. Cordero Morales
Operadores de comparación
OPERADOR DESCRIPCIÓN
== Es igual
!= Es distinto
<, <=, >, >= Menor, menor o igual, mayor,
mayor o igual
&& Operador and (y)
|| Operador or (o)
! Operador not (no)
64
Programación 1 Ing. Iván I. Cordero Morales
i + f <= 10 false
65
Programación 1 Ing. Iván I. Cordero Morales
66
Programación 1 Ing. Iván I. Cordero Morales
67
Programación 1 Ing. Iván I. Cordero Morales
Un restaurante ofrece un descuento del 10% para consumos hasta 100 bs y un descuento de
20% para consumos mayores, para ambos casos se aplica un impuesto del 13% determinar
el monto de descuento, el impuesto y el importe a pagar
68
Programación 1 Ing. Iván I. Cordero Morales
Después de ingresar 4 notas, obtener el promedio de las tres mejores notas y mostrar
Aprobado si el promedio es mayo a 61 caso contrario reprobado
69
Programación 1 Ing. Iván I. Cordero Morales
70
Programación 1 Ing. Iván I. Cordero Morales
Sintaxis Switch
Switch Anidado
71
Programación 1 Ing. Iván I. Cordero Morales
72
Programación 1 Ing. Iván I. Cordero Morales
Determine el importe a pagar para el examen de admisión en una universidad, cuyo valor
depende del nivel socio Económico y el colegio de procedencia
Colegio A B C
Fiscal 300 200 100
Particular 400 300 200
73
Programación 1 Ing. Iván I. Cordero Morales
74
Programación 1 Ing. Iván I. Cordero Morales
Estructura WHILE
La instrucción "While", es una estructura de
control repetitiva que puede impedir la ejecución
de un conjunto de instrucciones, si la evaluación
de la expresión relacional y/o lógica es falsa. Esto
significa que se convierte en repetitiva únicamente
cuando la evaluación de la condición es verdadera.
Sintaxis WHILE
75
Programación 1 Ing. Iván I. Cordero Morales
76
Programación 1 Ing. Iván I. Cordero Morales
Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta
el valor ingresado de uno en uno.
77
Programación 1 Ing. Iván I. Cordero Morales
Estructura DO WHILE
La estructura do while es otra estructura repetitiva, la cual
ejecuta al menos una vez su bloque repetitivo
Sintaxis DO WHILE
78
Programación 1 Ing. Iván I. Cordero Morales
79
Programación 1 Ing. Iván I. Cordero Morales
Escribir un programa que pida una contraseña repetitivamente hasta que sea la correcta (123)
Escribir un programa que solicite un rango y muestre la cantidad de números pares que
contiene.
80
Programación 1 Ing. Iván I. Cordero Morales
81
Programación 1 Ing. Iván I. Cordero Morales
Sintaxis FOR:
82
Programación 1 Ing. Iván I. Cordero Morales
Dado un rango de números enteros, obtener la cantidad de números enteros que contiene
83
Programación 1 Ing. Iván I. Cordero Morales
***
***
***
84
Programación 1 Ing. Iván I. Cordero Morales
CONCLUSIONES
Logramos resolver problemas utilizando las estructuras secuenciales, condicionales,
selectivas y repetitivas en el lenguaje de programación JAVA
Las practicas son importantes para lograr aprender a crear programas de manera correcta esto
nos servirá como base para seguir creciendo en el mundo de la programación
85
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 5
PROGRAMACIÓN MODULAR
SUMARIO
5.1. Funciones
5.2 Procedimientos
OBJETIVOS
Crear programas que den solución a diferentes problemas empleando la programación
modular con funciones y procedimientos
INTRODUCCIÓN
La programación modular es un método muy empleado para la resolución de problemas
grandes y es común utilizar la frase “Divide y vencerás” que fue nombrada por el emperador
Romano Julio Cesar, que consiste en dividir los problemas para poder resolverlos por partes.
Esta forma de crear programas es muy interesante ya que utiliza métodos y procedimientos
para la solución de problemas, además de ser base importante para poder comprender la
programación Orientada a Objetos.
En esta Unidad veremos cómo crear los programas empleando este método además de sus
conceptos y características
DIAGNÓSTICO
86
Programación 1 Ing. Iván I. Cordero Morales
5.1 Funciones:
Las funciones son un conjunto de líneas
de código (instrucciones), encapsulados
en un bloque, usualmente reciben
parámetros, cuyos valores utilizan para
efectuar operaciones y adicionalmente
retornan un valor.
5.2 Procedimientos:
Conjunto de instrucciones que se
ejecutan sin retornar ningún valor
Tipo de retorno es void que no nos
obliga a utilizar una sentencia return
Métodos
Los métodos y las funciones en Java están en capacidad de realizar las mismas tareas, es
decir, son funcionalmente idénticos, pero su diferencia radica en la manera en que hacemos
uso de uno u otro (el contexto). Un método también puede recibir valores, efectuar
operaciones con estos y retornar valores, sin embargo en método está asociado a un objeto,
básicamente un método es una función que pertenece a un objeto o clase.
87
Programación 1 Ing. Iván I. Cordero Morales
88
Programación 1 Ing. Iván I. Cordero Morales
89
Programación 1 Ing. Iván I. Cordero Morales
90
Programación 1 Ing. Iván I. Cordero Morales
CONCLUSIONES
En esta unidad creamos varios programas utilizando el método de Programación modular,
dicha actividad nos será muy útil de aquí en adelante para solucionar problemas
Comprendimos que es mejor dividir los problemas para irlos solucionando por módulos y
también identificamos las ventajas de la programación modular tales como la reutilización
de código
91
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 6
ARREGLOS UNIDIMENSIONALES Y
BIDIMENSIONALES
SUMARIO
6.1 Arreglos Unidimensionales
6.2 Arreglos Bidimensionales
OBJETIVOS
Conocer el trabajo de datos utilizando arreglos Unidimensionales y bidimensionales para
solucionar los problemas planteados
INTRODUCCIÓN
Los arreglos o Arrays como se los conoce son estructuras muy utilizadas en la programación
para poder realizar el tratamiento de información de manera eficaz y eficiente.
Los arreglos son estructuras de datos de un mismo tipo y además están relacionados entre si,
contienen un longitud fija.
En esta unidad veremos que son los arreglos, como se los utiliza, sus características y sus
tipos.
DIAGNÓSTICO
Ingresar a www.menti.com para responder las
siguientes preguntas
El docente enviara el código para dicho proceso.
92
Programación 1 Ing. Iván I. Cordero Morales
INDICES
0 1 2 3 4
• 48 • 50 • 10 • 20 • 5
ELEMENTOS
Variables vs Arreglo
Los Arreglos permiten manejar de forma sencilla y directa conjuntos de datos del mismo
tipo, las variables manejar un dato del mismo tivo
Entero - Int
x= •5
0 1 2 3 4
z= • 48 • 50 • 10 • 20 • 5
93
Programación 1 Ing. Iván I. Cordero Morales
Declaración de Arreglos:
Inicialización de Arreglos:
Los arreglos definidos de la forma anterior no están inicializados, es decir, no contienen
ningún valor, lo cual se representa con null si es String o 0 si es int o doble:
.
TipodeDato nombre[]={val1,val2,val3,…,valn};
Ejemplos
94
Programación 1 Ing. Iván I. Cordero Morales
Inserción de Datos
Para Ingresar datos en un arreglo se debe indicar la posición o índice del arreglo en que se va
a insertar el valor:
nombreArreglo[posicion]=valor;
Ejemplo:
0 1 2 3
Extracción de datos:
Para recuperar datos de un arreglo se debe indicar la posición del arreglo que se quiere
conocer:
NombreArreglo[posicion]
95
Programación 1 Ing. Iván I. Cordero Morales
96
Programación 1 Ing. Iván I. Cordero Morales
Crear un arreglo de N campos, y rellenar con nombres que ingrese el usuario para luego
mostrarlos por pantalla con su posición,
97
Programación 1 Ing. Iván I. Cordero Morales
Dado 8 números y un divisor determinar cuántos números múltiplos hay del divisor
98
Programación 1 Ing. Iván I. Cordero Morales
99
Programación 1 Ing. Iván I. Cordero Morales
Mostrar Matrices
Para ver, imprimir las matrices o arreglos bidimensionales se realiza lo siguiente:
100
Programación 1 Ing. Iván I. Cordero Morales
101
Programación 1 Ing. Iván I. Cordero Morales
Conclusiones
Los arreglos y matrices nos permiten almacenar/manipular conjuntos de datos agrupados de
manera eficiente. En general, son ideales para el registro/manipulación de información
homogénea que representa una tabulación de resultados (valoración) agrupados por
categorías. Tienen la ventaja de que sus elementos se acceden rápidamente a través de sub-
índices.
102
Programación 1 Ing. Iván I. Cordero Morales
UNIDAD TEMATICA 7
MANEJO DE CADENAS
SUMARIO
7.1 Cadenas
7.2 Creación de Cadenas
7.3 Manejo de Cadenas
7.4 Búsquedas en Cadenas
7.5 Comparación en Cadenas
OBJETIVOS
Comprender el uso y tratamiento de cadenas para la solución de problemas, tomando en
cuenta que las cadenas son parte importante para la creación de programas.
INTRODUCCIÓN
Las cadenas son una parte fundamental de la mayoría de los programas. Java tiene una clase
incorporada en el paquete java.lang que encapsula las estructuras de datos de una cadena.
Esta clase, llamada String es la representación como objeto de una matriz de caracteres que
no se puede cambiar. Hay una clase que la acompaña, llamada StringBuffer, que se utiliza
para crear cadenas que pueden ser manipuladas después
de ser creadas.
DIAGNÓSTICO
Ingresar a www.menti.com para responder las
siguientes preguntas
El docente enviara el código para dicho proceso.
103
Programación 1 Ing. Iván I. Cordero Morales
7.1 Cadenas:
Secuencia de caracteres. Las cadenas son una parte fundamental de la mayoría de los
programas, así pues Java tiene varias
características incorporadas que facilitan la
manipulación de cadenas. Java tiene una clase
incorporada en el paquete java.lang que
encapsula las estructuras de datos de una
cadena.
Se pueden utilizar cadenas literales en cualquier lugar donde se pueda utilizar un objeto
String. Por ejemplo, System.out.println() acepta un argumento String, por eso se puede
utilizar una cadena literal en su lugar:
104
Programación 1 Ing. Iván I. Cordero Morales
Concatenación:
Para concatenar cadenas se utiliza el Operador +
Longitud de Cadenas
Uno de los métodos más habituales que se utilizan en un String es length, que devuelve el
número de caracteres de una cadena:
Extracción de caracteres.
Para extraer un único carácter de una cadena, se puede referir a un carácter indexado mediante
el método charAt, la sintaxis es la siguiente:
Objeto_cadena.charAt(índice);
Devolverá 'b'
Para extraer una cadena se utiliza el método Substring especificando el primer valor de la
subcadena y el ultimo.
105
Programación 1 Ing. Iván I. Cordero Morales
Si se necesita extraer más de un carácter a la vez, puede utilizar el método getChars, que le
permite especificar el índice del primer carácter y del último más uno que se desean copiar,
además de la matriz char donde se desean colocar dichos caracteres.
Conversiones:
Convertir números a cadena o cadena de números a números, es una tarea frecuente en los
lenguajes de programación, así como convertir a mayúsculas o minúsculas una cadena de
caracteres u obtener el valor ASCCI.
106
Programación 1 Ing. Iván I. Cordero Morales
==
Equals
Los objetos tienen un método llamado equals, que en español vendría siendo un equivale o
es igual a.
107
Programación 1 Ing. Iván I. Cordero Morales
108
Programación 1 Ing. Iván I. Cordero Morales
CONCLUSIONES
Comprender el manejo de cadenas es vital para en un futuro construir programas, porque los
programas en su mayoría tienen cadenas.
Conseguimos en esta unidad comprender la clase String y varios de sus métodos nos servirán
de base para continuar programando.
109
Programación 1 Ing. Iván I. Cordero Morales
BIBLIOGRAFÍA
Alfonso, Dolores. (2000), “Metodología de la Programación”, Paraninfo S.A, México.
De Giusti Armando E. (2001). Algoritmos Datos y Programas. Madrid - España: Prentice-
Hall.
Joyanes, L. (2008). Fundamentos de la programación. Algoritmos y Estructura de Datos.
Madrid.
Villalobos, Ricardo M. (2008). Fundamentos de programación Java mas de 100 Algoritmos
codificados. Perú: Empresa Editora Macro
110