Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion
Ing. Sistemas Computacionales
Evaluación.
1. Examen: 50%
2. Proyectos y Tareas: 40%
3. Asistencia y participación: 10%
Caracterización de la asignatura.
Competencias Previas
Temario
Temario
1. Conceptos Básicos
1. Clasificación del software de: sistemas y aplicación.
2. Algoritmo.
3. Lenguaje de Programación.
4. Programa.
5. Programación.
6. Paradigmas de programación.
7. Editores de texto.
8. Compiladores e intérpretes.
9. Ejecutables.
10. Consola de línea de comandos.
Instituto Nacional de México
Departamento de Sistemas y Computación
• ¿Qué es el software?
• ¿Desde cuándo existe el software?
• ¿En donde se utiliza el software?
• ¿Quiénes utilizan software?
• ¿Para que se utiliza el software?
• ¿Cómo se desarrolla el software?
Instituto Nacional de México
Departamento de Sistemas y Computación
Definición de Software
● Software de sistema
● Software de programación
● Software de aplicación
Instituto Nacional de México
Departamento de Sistemas y Computación
Tipos de Software
• Software educativo
• Software libre
• Software multimedia
• Software propietario
• Software de sistemas
• Software de aplicación,
• Etc.
Instituto Nacional de México
Departamento de Sistemas y Computación
Software de Sistemas
Investigación
Software de programación
Editores de texto
Instituto Nacional de México
Departamento de Sistemas y Computación
Investigación
Software de aplicación
• Este tipo de software permite a los usuarios efectuar tareas específicas
en cualquier actividad susceptible de ser automatizada. Generalmente,
proporciona servicios a los usuarios.
• Ejemplos:
– Aplicaciones para Control de sistemas y automatización industrial
– Aplicaciones ofimáticas
– Software educativo
– Software empresarial
– Videojuegos
– Software médico
– Software de Diseño Asistido (CAD)
Instituto Nacional de México
Departamento de Sistemas y Computación
Investigación
1.2 Algoritmo
Partes de un algoritmo
– Nombre
– Comentario
– Declaración de variables
– Pasos del algoritmo
Instituto Nacional de México
Departamento de Sistemas y Computación
Lenguaje de programación
¿Que es un Lenguaje de Programación?
– Notación para describir algoritmos y estructuras de datos además del
significado de las frases.
– Implementación
• Influencias en la evolución de los Lenguajes de Programación
– Evolución del hardware y los sistemas operativos
– Nuevas aplicaciones en diferentes ámbitos
– Métodos de programación / paradigmas y metodologías
– Métodos de implementación - eficiencia
– Estudios teóricos – demostraciones matemáticas
– Estandarización - portabilidad
Instituto Nacional de México
Departamento de Sistemas y Computación
Lenguaje de programación
Instituto Nacional de México
Departamento de Sistemas y Computación
1.5 Programación
•Imperativo
–Basic, Pascal, Cobol, Fortran, C
•Funcional
–LISP, SML, Haskell, Miranda
•Lógico
–Prolog
•Orientado a Objetos
–Smalltalk, Java, C#
Instituto Nacional de México
Departamento de Sistemas y Computación
Investigación
•Describe brevemente las características del editor Vi del Sistema
Operativo Unix.
•Describe un editor de textos para MAC
•Describe un editor de textos para Windows
Instituto Nacional de México
Departamento de Sistemas y Computación
•Métodos de implementación de LP
–Compilación
–Interpretación
–Sistemas híbridos
Instituto Nacional de México
Departamento de Sistemas y Computación
Instituto Nacional de México
Departamento de Sistemas y Computación
Interpretación Pura
Instituto Nacional de México
Departamento de Sistemas y Computación
Sistemas híbridos
Instituto Nacional de México
Departamento de Sistemas y Computación
Investigación
•Investiga para algunos lenguajes de programación:
–Nombre
–Antecedentes
–El paradigma que usan
–Si es compilable, interpretable o usa una combinación de ambos
–Incluye un ejemplo de un programa sencillo en ese lenguaje
Instituto Nacional de México
Departamento de Sistemas y Computación
1.9 Ejecutables
Algoritmos
Analizar problemas y representar su solución mediante algoritmos.
Análisis de problemas
Ejemplo:
El escenario es el siguiente: hay cinco personas. Una de ellas disparó y mató a uno
de los otros. Y para resolver el autor del crimen se cuentan con nueve pistas.
1. Dan corrió ayer la maratón de Nueva York con uno de los hombres inocentes.
2. Mike consideraba ser agricultor antes de mudarse a la ciudad.
3. Jeff es un consultor informático de primer nivel y quiere instalar la nueva
computadora de Ben la próxima semana.
4. Al asesino le amputaron una pierna el mes pasado.
5. Ben conoció a Jack por primera vez hace seis meses.
6. Jack ha estado recluido desde el crimen.
7. Dan solía beber mucho.
8. Ben y Jeff armaron sus últimas computadoras juntos.
9. El asesino es el hermano de Jack. Crecieron juntos en Seattle.
Conociendo estas pistas entonces, ¿quién es el asesino?
Instituto Nacional de México
Departamento de Sistemas y Computación
Descripción Narrada
Descripción en Pseudocódigo
Ejemplo
inicio
leer (a, b, c, d)
producto = (a * b * c * d)
suma = (a + b + c + d)
media = (a + b + c + d) / 4
escribir (producto, suma, media)
fin
Instituto Nacional de México
Departamento de Sistemas y Computación
Diagramas de Flujo
Símbolos gráficos
Instituto Nacional de México
Departamento de Sistemas y Computación
Instituto Nacional de México
Departamento de Sistemas y Computación
1. Algoritmos secuenciales
2. Algoritmos con selección de alternativas
–Simple
–Doble
–Múltiple
3. Algoritmos con repetición de acciones
–Fija
–Condicional
Instituto Nacional de México
Departamento de Sistemas y Computación
Algoritmos secuenciales
•Ejercicios de conversiones
–Monedas- Pesos a dólares
–Temperaturas- Grados Celsius a Fahrenheit
–Distancia- Metros a pies
–Pesos- Kilogramos a libras
–Etc.
•Cálculos de figuras geométricas
–Perímetros
–Áreas
–Volumen
Instituto Nacional de México
Departamento de Sistemas y Computación
Ejercicios
○ Ejemplo 1: ○ Ejemplo 2:
■ Captura: ■ Captura:
● Consumo: 100 ● Consumo: 1000
■ Salida: ○ Salida:
● Descuento: 10% = 10 ● Descuento: 20% = 200
● Subtotal: 90 ● Subtotal: 800
● Impuesto: 14.4 ● Impuesto: 128
● Total: 104.4 ● Total: 928
Instituto Nacional de México
Departamento de Sistemas y Computación
Ejercicios propuestos
0. Solicita el nombre de una persona y despliega el mensaje “Hola nombre!!”
1.La empresa “Todo a $10” vende artículos al mismo precio. Escribe un algoritmo que
lea la cantidad de artículos a vender y obtenga el total a pagar, agregando el 10% de
iva, lea la cantidad pagada y obtenga en cambio que debe recibir el cliente.
2.Escribe un algoritmo para obtener la cantidad a pagar de un usuario de la CFE, la
tarifa depende de los Kw consumidos (ve un recibo de CFE)
3.Escribe un algoritmo para obtener la cantidad a pagar de un usuario de la JAPAC, la
tarifa depende de los m3 consumidos (ve un recibo de JAPAC)
4.Escribe un algoritmo que lea de teclado un número entero y determine si es par o
impar.
5.Escribe un algoritmo que obtenga el número de letras que contiene un string.
6.Lee de teclado la edad de 50 personas y obtén como resultado el promedio de las
edades.
Instituto Nacional de México
Departamento de Sistemas y Computación
14.Escribe un algoritmo que lea de teclado los datos de 50 objetos tipo Alumno y regrese como
resultado el número de mujeres que hay en el grupo
15.Escribe un algoritmo que lea de teclado los datos de 50 objetos de tipo Alumno y regrese el
promedio de todo el grupo.
16.Escribe un algoritmo que lea de teclado los datos de 50 objetos de tipo Alumno y regrese
como resultado el total de alumnos reprobados con promedio menor que 70.
17.Escribe un algoritmo que lea de teclado un entero entre 0 y 99 y obtenga el número de
decenas que contiene.
18.Escribe un algoritmo que lea de teclado una cantidad en pesos y regrese como resultado la
cantidad en dólares, el tipo de cambio es 11.17 pesos por dólar.
19.Escribe un algoritmo que reciba lea de teclado una cantidad en dólares y regrese como
resultado la cantidad en pesos, el tipo de cambio es 11.17 pesos por dólar.
20.Escribe un algoritmo que lea de teclado un número y regrese como resultado un mensaje
indicando si el número esta en el rango de 0 a 100.
21.Escribe un algoritmo que lea de teclado un string y regrese un mensaje indicando si el string
es un palíndromo.
Instituto Nacional de México
Departamento de Sistemas y Computación
http://www.oracle.com/tech
network/java/index.html
Instituto Nacional de México
Departamento de Sistemas y Computación
Editar el programa
Compilar un programa
Compilar un programa
•Compilar el programa usando:
>javac Nombre.java
● Si el programa no tiene errores se
creará un archivo de bytecodes
llamado Nombre.class, si tiene
errores se debe editar el programa,
corregir los errores, almacenar el
programa y volver a compilar.
● En la consola de comandos invocar al
COMPILADOR de Java
Instituto Nacional de México
Departamento de Sistemas y Computación
Depuración
Instituto Nacional de México
Departamento de Sistemas y Computación
Ejecución de un programa
Instituto Nacional de México
Departamento de Sistemas y Computación
1.Comentarios
2.Palabras reservadas
3.Tipos de datos
4.Variables
5.Operadores
6.Expresiones
7.Instrucciones.
8.Bloques.
9.Control de flujo
Instituto Nacional de México
Departamento de Sistemas y Computación
Comentarios
Palabras Reservadas
Son palabras que tienen un significado especial en el lenguaje y no
pueden ser usadas como identificadores.
Instituto Nacional de México
Departamento de Sistemas y Computación
Tipos de Datos
Variables
● El nombre de variable debe ser un identificador válido, -- un número ilimitado de
caracteres Unicode que comienza con una letra.
● No debe ser una palabra reservada, un literal booleano (true or false), ó la literal
null.
● Debe ser única dentro de su ámbito. Un nombre de variable puede ser repetido si su
declaración aparece en un ámbito diferente.
● El tipo de variable determina que valores puede contener y que operaciones se pueden
realizar en ella.
● Una variable debe ser declarada para poder ser utilizada
Ejemplos:
int x; // define una variable de tipo entero llamada x
String nombre; // define una variable de tipo String llamada nombre
Object c;
Bicicleta miBici;
Instituto Nacional de México
Ejemplo de Declaración de VariablesDepartamento de Sistemas y Computación
Instituto Nacional de México
Departamento de Sistemas y Computación
Inicialización de Variables
Constantes (final)
Se puede declarar una variable en cualquier ámbito para que sea final.
El valor de una variable final no puede cambiar después de que ha sido
inicializada. Tales variables son similares a las constantes en otros lenguajes.
Para declarar una variable final, escribe la palabra reservada final antes del
tipo:
final int aFinalVar = 0;
En el caso del ejemplo, se ha declarado e inicializado la variable en un solo paso. Se puede hacer en dos
pasos si se prefiere. Hecho esto, si se intenta asignar posteriormente un valor a ésta variable, produciría un
error de compilación
Instituto Nacional de México
Departamento de Sistemas y Computación
Resumen
Operadores
Operadores Aritméticos
Java soporta varios operadores aritméticos para todos los números
enteros y de punto flotante:
+ (suma), - (resta), * (multiplicación), / (división) y % módulo.
Instituto Nacional de México
Departamento de Sistemas y Computación
Operadores Relacionales
Un operador relacional compara dos valores y determina la relación entre ellos. Por
ejemplo, != retorna verdadero si los dos operandos son diferentes. A continuación una
tabla de operadores:
Instituto Nacional de México
Departamento de Sistemas y Computación
Operadores Condicionales
Los operadores relacionales frecuentemente son empleados con operadores condicionales
para construir expresiones más complejas de toma de decisiones. El lenguaje de
programación Java soporta seis operadores condicionales – cinco binarios y uno unario -
como aparece en la siguiente tabla:
Instituto Nacional de México
Departamento de Sistemas y Computación
Otros Operadores
Instituto Nacional de México
Departamento de Sistemas y Computación
Expresiones
Variables y operadores, los cuales aparecen en las secciones previas, son bloques básicos que
conforman los programas.
Se pueden combinar literales, variables, y operadores para formar expresiones – segmentos de
código que realizan cálculos y retornan valores.
Una expresión es una serie de variables, operadores y llamadas a métodos
(construidas de acuerdo a la sintaxis del lenguaje) que resultan en un valor simple.
ejemplo:
count = 1
(count == 0)
x1 = -b + Math.sqrt((Math.pow(b,2) + 4*a*c)/ (2*a))
contador++
caracter = s1.charAt(0)
bandera = !bandera
Character.isUpperCase(aChar)
Instituto Nacional de México
Departamento de Sistemas y Computación
Entrada de datos
//*******************************************************
*********
// Keyboard.java Author: Lewis and Loftus
//
// Facilitates keyboard input by abstracting details about input
// parsing, conversions, and exception handling.
//*******************************************************
*********
import java.io.*;
import java.util.*;
public class Keyboard
{…
public static String readString(){..}
public static String readWord() {..}
public static boolean readBoolean() {..}
public static char readChar() {..}
public static int readInt() {..}
public static long readLong() {..}
public static float readFloat() {..}
public static double readDouble() {..}
…
}
Instituto Nacional de México
Departamento de Sistemas y Computación
Control de Flujo
Instrucciones o Sentencias
La instrucción for provee una forma compacta de iterar sobre un rango de valores.
La forma general de la instrucción for puede ser expresada como esto:
for (initialization; termination; increment) {
estatuto
}
● La expresión initialization es una expresión que inicializa el bucle. Es ejecutada
una vez al comienzo del bucle.
● La expresión termination determina cuando terminar el bucle. Esta expresión es
evaluada al tope de cada iteración del bucle. Cuando la expresión evalúa a falso, el
bucle termina.
● La expresión increment es invocada después de cada iteración.
Todos esos componentes son opcionales.
Los bucles for son frecuentemente utilizados para iterar sobre los elementos de un
arreglo, o los caracteres de un String
Instituto Nacional de México
Departamento de Sistemas y Computación
While y Do-While
Ejemplo Do-While
do {
estatuto;
} while (expresionBooleana);
Instituto Nacional de México
Departamento de Sistemas y Computación
Ejemplo do-while
Instituto Nacional de México
Departamento de Sistemas y Computación
Strings
Information Interchange)
Instituto Nacional de México
Departamento de Sistemas y Computación
Concatenación de cadenas
if(cadena == "") {
System.out.println("Iguales");
}
cadena = "A";
if(cadena == "A") {
System.out.println("Iguales");
}
if(cadena. compareTo("B") == 0) {
System.out.println("Iguales");
} else {
System.out.println(cadena + " Diferente de B");
}
Instituto Nacional de México
Departamento de Sistemas y Computación
Subcadenas
Búsqueda de subcadenas
posicion = “ABC”.indexOf(“Z”);
System.out.println(posicion);
Instituto Nacional de México
Departamento de Sistemas y Computación
Conceptos