23
  Fundamentos de Pro gramación   I Ciclo Fundament os de Programaci ón  Profesor:  José Rosvel Carrera Sánchez 1

Fundamentos de Estructura de Datos

Embed Size (px)

Citation preview

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 1/23

   Fundamentos de Programación

   I Ciclo

Fundamentos deProgramaci

ón

 Profesor:  José Rosvel Carrera Sánchez1

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 2/23

   Fundamentos de Programación

   I Ciclo

Conceptos Básicos

1. Dato.-  Los datos se representan a través de símbolos llamadoscaracteres. Un caracter es un número del 0 al 9, una letra de la a hastala z (minúscula o mayúscula o un caracter especial (caracteresorto!r"#cos y de puntuaci$n, los símbolos aritméticos y los símbolosutilizados en dibu%os o !r"#cos.

Un dato puede si!ni#car un número, una letra, un si!no orto!r"#co ocual&uier símbolo &ue represente una cantidad, una medida, una palabrao una descripci$n.'or si mismos los datos no tienen capacidad de comunicar un si!ni#cado.

. Información.- )s el resultado del tratamiento de datos. )s el con%untode datos procesados y ordenados.

*. Programa.- )s un con%unto de instrucciones (ordenes &ue !uían a lacomputadora para realizar al!una actividad o resolver un problema.

Un pro!rama es un con%unto de instrucciones escritas en al!ún len!ua%ede pro!ramaci$n. )l pro!rama debe ser compilado  o interpretado  parapoder ser e%ecutado y así cumplir su ob%etivo.

+. Lenguaje de programación.-  )s el medio a través del cual lecomunicamos a la computadora la secuencia de instrucciones (pro!rama&ue debe e%ecutarse para resolver un problema.

)st" ormado por un con%unto de símbolos y re!las sint"cticas  ysem"nticas &ue de#nen su estructura y el si!ni#cado de sus elementos ye-presiones.

. Programación.- )s la actividad de realizar pro!ramas con undeterminado len!ua%e de pro!ramaci$n. 

/. Algoritmo.- )s el con%unto ordenado y #nito de pasos o instrucciones&ue conducen a la soluci$n de un problema. &uí tiene al!unos e%emplos

de al!oritmos• La receta para preparar un cebiche.

 Profesor:  José Rosvel Carrera Sánchez2

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 3/23

   Fundamentos de Programación

   I Ciclo

• Los pasos o instrucciones para armar un %u!uete.

Los datos)s la parte undamental de lo &ue se procesa inormaci$n.

)s&uema b"sico de la clasi#caci$n de los datos.

)n la si!uiente e-presi$n al!ebraica  Y ! " # $ %A& identi#&ue

Las variables2222222

La constante2222222Constantes' 3on a&uellas &ue no cambian su valor durante la e%ecuci$nde un pro!rama o prueba de un al!oritmo. Las constantes se clasi#can en

1. C. (um)rica *ntera.- 'ara ser considerada como tal, deber" cumplirla si!uiente re!la

14 5ormada por dí!itos del 0 al 94 6pcionalmente el uso del si!no 7 $ 8)%emplos 8 71+ 9

. C. (um)rica +eal.- 'ara ser considerada como tal, deber" cumplir la

si!uiente re!la14 5ormada por dí!itos del 0 al 94 6pcionalmente el uso del si!no 7 $ 8*4 6pcionalmente el uso del punto decimal)%emplos 0.+ 8.+ 8./ 7.:* /

*. C. Caracter- 'ara ser considerada como tal, deber" cumplir lasi!uiente re!la

14 Limitada por comillas dobles.4 3olo un car"cter entre sus comillas.)%emplos ;<= ;:= ;>=

 Profesor:  José Rosvel Carrera Sánchez3

*jemplo,' ir al instituto desdesu casa.1. ?e despierto.

. ?e levanto de la cama.*. ?e diri%o al ba@o a asearme.?e visto.

+. Aomo el desayuno. ?edespido.

. ?e diri%o al paradero. bordoel ta-i.

/. 'a!o mi pasa%e.. Beri#co el paradero donde

vo a ba ar. Ca o del ta-i.

*jemplo%' Camiar una llantade un coce'1. Araer la !ata.

. Levantar el coche con la!ata.*. Do%ar tornillos de las llantas.+. 3acar los tornillos de las

llantas.. Euitar la llanta./. 'oner la llanta de repuesto.. 'oner los tornillos.:. pretar tornillos.9. Ca ar la ata.

)nteraFeal

Gonstante Hatos

GadenaBariablesGaracte

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 4/23

   Fundamentos de Programación

   I Ciclo

