UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que...

11
UN ESTRUCTUR 20 Departamen NIDAD II: RAS SECUENCIA 015 nto de Computación UNAN-León ALES

Transcript of UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que...

Page 1: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

UNIDAD IESTRUCTURAS SECUENCIALES

201

Departamento de Computación

UNIDAD II: ESTRUCTURAS SECUENCIALES

2015

Departamento de Computación UNAN-León

ESTRUCTURAS SECUENCIALES

Page 2: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

2

UNIDAD II: ESTRUCTURAS SECUENCIALES 2.1 INTRODUCCIÓN: La estructura secuencial permite representar aquellas instrucciones que se ejecutan una tras otra, en secuencia; o sea, instrucciones en que la salida de una es la entrada de la próxima instrucción. También se puede decir que son una o más instrucciones seguidas, donde ninguna de ellas hace que se bifurque el control de ejecución del algoritmo, o que se repita la ejecución de una o más instrucciones. Mediante esta estructura se pueden representar instrucciones de asignación, entrada y salida de datos e invocación a subprogramas. Ésta, como todas las estructuras de la programación estructurada, tiene una sola entrada y una sola salida. Representación: Proceso NombreProceso

<instrucción 1> <instrucción 2> <instrucción 3> . . . <instrucción n>

FinProceso Ejemplo: Proceso suma Definir a,b,resul como Entero;

Escribir sin saltar “Ingrese dos enteros:”; Leer a,b; resul<‐ a+b; Escribir “La suma es:” ,resul;

FinProceso 2.2 DEFINICIÓN DE VARIABLES: La instrucción Definir permite especificar el tipo de una o más variables. Esta definición puede ser opcional u obligatoria dependiendo de la configuración del lenguaje. La sintaxis: Definir <varl>,<var2>,…,<varN>Como[CARÁCTER/ENTERO/LOGICO/REAL]; Una variable debe definirse antes de ser utilizada por primera vez.

Page 3: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

3

Existen tres tipos de datos básicos:

• Numérico: Números, tanto enteros como reales. Para separar decimales se utiliza el punto. Ejemplos: 12,23,0,‐2.3,3.14.

• Lógico: Sólo puede tomar dos valores: VERDADERO o FALSO. • Carácter: Caracteres o cadenas de caracteres encerrados entre comillas

(pueden ser dobles o simples). Ejemplos:'hola',"hola mundo",'123','FALSO'.

Los tipos de datos simples se determinan automáticamente cuando se crean las variables. Las dos acciones que pueden crear una variable son la lectura (LEER) y la asignación (<‐). Por ejemplo, la asignación "A<‐0;" está indicando implícitamente que la variable A será una variable numérica. Una vez determinado el tipo de dato, deberá permanecer constante durante toda la ejecución del proceso; en caso contrario el proceso será interrumpido. 2.3 INSTRUCCIÓN DE ASIGNACION: Por medio de esta instrucción se asigna a una variable el resultado de evaluar una expresión. Al lado izquierdo de la instrucción está la variable, al derecho la expresión y uniéndolas el signo “<‐”, denominado operador de asignación. FORMATO: <variable> <- <expresión>; En el área de comandos de PSeInt:

Al ejecutarse la instrucción se evalúa la expresión, la cual da como resultado un único valor; éste es llevado a la dirección de memoria asignada a la variable que recibe la información. Al hacerse la asignación es destruida cualquier otro valor que tenga la variable. El dato o valor que arroje la expresión debe ser del mismo tipo que la variable: si el resultado es numérico la variable debe ser numérica, si es lógico o carácter la variable también lo debe ser. Existen dos operadores de asignación alternativos que pueden utilizarse indistintamente en cualquier caso, pero la habilitación del segundo (=) depende del perfil de lenguaje seleccionado. <variable> := <expresión>; <variable> = <expresión>; Ejemplos: SALDO <‐ VFINAL – VINICIAL; RESUL <‐ (X > Y) ^ (B > C); SUMA <‐ 0; VARIABLE1 <‐ VARIABLE2; NOMBRE <‐ ‘CARMEN’;

Page 4: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

4

2.4 INSTRUCCIÓN DE ENTRADA DE DATOS: Una instrucción de entrada de datos es una orden, para que desde un medio externo se introduzcan valores y dichos datos sean llevados a las direcciones de memoria asignadas a las variables utilizadas para almacenar los datos de entrada en el proceso. FORMATO: Leer <lista de variables separadas por coma>; En el área de comandos de PSeInt:

Los datos de entrada son los valores necesarios para que la computadora haga los cálculos pertinentes. Ejemplo: Leer CODIGO, NOMBRE; Nota: Los valores que se introducen deben estar en el mismo orden de las variables en la lista. 2.5 INSTRUCCIÓN DE SALIDA DE DATOS: Mediante la instrucción de salida se extraen valores de la memoria hacia un medio externo de salida permitido. Se permite acompañar los resultados con comentarios explicativos de los valores que se muestran en el dispositivo de salida estándar. FORMATO: Escribir <exprl> , <expr2> , ... , <exprN> ; En el área de comandos de PSeInt:

Esta instrucción escribe en pantalla los valores obtenidos de evaluar N expresiones. Dado que puede incluir una o más expresiones, mostrará uno o más valores. Si hay más de una expresión, se escriben una a continuación de la otra. Ejemplo: Proceso prueba Definir A,B,C como entero;

Escribir 'Ingrese tres valores:'; Leer A,B,C; Escribir A; Escribir B; Escribir C; Escribir 'Los valores son: ',A,' ',B,' ',C; Escribir 'El valor de A es:',A,' El de B es:',B,' Y el de C es:',C;

FinProceso

Page 5: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

5

