ic - estructuras de secuencia - ejercicios

37
Facultad de Ingeniería y Arquitectura Introducción a la Computación (IC) 2011-I Semana 3

Upload: cbertolotti

Post on 06-Jul-2015

3.046 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: IC - Estructuras de Secuencia - Ejercicios

Facultad de Ingeniería y ArquitecturaIntroducción a la Computación (IC)

2011-ISemana 3

Page 2: IC - Estructuras de Secuencia - Ejercicios

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

Page 3: IC - Estructuras de Secuencia - Ejercicios

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

Page 4: IC - Estructuras de Secuencia - Ejercicios

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)

Page 5: IC - Estructuras de Secuencia - Ejercicios

ARREGLOS

•Vectores

•Matrices

ESTRUCTURAS DE SECUENCIA

Introducción a la Computación (IC)

Page 6: IC - Estructuras de Secuencia - Ejercicios

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

Page 7: IC - Estructuras de Secuencia - Ejercicios

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

Page 8: IC - Estructuras de Secuencia - Ejercicios

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

Page 9: IC - Estructuras de Secuencia - Ejercicios

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

Page 10: IC - Estructuras de Secuencia - Ejercicios

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

Page 11: IC - Estructuras de Secuencia - Ejercicios

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

Page 12: IC - Estructuras de Secuencia - Ejercicios

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

Page 13: IC - Estructuras de Secuencia - Ejercicios

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

Page 14: IC - Estructuras de Secuencia - Ejercicios

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:

Page 15: IC - Estructuras de Secuencia - Ejercicios

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

Page 16: IC - Estructuras de Secuencia - Ejercicios

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

Page 17: IC - Estructuras de Secuencia - Ejercicios

• 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

Page 18: IC - Estructuras de Secuencia - Ejercicios

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

Page 19: IC - Estructuras de Secuencia - Ejercicios

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)

Page 20: IC - Estructuras de Secuencia - Ejercicios

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)

Page 21: IC - Estructuras de Secuencia - Ejercicios

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

Page 22: IC - Estructuras de Secuencia - Ejercicios

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

Page 23: IC - Estructuras de Secuencia - Ejercicios

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

Page 24: IC - Estructuras de Secuencia - Ejercicios

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

Page 25: IC - Estructuras de Secuencia - Ejercicios

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( )

Page 26: IC - Estructuras de Secuencia - Ejercicios

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

Page 27: IC - Estructuras de Secuencia - Ejercicios

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

Page 28: IC - Estructuras de Secuencia - Ejercicios

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

Page 29: IC - Estructuras de Secuencia - Ejercicios

EJERICICIOS DESARROLLADOS

Page 30: IC - Estructuras de Secuencia - Ejercicios

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)

Page 31: IC - Estructuras de Secuencia - Ejercicios

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

Page 32: IC - Estructuras de Secuencia - Ejercicios

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)

Page 33: IC - Estructuras de Secuencia - Ejercicios

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"

Page 34: IC - Estructuras de Secuencia - Ejercicios

…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

Page 35: IC - Estructuras de Secuencia - Ejercicios

…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

Page 36: IC - Estructuras de Secuencia - Ejercicios

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

Page 37: IC - Estructuras de Secuencia - Ejercicios

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 ) ;

}}