Hí!ito (0,1,,2..,9IEué es un caracterJ Letra (,C,2K,a,b,2z

)special (,>,M,2.

+. C. Cadena.- 3on llamadas también cadena de caracteres. 'ara ser

considerada como tal, deber" cumplir con la si!uiente re!la1N Limitada por comillas dobles.N ?"-imo * caracteres entre sus comillas.*N 3e acepta todo tipo de car"cter entre las comillas a e-cepci$n

de la misma comilla.)%emplos OventaO OPA/O O:O

/AL0+ C0(12A(2*/ariales.- 3on a&uellas &ue cambian su valor durante la e%ecuci$n de unpro!rama o prueba de un al!oritmo.

Una variable es una zona de memoria cuya unci$n es !uardar el valor &uetoma la variable, pero como una variable tomar" varios valores, éstos, ir"nOchancandoO a los valores anti!uos manteniendo el último valor.

'ara poder reconocer una variable en la memoria de la computadora, esnecesario darle un nombre con el cual podamos identi#carla dentro de unal!oritmo, éste nombre deber" cumplir con la si!uiente re!la

1 N Heber" empezar con una letra.

N ?"-imo 1/ caracteres.

*N Los caracteres aceptados son las letras, dí!itos y el subrayado (Q

)%emplos edad descuento* i!v5A boniQ

0ser3aciones'

Una variable debe tener un nombre aparente al valor &ue !uardar" demanera &ue sea "cil identi#carla.

)sta misma re!la se podr" aplicar para dar nombre a una constante.

Una variable ser" siempre de un tipo especí#co, los tipos a utilizar enéste curso ser"n

)nteraFeal

Gadena

Gar"cter

Una orma de determinar el tipo de una variable es conociendo el tipode la constante o valor &ue se !uardar" en dicha variable.

)%emplos de &ue tipo deberían ser las si!uiente variables y Ipor &uéJ

 Profesor:  José Rosvel Carrera Sánchez4

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 5/23

   Fundamentos de Programación

   I Ciclo

cantQhi%os 222222222222222222222222222222.

2222222222222222222

totalQdsctos2222222222222222222222222222..

2222222222222222222..placaQ vehiculo222222222222222222222222222.

2222222222222222222

se-o22222222222222222222222222222222.

22222222222222222222..

sueldo

222222222222222222222222222222222222222222

222222222222222..edad

222222222222222222222222222222222222222222

2222222222222222..

nombQalum

222222222222222222222222222222222222222222

222222222222.

estadoQcivil222222222222222222222222222222222222222222

222222222222.

promedio

222222222222222222222222222222222222222222

2222222222222..

Las e4presiones,. De5nición.-  Las e-presiones son una parte undamental de lapro!ramaci$n ya &ue sirven para realizar una o varias operaciones sobreun dato o un con%unto de datos, obteniéndose otro dato como resultado.Los operadores de#nen al!unas de las operaciones &ue pueden realizarsedentro de una e-presi$n.

Una e4presión es una combinaci$n de operadores y operandos. Los datosu operandos pueden ser constantes, variables y llamadas a unciones.dem"s, dentro de una e-presi$n pueden encontrarse subexpresiones

encerradas entre paréntesis. 'or e%emplo, la si!uiente e-presi$nmatem"tica

 Profesor:  José Rosvel Carrera Sánchez5

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 6/23

   Fundamentos de Programación

   I Ciclo

a " 6 " #7 8 c

Una e-presi$n consta de operadores y operandos. 3e!ún sea el tipo dedatos &ue manipulan, se clasi#can las e-presiones en

• ritméticas• Felacionales• L$!icas

%. 0peradores.- 3on los símbolos &ue permiten crear las e-presiones,tenemos

%.,. 0peradores matemáticos.

0perador AcciónR

ST?6H

78

?ultiplicaci$n

Hivisi$n realHivisi$n enteraFesiduo de

divisi$ndici$n

3ustracci$n'otenciaci$n

6bserve S T ?6H

Gociente *. * *Fesiduo 0 1 1Fesultado *. * 1

Gomo se dar" cuenta, los tres operadores tienen &ue ver necesaria8mente con la divisi$n

• )l S , obtiene el cociente, incluso con decimales.• )l T , obtiene s$lo la parte entera del cociente.• )V ?6H , obtiene el residuo de la divisi$n.

%.%. 0peradores relacionales.

0perador AcciónMWXY

Z[

?ayor &ue?enor &ue

V!ual aHierente a

?ayor o i!ual a?enor o i!ual a

 Profesor:  José Rosvel Carrera Sánchez6

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 7/23

   Fundamentos de Programación

   I Ciclo

%.#. 0peradores lógicos o ooleanos.

Operador Acción\v

]6

