Upload
cbertolotti
View
3.055
Download
3
Embed Size (px)
Citation preview
Facultad de Ingeniería y ArquitecturaIntroducción a la Computación (IC)
2011-ISemana 3
Facultad de Ingeniería y Arquitectura
Revisado por los docentes del curso:
Introducción a la Computación (IC)
• Ing. Juan José Montero Román.• Ing. Carmen Rosa Bertolotti Zúñiga.• Ing. Carla Rocío Palomino Guerrero.• Ing. Manuel Valeriano Balta Rospigliosi.• Ing. Pablo Iván Casma Angulo.• Ing. Juan Puerta Arce• Ing. Sara Paredes Paredes 2011- I
MATERIAL DEL DOCENTE
Algunos derechos reservados
Los contenidos de esta presentación están bajo una licencia Creative Commons si no se indica lo contrario
Facultad de Ingeniería y Arquitectura
Desarrollado por:
VERSIÓN
• Ing. Juan José Montero Román.• Ing. Carmen Rosa Bertolotti Zúñiga.
Introducción a la Computación (IC)
1.7
Contenido:
Objetivos:
SEMANA 03
Reconocer las estructuras explicadas
• Estructuras de secuencia para : El Ingreso El Proceso
La Salida
Introducción a la Computación (IC)
ARREGLOS
•Vectores
•Matrices
ESTRUCTURAS DE SECUENCIA
Introducción a la Computación (IC)
Permiten ingresar datos de diferente tipo a través de un dispositivo de entrada de una computadora (para nuestro curso a través del teclado).
INGRESO DE DATOS
Introducción a la Computación (IC)Estructuras lógicas de secuencia
LEER nombreVariable
En Pseudocódigo En DF
nombreVariable
INGRESO DE DATOS
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Ingreso de datos
Ejemplo N°1: Desarrollo una solución que permita ingresar y mostrar el nombre de un alumno
Algoritmo PrgMostrarNombre
ENTRADA: nombreSALIDA: nombre
INICIOTEXTO nombreLEER nombreESCRIBIR nombre
FIN
INICIO
nombre
FIN
TEXTO nombre
nombre
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Ingreso de datos
Ejemplo N°2: Desarrollo una solución que ingresar el nombre y dos notas de un alumno y mostrar su nombre y el promedio obtenido: (nota1+nota2)/2
Algoritmo PrgNomProm
ENTRADA: nombre, nota1, nota2SALIDA: nombre, promedio
INICIOTEXTO nombreREAL nota1, nota2, promedioLEER nombre, nota1, nota2promedio = (nota1 + nota2) / 2ESCRIBIR nombre, promedio
FIN
INICIO
nombre, nota1, nota2
FIN
TEXTO nombre REAL nota1, nota2, promedio
promedio = (nota1 + nota2) / 2
nombre, promedio
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Ingreso de datos
Empleando : •Tipos de Datos.
• Operadores Matemáticos.
• Operadores relacionales y lógicos. • Estructuras de Datos: Variables y constantes.
• Ingreso de Datos.
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Procesos de Cálculo
PROCESOS DE CALCULO
VARIABLES Y CONSTANTES
Variables:
Una variable es una estructura de datos (lineal-estática) que permite reservar un espacio con la finalidad de almacenar temporalmente los datos. Una variable sólo puede almacenar un solo dato a la vez y del mismo tipo; Declaración, Almacenamiento de datos e inicialización.
Constantes:
Una constate es una estructura de datos que permite almacenar un valor fijo, el cual va a ser empleado sin lugar a modificación durante el desarrollo del algoritmo.
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Estructuras de Datos
Tenga presente que las REGLAS para el Pseudocódigo, DF y las palabras reservada, en Java, no deben ser usadas como nombre de variable o constante.
TIPOS DE DATOS
Pseudocódigo / D.F.
JAVA REPRESENTA A:
ENTERO int
long
Un numero entero
REAL float double Un numero real (Con decimales)
CARÁCTER char Un solo carácter
TEXTO String Una cadena de caracteres
LOGICO boolean Un valor VERDADERO o FALSO
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Procesos de Cálculo
Declaración: Significa definir el nombre de la variable y el tipo de dato que podrá almacenar
Pseudocódigo / DF : ENTERO nota1 TEXTO nombre CARACTER tipo
Java : int nota1 String nombre char tipo
VARIABLES
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Estructuras de Datos
tipoDato nombreDeVariableSintaxis:
CONSTANTE pi = 3.1416
Asignación: Significa dar un valor a la variable durante el desarrollo del algoritmo.
Pseudocódigo / DF : nota1 = 10 nombre = “ Luis “ tipo = ‘A’
Java : nota1 = 10 nombre = “ Luis “ tipo = ‘A’
VARIABLES
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Estructuras de Datos
nombreDeVariable = valor
Sintaxis:
Inicialización: Significa asignar un valor inicial a la variable al momento de ser declarada. Este valor puede ser modificado durante la ejecución del algoritmo.
VARIABLES
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Estructuras de Datos
Pseudocódigo / DF : ENTERO nota1 = 0 TEXTO nombre = “ “ CARACTER tipo = ‘ ’
Java: int nota1 = 0 String nombre = “ “ char tipo = ‘ ’
tipoDato nombreDeVariable = valorInicial
OPERADORES MATEMÁTICOS
PS O DF JAVA C++ REPRESENTA A:
+ + + Suma
- - - Resta
* * * Multiplicación
/ / / División
RESTO ó % % % Resto / Modulo
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Procesos de Cálculo
• Los operadores que están encerrados entre paréntesis se evalúan primero. Si existen paréntesis anidados las expresiones mas internas se evalúan primero.
• Orden de prioridad:
1. * , /
2. RESTO ó %
3. + , -
• En caso de coincidencia de operadores de igual prioridad en una expresión, el orden de prioridad será de izquierda a derecha.
Jerarquía de los operadores ´matemáticos
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Procesos de Cálculo
OPERADORES RELACIONALES, LÓGICOS y DE ASIGNACIÓN
PS O DF JAVA C++ REPRESENTA A:
< < < Menor que
> > > Mayor que
= == == Igual que
<= <= <= Menor o igual que.
>= >= >= Mayor o igual que
<> ! = ! = Distinto de.
NO ! ! Negación.
Y && && Conjunción.
O || || Disyunción.
= = = Asignación
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Procesos de Cálculo
Problema N°1: Desarrollo una solución que permita sumar los números 10 y 15. Mostrar el resultado.
Algoritmo PrgSuma
ENTRADA: SALIDA: suma
INICIOENTERO num1, num2, sumanum1 = 10num2 = 15suma = num1 + num2ESCRIBIR suma
FIN
INICIO
FIN
num1 = 10num2 = 15
ENTERO num1, num2, suma
suma = num1 + num2
suma
Introducción a la Computación (IC)
Algoritmo PrgPromedio
ENTRADA: SALIDA : promedio
INICIOCOMENTARIO Declaración de variablesREAL n1, n2, promedio
COMENTARIO Asignación de valorn1=15 n2=12
COMENTARIO Procesos de cálculo promedio = (n1 + n2) / 2
COMENTARIO Salida de resultadosESCRIBIR promedio
FIN
Problema N°2: Calcular y mostrar el promedio de los numero 15 y 12,
Introducción a la Computación (IC)
Problema N°2: Desarrollo una solución que permita calcular el área de un cuadrado sabiendo que tiene lado = 10.
Algoritmo AreaCuadrado
ENTRADA: SALIDA: area
INICIOENTERO lado, areaLEER ladoarea = lado * ladoESCRIBIR area
FIN
INICIO
FIN
ENTERO lado, area
area = lado * lado
area
ESTRUCTURA DE SECUENCIA
Introducción a la Computación (IC)
lado
La visualización de datos nos permite mostrar los datos de salida proporcionados por el algoritmo. Para nuestro caso a través de la pantalla de la computadora.
VISUALIZACIÓN DE DATOS
Definición:
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
ESCRIBIR nombreVariable
ESCRIBIR x + 2
ESCRIBIR “Hola”
En Pseudocódigo En D.F.
nombreVariable
x + 2
“Hola”
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
Ejemplo: Diseñar una solución que permita mostrar el saludo “Bienvenidos al desarrollo de algoritmos”
Algoritmo PrgSaludo
ENTRADA: SALIDA:
INICIOESCRIBIR “Bienvenidos al desarrollo de algoritmos”
FIN
INICIO
FIN
“Bienvenidos al desarrollo de algoritmos”
Introducción a la Computación (IC)Estructuras lógicas de secuencia– Visualización de datos
En Pseudocódigo En DF
SALTOLINEA( )
SALTO DE LINEA
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
SALTOLINEA( )
Ejemplo: Diseñar una solución que permita mostrar el saludo: “Bienvenidos al desarrollo de algoritmos estamos creando una segunda línea”
Algoritmo PrgSaludoENTRADA: SALIDA:INICIO
ESCRIBIR “Bienvenidos al desarrollo de algoritmos” SALTOLINEA( ) ESCRIBIR “Estamos mostrando datos en la segunda línea”
FIN
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
En Pseudocódigo En DF
COMENTARIO Este es un comentario Este es un comentario
COMENTARIOS
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
Ejemplo: Diseñar una solución que permita mostrar el saludo: “Bienvenidos al desarrollo de algoritmos estamos creando una segunda línea”
Algoritmo PrgSaludoENTRADA: SALIDA:INICIO
COMENTARIO Este algoritmo permite mostrar dos mensajesESCRIBIR “Bienvenidos al desarrollo de algoritmos” SALTOLINEA( ) ESCRIBIR “Estamos mostrando datos en la segunda línea”
FIN
Introducción a la Computación (IC)Estructuras lógicas de secuencia – Visualización de datos
EJERICICIOS DESARROLLADOS
EJERCICIO 1
Diseñe el diagrama de flujo que permita calcular y mostrar el promedio final de un alumno, así como un aviso de si el alumnos esta o no aprobado. Considere que la nota aprobatoria es 11 y que:
PF= 3PP+PT+EF 5
Donde:
PP = Promedio de 2 prácticas (El cual debe considerar 3 decimales) PT= Promedio de 2 trabajos (El cual debe considerando 2 decimales)EF= Examen final (valor entero)PF= Promedio final (El cual no debe considerar decimales)
INICIO
REAL p1,p2, t1, t2, pF, pP, pTENTERO eFTEXTO msj
p1,p2, t1, t2, eF
pP = (p1+p2)/2pP = Math.round(pP*1000)/1000.0pT = (t1+t2)/2pT = Math.round(pP*100)/100.0pF = (3*pP+pT+eF)/5pF = REDONDEAR(pF)
pF >= 11
Msj =“Está aprobado” Msj =“Está desaprobado”
pF , msj
INICIO
SOLUCIÓN EJERCICIO 1
EJERCICIO 2
Un estudiante requiere determinar cuál es el camino que debe tomar para llegar a la universidad teniendo en cuenta el tiempo y el dinero a invertir. Considerando que para llegar a destino debe usar obligatoriamente una ruta A y una ruta B y que:
Ruta A-1: costo del pasaje 1.00, tiempo que demora 30 minutos.Ruta A-2: costos del pasaje 1.30, tiempo que demora 20 minutos.Ruta B-1: costo del pasaje 0.80, tiempo que demora 45 minutos.Ruta B-2: costo del pasaje 1.10, tiempo que demora 25 minutos. Diseñe el pseudocódigo que me muestre la mejor alternativa desde el punto de vista de costos y la mejor alternativa desde el punto de vista del tiempo. (NO DEBE emplear métodos de la Clase Math)
SOLUCION EJERCICIO 2
Algoritmo PrgRutas ENTRADA : SALIDA : rutaC, rutat
INICIO TEXTO rutaC, rutaTREAL c11, c12, c21, c22, cMenorENTERO t11, t12, t21, t22, tMenor
COMENTARIO Halla combinación de Rutas para COSTOS: 1.0 puntos
c11 = 1.00 + 0.8 c12 = 1.00 + 1.1c21 = 1.30 + 0.8c22 = 1.30 + 1.1
COMENTARIO Halla combinación de Rutas para TIEMPOS: 1.0 puntos t11 = 30 + 45t12 = 30 + 25t21 = 20 + 45t22 = 20 + 25
cMenor = c11rutaC = "A1 con B1"
…SOLUCIÓN EJERCICIO 2
COMENTARIO Halla MENOR COSTO SI ( c12 < cMenor ) ENTONCES
cMenor = c12rutaC = "A1 con B2"
FINSI
SI ( c21 < cMenor ) ENTONCEScMenor = c21rutaC = "A2 con B1"
FINSI
SI ( c22 < cMenor ) ENTONCEScMenor = c22rutaC = "A2 con B2"
FINSI
…SOLUCIÓN EJERCICIO 2Algoritmo PrgRutas
COMENTARIO Halla MENOR TIEMPOtMenor = t11rutaT = "A1 con B1“
SI ( t12 < tMenor ) ENTONCEStMenor = t12rutaT = "A1 con B2"
FINSI
SI ( t21 < tMenor ) ENTONCEStMenor = t21rutaT = "A2 con B1"
FINSI
SI ( t22 < tMenor ) ENTONCEStMenor = t22rutaT = "A2 con B2“
FINSI
COMENTARIO Salida de Resultados
ESCRIBIR rutaC, rutatFIN
EJERCICIO 3
Una ferretería tiene dos recipientes llenos de pintura cuyas capacidades están dadas en galones y pies cúbicos respectivamente. Desarrolle el programa que determine la cantidad total de pintura en metros cúbicos, en pies cúbicos y en yardas cubicas. Considere las siguientes equivalencias:
1 pie cúbico = 0.0283 metros cúbicos1 galón = 3.79 litros1 metro cúbico = 1000 litros1 yarda cúbica = 27 pies cúbicos
SOLUCIÓN EJERCICIO 3
package domApli;import biblioteca.Lectura;public class Prg2 {public static void main(String[] args) {
double gal, pie3, met3, yar3;
System.out.print("Ingrese la cantidad de galones iniciales: "); gal=Lectura.leerDouble();
System.out.print("Ingrese la cantidad de pies iniciales: ");pie3=Lectura.leerDouble();
pie3 = pie3 + gal*3.79/1000/0.0283;met3 = pie3*0.0283;yar3 = pie3/27;
System.out.println ("Pies cúbicos totales: "+pie3 );System.out.println ("Metros cúbicos totales: "+met3 );System.out.println ("Yardas cúbicos totales: "+yar3 ) ;
}}