ic - estructuras de secuencia - ejercicios

Post on 06-Jul-2015

3.048 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

}}

top related