y (con%unci$no (disyunci$n

]e!aci$n

2alas de 3erdad de los operadores lógicos ásicos'

' E ' v E ' \ E  B B B B  B 5 B 5  5 B B 5  5 5 5 5

)l operador de ne!aci$n

' ^'B 55 B

Gonsidere &ue ' y E son proposiciones l$!icas.

#. Prioridad de los operadores'

+egla general'14 ( 4 6peradores matem"ticos

.1. .. R , S.*. T , ?6H.+. 7 , 8

*4 6peradores relacionales+4 6peradores l$!icos

+.1. ]6+.. \

+.*. v

*jemplo' *jemplo' *jemplo'

7 R 9 S R * 8 / : 7 * T M 9 R * 8

 

7 W 9 ST + X R +

  7 R 9 S R * 8 / : 7 1M 8 W 9 ST + X : _ *

7 + S R * 8 / 9 M W 9 ST + X

7 . R * 8 / 5 B ST 5

7 /. 8 / 5

/9. 8 /

/*.

 Profesor:  José Rosvel Carrera Sánchez7

0ser3ación'

Guando en una e-presi$n hayoperadores &ue presentan la mismaprioridad, las operaciones see%ecutar"n empezando de iz&uierda aderecha.

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 8/23

   Fundamentos de Programación

   I Ciclo

9u:a práctica (; <,

1. Heterminar &ué tipo de constantes representan los si!uientes e%emplos

1.1. 1*. 2222222..

1.. 71 2222222..

1.*. ;5V]= 2222222..

1.+. ,/0 2222222..

1.. 8 2222222..

1./. ;1.*= 2222222..

1.. ;*+= 2222222..

. )scriba tres nombres de variable para cada nombre &ue se indica

.1. Libreta electoral

22222222222222222222222

.. ]úmero de postulantes

22222222222222222222222

.*. 3ueldo de un obrero

22222222222222222222222

.+. G$di!o de un alumno

22222222222222222222222

.. Vmporte de venta

22222222222222222222222

*. Vndi&ue si los si!uientes nombres de variables est"n bien escritos, de noser así, e-pli&ue por &ué

Bariable Cien S mal I'or &uéJ

*.1. 22222.

22222222222222...

*.. `1 22222.

22222222222222...

 Profesor:  José Rosvel Carrera Sánchez8

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 9/23

   Fundamentos de Programación

   I Ciclo

*.*. C6]V581 22222.

22222222222222...

*.+. 3Q 22222. 2222222222..2222

*.. ;GHV6= 22222.22222222222222...

*./. P*A 22222. 22222222222222...

*.. V?'6FA) 22222.

22222222222222..

*.:. H3GA6 22222.

22222222222222...

*.9. /Q:Q 22222.22222222222222...

+. Utilice los operadores matem"ticos para transormar las si!uientese-presiones al!ebraicas

+.1. a 2222222222222222222222222..

+.. +` 7 d 2222222222222222222222222..

+.*. (07C 2222222222222222222222222..

+.+. ` _ d* 2222222222222222222222222..

+..  e 7 A 2222222222222222222222222..

+./.  _ *C 2222222222222222222222222..

a  7 :P

. 6bten!a las e-presiones al!ebraicas &ue dieron ori!en a las si!uientese-presiones

.1. ` 8 * R A222222222222222222222.

.. ( R G 7 R C S

222222222222222222222.

.*. P S (V 8

222222222222222222222.

.+. H 8 G S () 7 1

222222222222222222222.

 Profesor:  José Rosvel Carrera Sánchez

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 10/23

   Fundamentos de Programación

   I Ciclo

.. (G 7 H S ( 7 C

222222222222222222222.

/. 'racticas cali#cadas sobre e-presiones

=>?@ *1 AL90+I20 

La palabra al!oritmo se deriva de la traducci$n al latín de la palabra "rabeal<hofarizmi, nombre de un matem"tico y astr$nomo "rabe &ue escribi$ un tratadosobre manipulaci$n de números y ecuaciones en el si!lo V`.

Un al!oritmo es una serie de pasos or!anizados &ue describe el proceso &ue sedebe se!uir, para dar soluci$n a un problema especí#co.

)-isten dos tipos y son llamados así por su naturaleza• Gualitativos 3on a&uellos en los &ue se describen los pasos utilizando

palabras.

• Guantitativos 3on a&uellos en los &ue se utilizan c"lculos numéricos para

de#nir los pasos del proceso.

Caracter:sticas de un algoritmo

'reciso indica el orden realizado en cada paso.

He#nido si se si!ue dos o m"s veces, se lo!ra el mismo resultado.5inito tiene un #nal, esto es, un número determinado de pasos.

erramientas algor:tmicas.-  )-iste dos herramientas de pro!ramaci$n muyutilizadas estas son

1. Hia!ramas de Du%o.. 'seudoc$di!os.

Diagrama de ujo.- )s una representaci$n !r"#ca de un al!oritmo.)s una herramienta &ue permite elaborar al!oritmos de una manera "cilutilizando símbolos los &ue indican las acciones a realizar. Los símbolos utilizadoshan sido normalizados por el Vnstituto ]orteamericano de ]ormalizaci$n (]3V.

 Profesor:  José Rosvel Carrera Sánchez1!

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 11/23

   Fundamentos de Programación

   I Ciclo

Pseudocódigo.- )s una herramienta &ue acilita la elaboraci$n de al!oritmos enla &ue las instrucciones se escriben utilizando un len!ua%e depseudopro!ramaci$n, una imitaci$n en castellano de los len!ua%es depro!ramaci$n de alto nivel. 'or lo !eneral las instrucciones se escriben en

len!ua%e natural.

*tapas para la solución de un prolema con la computadora.- Un pro!ramapara el pro!ramador es un problema &ue tiene &ue resolver, por tanto, para darsoluci$n a un problema con la computadora se debe tener en cuenta las si!uientesetapas

,. Análisis del prolema

)l ob%etivo es comprender y de#nir claramente la naturaleza del problemapara poder lle!ar a una soluci$n satisactoria.

Gomprende los si!uientes aspectosa. He#nici$n del problema.8 IEué har" el pro!rama &ue se pretende

construirJ

b. )speci#caciones de entrada.8 IGu"les ser"n los datos de entradaJ

c. )speci#caciones de salida.8 IGu"les son los datos de salidaJ

%. DiseEo del algoritmo

)n esta etapa se determina como hace el pro!rama la tarea solicitada, paraesto se utilizan herramientas al!orítmicas como dia!ramas de Du%o y

pseudoc$di!os.)n esta etapa es muy importante comprobar manualmente el correctouncionamiento del al!oritmo.

'rueba de escritorio permite comprobar si el al!oritmo cumple con losob%etivos planteados, consiste en ele!ir un con%unto de valores de entrada yobtener los correspondientes valores de salida y veri#car si los resultadosobtenidos son los esperados.

#. Codi5cación del programa)tapa &ue consiste en escribir la soluci$n del problema en una serie deinstrucciones detalladas, estas se escriben en un len!ua%e de pro!ramaci$nde alto nivel.

'ara pasar del al!oritmo al pro!rama se necesita conocer la sinta-is (re!lasde escritura de las instrucciones del len!ua%e de pro!ramaci$n ele!ido.

 Aerminada la codi#caci$n se obtiene el llamado pro!rama uente o c$di!ouente.

. Compilación G ejecución

6btenido el c$di!o uente se procede a la etapa de compilaci$n. )ste procesoconsiste en veri#car la sinta-is de cada instrucci$n del pro!rama, si no se han

 Profesor:  José Rosvel Carrera Sánchez11

Lo que hace el programa

Como lo hace el programa

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 12/23

   Fundamentos de Programación

   I Ciclo

producido errores, el compilador producir" el llamado pro!rama ob%eto oc$di!o ob%eto.

H. /eri5cación G depuración

)n esta etapa se veri#ca el correcto uncionamiento del pro!rama con una

amplia variedad de datos de entrada, llamados datos de prueba.La depuraci$n es el proceso de encontrar los errores del pro!rama y corre!iro eliminar dichos errores.

. Documentación

)s una orma de comunicaci$n escrita, esta puede incluir enunciados,procedimientos, conclusiones, dia!ramas, etc.

'or lo !eneral, un pro!rama es escrito por una persona y es usado por otra.'or esta raz$n la documentaci$n sirve para ayudar a comprender a usar elpro!rama o para acilitar uturas modi#caciones (mantenimiento.

J. antenimiento

3e realiza después de haber terminado el pro!rama, cuando se determina&ue es necesario hacer al!ún o al!unos cambios, a%ustes o complementaci$nal pro!rama para &ue si!a traba%ando de manera correcta. 'ara llevar a caboesta actividad es muy importante contar con la documentaci$n del pro!rama.

*++AI*(2A1 AL90+K2ICA1

,. Diagrama de Flujo 

Un dia!rama de Du%o es la representaci$n !r"#ca de un al!oritmo. Aambién sepuede decir &ue es la representaci$n detallada en orma !r"#ca de c$mo debenrealizarse los pasos en la computadora para producir resultados.

)sta representaci$n !r"#ca se da cuando varios símbolos (&ue indicandierentes procesos en la computadora, se relacionan entre sí mediante líneas

&ue indican el orden en &ue se deben e%ecutar los procesos. Los símbolosutilizados han sido normalizados por el instituto norteamericano denormalizaci$n (]3V 

1imolog:a'

1:molo Descripción

Vndica el inicio y el #nal de nuestro dia!rama de Du%o.

Vndica la entrada y salida de datos.

 Profesor:  José Rosvel Carrera Sánchez12

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 13/23

   Fundamentos de Programación

   I Ciclo

3ímbolo de proceso y nos indica la asi!naci$n de un valor en lamemoria ySo la e%ecuci$n de una operaci$n aritmética.

Vndica la salida de inormaci$n por impresora.

Gonector dentro de p"!ina. Fepresenta la continuidad del dia!ramadentro de la misma p"!ina.

Gonector uera de p"!ina. Fepresenta la continuidad del dia!rama enotra p"!ina.

Vndica la salida de inormaci$n en la pantalla o monitor.

3ímbolo de decisi$n. Vndica la realizaci$n de una comparaci$n devalores.

Líneas de Du%o o direcci$n. Vndican la secuencia en &ue se realizan lasoperaciones. 

+ecomendaciones para el diseEo de Diagramas de Flujo 

• 3e deben usar solamente líneas de Du%o horizontal ySo vertical.

• 3e debe evitar el cruce de líneas utilizando los conectores.

• 3e deben usar conectores s$lo cuando sea necesario.

• ]o deben &uedar líneas de Du%o sin conectar.

• 3e deben trazar los símbolos de manera &ue se puedan leer de arriba hacia

aba%o y de iz&uierda a derecha.

•  Aodo te-to escrito dentro de un símbolo deber" ser escrito claramente,

evitando el uso de muchas palabras.

. Pseudocódigo

 Profesor:  José Rosvel Carrera Sánchez13

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 14/23

   Fundamentos de Programación

   I Ciclo

?ezcla de len!ua%e de pro!ramaci$n y espa@ol (o in!lés o cual&uier otro idioma&ue se emplea, dentro de la pro!ramaci$n estructurada, para realizar el dise@ode un pro!rama. )n esencial, el 'seudoc$di!o se puede de#nir como unlen!ua%e de especi#caciones de al!oritmos.

)n esencial, el 'seudoc$di!o se puede de#nir como un len!ua%e deespeci#caciones de al!oritmos.)s la representaci$n narrativa de los pasos &ue debe se!uir un al!oritmo paradar soluci$n a un problema determinado. )l 'seudoc$di!o utiliza palabras &ueindican el proceso a realizar.

#. Instrucciones ásicas

'ara la construcci$n de un al!oritmo se debe uniormizar sus instrucciones

se!ún la herramienta &ue se esté utilizando.

Lectura o ingreso de datos' La lectura o entrada de datos consiste en recibirdesde un dispositivo de entrada (p.e%. elteclado un valor o dato. )ste dato va a seralmacenado en la variable &ue aparece acontinuaci$n de la instrucci$n. )sta operaci$nse representa así 

Pseudocódigo Diagrama de ujo

Leer momb_var1, nomb_var2

 

Asignación de 3alor'  'ara almacenar en una variable un valor o el contenidode otra variable o el resultado de una e-presi$n, en!eneral el ormato a utilizar es el si!uiente 

3alor  nom-3ar,  e4presión

nom-3ar%

  "bserve #ue las llaves en el $or%a&o in'ican #ue se 'eberá ele(ir una 'e las

al&erna&ivas #ue es&án en&re ellas)

*jemplo'

turno ;m= *se asi(na el valor +%, en la variable &urno-

 Profesor:  José Rosvel Carrera Sánchez14

nomb_var1, nomb_var2

El símbolo 

significa “asignar.”

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 15/23

   Fundamentos de Programación

   I Ciclo

sueldo 1(+. *se asi(na el valor 1245)5 en la variable suel'o-

boni,1 0.0: R sueldo *el resul&a'o 'e la expresi.n se asi(nará en la

variable boni$1-

au-1 

au-( *el con&eni'o 'e la variable aux2 se al%acenaráen la variable aux1-

*scritura o salida de datos'  'ara mostrar en impresora o pantalla un valorySo el resultado de una e-presi$n ySo elcontenido de una variable, se utilizar" lasi!uiente instrucci$n.

Pseudocódigo Diagrama de ujo

Escribir “La variable es:”, nom_var

  /as palabras visualizar0 %os&rar o 'ispla1ar son sin.ni%os 'e la palabra escribir)

ESTRUCTURAS ALGORÍTMICAS BÁSICAS

Las Estructuras Básicas pueden ser:

Secuenciales: Cuando una instrucción del programa sigue a otra.

Selección o decisión: Acciones en las que la ejecución de alguna dependerá de que secumplan una o varias condiciones.

Repetición, Iteración: Cuando un proceso se repite en tanto cierta condición sea establecida

para finalizar ese proceso.

 Profesor:  José Rosvel Carrera Sánchez15

“La variable e!", nom_var

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 16/23

   Fundamentos de Programación

   I Ciclo

. E#r$%#$ra Se%$en%ial& 

!e caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide

con el orden f"sico en el que se #an ido poniendo las instrucciones. $entro de este tipopodemos encontrar operaciones de inicio%fin& inicialización de variables& operaciones deasignación& cálculo& sumarización& etc. Este tipo de estructura se basa en las ' fases deque consta todo algoritmo o programa:

Ejemplo: 

Construir un diagrama de flujo que permita encontrar el producto& la suma ( media

aritm)tica de * n+meros.

 

,. E#r$%#$ra Sele%%i'n o %on(i%ional& 

Estas estructuras se identifican porque en la fase de solución del problema e-iste alg+npunto en el cual es necesario establecer una pregunta& para decidir si ciertas accionesdeben realizarse o no.Las condiciones se especifican usando e-presiones lógicas. La representación de unaestructura selectiva se #ace en flujograma con una figura geom)trica en forma de rombo.Las estructuras selectivas o alternativas se clasifican en:

 Profesor:  José Rosvel Carrera Sánchez16

edia a0b0c0d %*

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 17/23

   Fundamentos de Programación

   I Ciclo

a1 !implesb1 $oblesd1 +ltiples

3.1.E#r$%#$ra %on(i%ional im)le& 

!e identifican porque están compuestos +nicamente de una condición.!i la condición es verdadera& entonces ejecuta la acción Si /o acciones si son varias1.!i la condición es falsa& entonces no se #ace nada.

Ejemplo. 

Construir un diagrama de flujo tal& que dado como dato la calificación de un

alumno en un e-amen& escriba 2Aprobado2 en caso que esa calificación fuesema(or que 3.

!alidas: mensaje de aprobado si se cumple la condición.Entradas: calificación

 Profesor:  José Rosvel Carrera Sánchez17

no

si

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 18/23

   Fundamentos de Programación

   I Ciclo

3.2.E#r$%#$ra %on(i%ional (oble& 

!on estructuras lógicas que permiten controlar la ejecución de varias acciones ( seutilizan cuando se tienen dos opciones de acción& por la naturaleza de estas se debeejecutar una o la otra& pero no ambas a la vez& es decir& son mutuamentee-clu(entes.

Ejemplo. 

Construir un diagrama de flujo que& $ado como dato la calificación de un alumno

en un e-amen& escriba 2aprobado2 si su calificación es ma(or que 3 (24eprobado2 en caso contrario.

!alidas: mensaje de aprobado si se cumple la condición ( si no mensaje dereprobado.Entradas: calificación

 Profesor:  José Rosvel Carrera Sánchez18

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 19/23

   Fundamentos de Programación

   I Ciclo

3.3.E#r$%#$ra %on(i%ional m*l#i)le& 

Con frecuencia es necesario que e-istan más de dos elecciones posibles. Esteproblema se podr"a resolver por estructuras selectivas simples o dobles& anidadas oen cascada& pero si el n+mero de alternativas es grande puede plantear serios

problemas de escritura ( de legibilidad.5sando la estructura de decisión m+ltiple se evaluará una e-presión que podrá tomar n valores distintos& & , & 6& ....&n ( seg+n que elija uno de estos valores en lacondición& se realizará una de las n acciones o lo que es igual& el flujo del algoritmoseguirá sólo un determinado camino entre los n posibles.Esta estructura se representa por un selector el cual si toma el valor ejecutará laacción & si toma el valor , ejecutará la acción ,& si toma el valor 7 realizará la acción7.

Ejemplo. 

Construir un diagrama de flujo que& dados como datos dos variables de tipo

entero& obtenga el resultado de la siguiente función:

 Profesor:  José Rosvel Carrera Sánchez1

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 20/23

   Fundamentos de Programación

   I Ciclo

PROLE!"# PROP$E#%O#

+epresente mediante diagramas de ujos Gpseudocódigos los siguientes prolemas

algor:tmicos'

1 Elabore un diagrama de flujo, que permita digitar un número y luego muestre su mitad.

2 Elabore un diagrama de flujo, que permita digitar el nombre y año de nacimiento de un paciente yluego imprima su nombre y su edad.

3 Elabore un diagrama de flujo, que permita ingresar el sueldo de un trabajador y aplique un aumentodel 15% si su sueldo es inferior o igual a 1500. Luego imprima su nueo sueldo.

4 En una f!brica de pl!sticos a los obreros se les paga por cada balde "#. 0.$0, el pago es diario,construya un diagrama de flujo que realice las siguientes acciones, se ingresara a teclado el nombrey la cantidad de baldes &ec&os por un obrero, se debe isuali'arse en el monitor el nombre y surespectio pago.

5 Elabore un diagrama de flujo, que permita ingresar ( números y ealúe cual es el mayor y menor.6

Elabore un diagrama de flujo, que permita ingresar el nombre de una persona, su fec&a de nacimiento)calcule su edad y isualice en el monitor mediante un mensaje *+E- /E E// o *+2- /EE// según su edad.

7 Elabore un diagrama de flujo, que permita conertir una cantidad de litros en galones e3actos, paraesto se deber! digitar la cantidad de litros y precio por gal4n, se deber! mostrar la cantidad de galonesy el importa a pagar considere 1 gal4n 6 $.5 litros7.

8 Elabore un diagrama de flujo para 8--, que permita ingresar un monto de compras y calculecu!nto pagar! el cliente. 2a que si el monto de compra es menor de 1500 se descuenta el 10% y si esmayor el descuento ser! 15%. +uestre el total a pagar.

9 Elabore un diagrama de flujo, que permita digitar la altura de una persona, si la altura es menor o igual

a 150 cm ene el mensaje9 *:ersona de altura baja) si la altura est! entre 151 y 1;0 escriba elmensaje9 *:ersona de altura media y si la altura es mayor a 1;1 escriba el mensaje9 *:ersona alta.

10 Elabore un diagrama de flujo, que permita ingresar o digitar < nombres por separado, luego muestre elnombre completo.

11 Elabore un diagrama de flujo, que permita digitar ( números y muestre un mensaje que diga si est! enorden creciente o decreciente.

12 Elabore un diagrama de flujo, que permita ingresar el radio y calcule y muestre su longitud y !rea deun crculo.

13 Elabore un diagrama de flujo, que permita ingresar el número de mes y isualice el nombre de dic&o

mes.

 Profesor:  José Rosvel Carrera Sánchez2!

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 21/23

   Fundamentos de Programación

   I Ciclo

14 /igite un número entero y positio de dos cifras almacenen este número en una sola ariable7,isualice el promedio de =stas as como tambi=n su semiproducto.

15 /iseñar el algoritmo correspondiente a un programa que obtiene la última cifra de un númerointroducido.

16 /iseñar un algoritmo que intercambie los alores de tres ariables num=ricas.17 "uponga que un indiiduo desea inertir su capital en un banco y desea saber cu!nto dinero ganara

despu=s de un año si el banco paga a ra'4n de (% mensual.18 >n endedor recibe un sueldo base m!s un 10% e3tra por comisi4n de sus entas, el endedor desea

saber cu!nto dinero obtendr! por concepto de comisiones por las tres entas que reali'a en el mes yel total que recibir! en el mes tomando en cuenta su sueldo base y comisiones.

19 >na tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cu!ntodeber! pagar finalmente por su compra.

20  >n alumno desea saber cu!l ser! su calificaci4n final en la materia de lgoritmos y Estruc. /atos./ic&a calificaci4n se compone de los siguientes porcentajes955% del promedio de sus tres calificaciones parciales.<0% de la calificaci4n del e3amen final.15% de la calificaci4n de un trabajo final.

21 >n maestro desea saber qu= porcentaje de &ombres y que porcentaje de mujeres &ay en un grupo deestudiantes.

22 /ada una cantidad en soles, obtener la equialencia en d4lares, asumiendo que la unidad cambiaraes un dato desconocido.

23 En un &ospital e3isten tres !reas9 8inecologa, :ediatra, ?raumatologa. El presupuesto anual del&ospital se reparte conforme a la sig. tabla9

@rea :orcentaje del presupuesto8inecologa $0%?raumatologa <0%:ediatra <0%-btener la cantidad de dinero que recibir! cada !rea, para cualquier monto presupuestal.

24 Aalcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, sila formula es9num. :ulsaciones 6 ((0 B edad7#10

25 El dueño de una tienda compra un artculo a un precio determinado. -btener el precio en que lo debe

ender para obtener una ganancia del <0%.26 La presi4n, el olumen y la temperatura de una masa de aire se relacionan por la formula9

+asa 6 presi4n C olumen7#0.<; C temperatura D $07727 Aalcular el nueo salario de un obrero si obtuo un incremento del (5% sobre su salario anterior.28 ?res personas deciden inertir su dinero para fundar una empresa. Aada una de ellas inierte una

cantidad distinta. -btener el porcentaje que cada quien inierte con respecto a la cantidad totalinertida.

29 >n alumno desea saber cu!l ser! su promedio general en las tres materias m!s difciles que cursa ycu!l ser! el promedio que obtendr! en cada una de ellas. Estas materias se ealúan como se muestraa continuaci4n9La calificaci4n de +atem!ticas se obtiene de la sig. +anera9

 Profesor:  José Rosvel Carrera Sánchez21

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 22/23

   Fundamentos de Programación

   I Ciclo

• E3amen F0%, :romedio de tareas 10%

• En esta materia se pidi4 un total de tres tareas.

La calificaci4n de Gsica se obtiene de la sig. +anera9

• E3amen H0%

• :romedio de tareas (0%

• En esta materia se pidi4 un total de dos tareas.

La calificaci4n de Iumica se obtiene de la sig. +anera9

• E3amen H5%

• :romedio de tareas 15%

• En esta materia se pidi4 un promedio de tres tareas

30 eali'ar un :rograma que lea la entrada de 0( números y muestre el doble producto del primero

menos la mitad del segundo.31 /esarrollar un programa que permita capturar preguntas como Edad, sueldo, y mascota faorita7 y alfinal muestre los datos capturados en conjunto

32 "e desea obtener el precio total de la enta de un producto, conociendo el número de cajasadquiridas por un cliente, el número de unidades que tiene caca caja, del precio por unidad y de latasa de impuesto.

33 >na empresa necesita conocer el sueldo neto a pagar a un empleado. ?eniendo como entrada elsalario produ'ca una salida de sueldo neto. Los descuentos a aplicar son9 J""" 5%, G: ;% y enta10%, estos descuentos son sobre el salario, y es sueldo neto es la diferencia entre el salario y el totalde las retenciones.

34 /iseñe un programa que calcula el cuadrado y el cubo de tres números introducidos por el usuario.35 /esarrolle un algoritmo que determine si un número es par y que escriba dic&o número junto con el

letrero *n es un número par36 /ado como dato el sueldo de un trabajador, aplquele un aumento del 15% si su sueldo es inferior a

K1,000.00. Escriba en este caso el nueo sueldo del trabajador. aga el diagrama correspondiente ysu prueba de escritorio.

37 acer el algoritmo para escribir un programa que indique si un número ingresado por el teclado espositio.

38 Escriba un algoritmo que con base en tres alores enteros al1, al(, al<7, determine cu!l de ellos es

el mayor.39 El pasaje de eynosa a Ad. Mictoria cuesta K<;5.00 pesos, pero la compaña de autobuses &ace

descuentos de 0% tercer edad, 50% estudiantes, <5% menores de edad y 0% clientes regulares.Escriba un algoritmo que aplique al precio del boleto el descuento correspondiente según el tipo depersona que a a iajar.

40 La compaña +arinela lan'a la promoci4n de ( 3 1 y medio en todos sus productos. /esarrolle unalgoritmo para el cobro de estos productos, por ejemplo, si el cliente llea 5, cobrar $ dentro de lapromoci4n y uno con precio normal. Escriba el total a pagar.

41 ?omando como base el algoritmo $0, controle el error que se &ara en el c!lculo del total a pagar si lacantidad entrante fuera un número negatio.

 Profesor:  José Rosvel Carrera Sánchez22

7/25/2019 Fundamentos de Estructura de Datos

http://slidepdf.com/reader/full/fundamentos-de-estructura-de-datos 23/23

   Fundamentos de Programación

   I Ciclo

42 En una tienda se efectúa un descuento a los clientes dependiendo del monto de la compra. Eldescuento se llea a cabo con base en el siguiente criterio91. "i el monto es menor que K500.00 no &ay descuento(. "i el monto est! comprendido entre K501 y K1,000, &ay un 5% de descuento

<. "i el monto est! comprendido entre K1,001 y K;,000, &ay un 10% de descuento$. "i el monto est! comprendido entre K;,001 y K15,000, &ay un 15% de descuento5. "i el monto es mayor a K15,000, recibe un (0% de descuentoAonstruya un algoritmo tal que dado el monto de la compra de un cliente, determine y escriba lo quedebe pagar.

 Profesor:  José Rosvel Carrera Sánchez23