Al ejecutarse cada una de las instrucciones anteriores, y si las variables A, B y C contienen los valores: A = 8; B = 12.36; C = 56, la salida será:

NOTA: Cuando en una instrucción de salida se tiene un grupo de caracteres entre comillas éste será impreso sin ninguna modificación en el medio de salida, y lo que aparezca sin comillas se asume que es una variable; por lo tanto, se extraerá de la memoria el contenido de ésta.

2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Definir num,cuadrado,cubo como entero; Escribir "Ingrese un numero:"; Leer num; cuadrado<‐num^2; cubo<‐cuadrado*num; Escribir "El cuadrado de: ",num," es: ",cuadrado; Escribir "El cubo de: ",num," es: ",cubo;

FinProceso Diagrama de Flujo:

Page 6: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

6

Ejemplo de Salida:

Ejercicio #2: Pseudocódigo que al recibir como dato el radio de una esfera, calcule e imprima el área y su volumen. • Area = 4 * π * radio2 • Volumen = 1/3 * π * radio3 Pseudocódigo: Proceso esfera3

Definir radio,area,volumen Como Entero; Escribir 'El radio de la esfera es:'; Leer radio; area<‐4*pi*(radio^2); volumen<‐1/3*pi*(radio^3); Escribir 'El area de la esfera es: ',area; Escribir 'El volumen de la esfera es: ',volumen;

FinProceso Diagrama de Flujo:

Page 7: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

7

Ejemplo de Salida:

Ejercicio #3: Se tiene la siguiente información de un empleado:

• Código del empleado. • Nombre. • Número de horas trabajadas al mes. • Valor de la hora trabajada. • Porcentaje de retención.

Haga un pseudocódigo y diagrama de flujo que imprima: Código, nombres, salario bruto y salario neto del empleado. Pseudocódigo: Proceso salario_empleado

Definir salario_b,sal_neto,ret,porcret,vph,retencion como real; Definir nomemp,codemp como caracter; Definir nht como entero; Escribir "¿Codigo del empleado?"; Leer codemp; Escribir "Nombre del empleado:"; Leer nomemp; Escribir "Cuanto se paga por hora?"; Leer vph; Escribir "Numero de horas trabajadas:"; Leer nht; Escribir "¿Cual es el porcentaje de retencion?"; Leer ret; salario_b<‐nht*vph; retencion<‐salario_b*(ret/100); sal_neto<‐salario_b‐retencion; Escribir "El empleado se llama: ",nomemp; Escribir "El codigo del empleado es: ",codemp; Escribir "El salario bruto del empleado es:$ ",salario_b; Escribir "El valor de la retencion del empleado es:$ ",retencion; Escribir "El salario neto del empleado es:$ ",sal_neto;

FinProceso

Page 8: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

8

Diagrama de Flujo:

Ejemplo de Salida:

Page 9: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

9

Ejercicio #4: Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. Pseudocódigo: Proceso inversion Definir ip1,ip2,ip3,totalinv,pp1,pp2,pp3 como real; Escribir "La persona 1 invirtio: "; Leer ip1; Escribir "La persona 2 invirtio: "; Leer ip2; Escribir "La persona 3 invirtio: "; Leer ip3; totalinv<‐ip1+ip2+ip3; pp1<‐(ip1*100)/totalinv; pp2<‐(ip2*100)/totalinv; pp3<‐(ip3*100)/totalinv; Escribir "El % de inversion de la persona 1 es: ",REDON(pp1),"%"; Escribir "El % de inversion de la persona 2 es: ",REDON(pp2),"%"; Escribir "El % de inversion de la persona 3 es: ",REDON(pp3),"%"; FinProceso Diagrama de Flujo:

Page 10: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

10

Ejemplo de Salida:

Ejercicio #5: Dada una cantidad en córdobas, obtener la equivalencia en dólares, asumiendo que la unidad cambiaria es un dato desconocido. Pseudocódigo: Proceso cambioMoneda

Definir dolares,cordobas,tipocambio Como Real; Escribir "Cantidad en cordobas que desea cambiar:";

Leer cordobas; Escribir "Introduzca el tipo de cambio: "; Leer tipocambio; dolares<‐cordobas/tipocambio; Escribir "El equivalente en dolares de ",cordobas, " cordobas es: ",dolares; FinProceso Diagrama de Flujo:

Page 11: UNIDAD I I: ESTRUCTURAS SECUENCIALES · 2.6 EJERCICIOS RESUELTOS: Ejercicio #1: Pseudocódigo que lee un número entero e imprime su cuadrado y su cubo. Pseudocódigo: Proceso cubo_cuadrado

Unidad II: Estructuras Secuenciales

11

Ejemplo de Salida:

2.7 EJERCICIOS PROPUESTOS:

1. Pseudocódigo que calcule e imprima el número de segundos que ha en un determinado número de días.

2. Realice un pseudocódigo que le permita al profesor de Lógica de Programación conocer qué porcentaje de hombres y de mujeres hay en un grupo de estudiantes.

3. Dado el número de carnet y 5 calificaciones de un alumno obtenidas a lo largo

del semestre; construya un algoritmo que imprima el número de carnet del alumno y el promedio de sus calificaciones.

4. Elabore un pseudocódigo que calcule el número de billetes de 100,50, 20, 10, mónedas de C$ 5 y C$ 1, que se necesita para cambiar un cheque. Considere que el valor del cheque es un número entero.

5. Pseudocódigo que al recibir como datos las coordenadas de los puntos P1,P2 y

P3 que corresponden a los vértices de un triángulo, calcule su superficie.

Consideraciones: Para calcular el área de un triángulo dadas las coordenadas de los vértices que la componen, podemos aplicar la siguiente fórmula:

Area= �

�� |�� � ��� �� � �� � �� ��� � � � ��� ���|