claseiii_ci2125

23
Computación I (CI Computación I (CI- -2125) 2125) Clase 3 Clase 3 Prof. Mirey a Morales Primera Prof. Mirey a Morales Primera

Upload: alexandra-la-cruz

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 1/23

Computación I (CIComputación I (CI--2125)2125)

Clase 3Clase 3

Prof. Mireya Morales PrimeraProf. Mireya Morales Primera

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 2/23

ContenidoContenido

CicloCiclo dede DesarrolloDesarrollo dede unun programaprogramaFormasFormas dede RepresentaciónRepresentación Algorítmica Algorítmica::

DiagramasDiagramas dede flujoflujo yy seudocódigoseudocódigoEstructurasEstructuras dede ControlControl

EstructurasEstructuras dede secuenciasecuencia EstructurasEstructuras dede controlcontrol condicionalescondicionales

�� SimplesSimples:: if if �� DoblesDobles:: if if--elseelse�� MúltiplesMúltiples:: switchswitch

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 3/23

Ciclo de Desarrollo de un programaCiclo de Desarrollo de un programa

 Archivos ArchivosCódigo Fuente

Código Objeto

Código Ejecutable

Compilador 

Enlazador 

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 4/23

Preprocesador 

 Archivos Cabecera

Código Fuente

Compilador 

Ensamblador 

Editor de Enlaces Ejecutable

Ciclo de

Desarrollo

de un

programa

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 5/23

Diagramas de FlujoDiagramas de Flujo

EsEs unauna formaforma dede representaciónrepresentación algorítmicaalgorítmicaqueque usausa unauna esquematizaciónesquematización gráficagráfica..

MuestraMuestra gráficamentegráficamente loslos pasospasos aa seguir seguir 

parapara alcanzar alcanzar lala soluciónsolución alal problemaproblema.. TodoTodo esquemaesquema dede representaciónrepresentación

algorítmicaalgorítmica debedebe ser ser independienteindependiente deldel

lenguajelenguaje..ElEl diagramadiagrama dede flujoflujo representarepresenta lala soluciónsolución

deldel problemaproblema.. ElEl programaprograma representarepresenta lala

implementaciónimplementación

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 6/23

Diagramas de FlujoDiagramas de FlujoSímbolos utilizadosSímbolos utilizados

Marca el inicio y fin del diagrama

Se usa para introducir datos de entrada

Representa un proceso. Asignaciones, operaciones aritméticas

Se utiliza para representar una decisiónSI

NO

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 7/23

Diagramas de FlujoDiagramas de FlujoSímbolos utilizadosSímbolos utilizados

Se utiliza para representar unadecisión múltiple: el switch

Representa la impresión de un resultado

Expresan la dirección del flujo deldiagrama

Expresa conexión dentro de una misma página

Representar conexión entre páginas diferentes

Expresa un módulo de un subproblema que hayque resolver antes de continuar el DF.

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 8/23

Diagramas de FlujoDiagramas de FlujoEjemplo. Calcular el área de un triánguloEjemplo. Calcular el área de un triángulo

INICIO

 BAS, ALT

 AREA BAS*ALT/2

/*Lectura de datos*/

/*Cálculo del Área*/

/*Escritura del resultado*/ AREA

FIN

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 9/23

Diagramas de FlujoDiagramas de Flujo

TodoTodo diagramadiagrama dede flujoflujo debedebe tener tener inicioinicio yy finfin..

LasLas líneaslíneas utilizadasutilizadas parapara indicar indicar lala direccióndireccióndeldel flujoflujo deldel diagrama,diagrama, debendeben ser ser rectasrectas::verticalesverticales uu horizontaleshorizontales

TodasTodas laslas líneaslíneas utilizadasutilizadas parapara indicar indicar direccióndirección deldel diagrama,diagrama, debendeben estar estar conectadasconectadas..

DebeDebe construirseconstruirse dede arribaarriba haciahacia abajoabajo yy dedeizquierdaizquierda aa derechaderecha..

LaLa notaciónnotación utilizadautilizada debedebe ser ser independienteindependientedeldel lenguajelenguaje dede programaciónprogramación..

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 10/23

Diagramas de FlujoDiagramas de Flujo

SiSi lala construcciónconstrucción deldel diagramadiagrama dede flujoflujorequiererequiere másmás dede unauna hojahoja sese debendeben utilizar utilizar loslosconectoresconectores adecuadosadecuados yy enumerar enumerar laslas páginaspáginas

correspondientescorrespondientes.. Al  Al resolver resolver unun problemaproblema complejocomplejo eses

convenienteconveniente colocar colocar comentarioscomentarios queque expresenexpresenoo ayudenayuden aa entender entender lala soluciónsolución..

NoNo puedepuede llegar llegar másmás dede unauna línealínea aa unun símbolosímbolodeterminadodeterminado..

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 11/23

SeudocódigoSeudocódigo

NoNo sese tratatrata dede unun lenguajelenguaje dede programaciónprogramaciónparapara lala computadorascomputadoras..

EsEs unun lenguajelenguaje artificialartificial ee informalinformal queque ayudaayuda aa

desarrollar desarrollar algoritmosalgoritmos.. SeSe hacenhacen concon elel objetoobjeto dede ayudar ayudar alal

programador programador ³a³a pensar´pensar´ unun programa,programa, antesantes dedeintentar intentar escribirloescribirlo enen unun lenguajelenguaje dede

programaciónprogramación.. ElEl seudocódigoseudocódigo consisteconsiste sólosólo dede caracteres,caracteres, dede

modomodo queque sese puedepuede hacer hacer enen papelpapel oo concon algúnalgún

editor editor dede textotexto..

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 12/23

SeudocódigoSeudocódigoEjemplo. Calcular el área de un triánguloEjemplo. Calcular el área de un triángulo

InicioInicioVar Var BAS,BAS, ALT ALT:: RealReal /*datos/*datos dede entrada*/entrada*/

 AREA AREA:: RealReal /*dato/*dato dede salidasalida */*/LEERLEER BASBAS

LEERLEER ALT ALT

 AREA AREA BASBAS ** ALT ALT // 22

ESCRIBIRESCRIBIR AREA AREAFinFin

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 13/23

s ruc uras e on ros ruc uras e on ro

Por Por lolo regular,regular, enen unun programaprograma laslas instruccionesinstruccionessonson ejecutadasejecutadas unauna aa unauna secuencialmentesecuencialmente.. SinSinembargo,embargo, existenexisten algunasalgunas instruccionesinstrucciones queque lelepermitenpermiten alal programador programador especificar especificar queque elel

enunciadoenunciado siguientesiguiente aa ejecutar,ejecutar, puedepuede ser ser otrootrodiferentediferente alal queque lele siguesigue enen lala secuenciasecuencia.. EstoEstoeses conocidoconocido comocomo transferenciatransferencia dede controlcontrol..

LosLos investigadoresinvestigadores BohmBohm yy JacopiniJacopinidemostrarondemostraron queque loslos programasprogramas podíanpodían ser ser escritosescritos sinsin ningúnningún instruccióninstrucción gotogoto.

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 14/23

s ruc uras e on ros ruc uras e on ro

El trabajo de Bohm y Jacopini demostróque todos los programas podían ser escritos en términos de sólo tres

estructuras de control: Estructura de secuencia

Estructura de selección

Estructura de repetición

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 15/23

Estructura de Secuencia

Una estructura de secuencia es aquella en laque una acción (instrucción) sigue a otra ensecuencia.

 Acción 1

 Acción 2

 Acción 3

Pseudocódigo

varInicio

<acción1><acción2>..

fin

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 16/23

Estructura de Secuencia

Una estructura de secuencia es aquella en laque una acción (instrucción) sigue a otra ensecuencia.

 Acción 1

 Acción 2

 Acción 3

Pseudocódigo

varInicio

<acción1><acción2>..

fin

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 17/23

Estructuras de Control Condicionales

En las estructuras de control condicionales seevalúa una condición y en función del resultadode la misma se realiza una opción u otra.

Las condiciones se especifican usandoexpresiones lógicas. Estas estructuras pueden ser:

Simples

Dobles Múltiples

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 18/23

Estructuras de control simple

Seudocódigo: if .

.

acción m

si <condición> entonces<acción 1>

<acción 2>

.

.

<acción n>

fin_si

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 19/23

Estructuras de control simple

Diagrama de flujo: if 

Condición

 Acción 1

Verdadero

Falso

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 20/23

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 21/23

Diagrama de flujo: if else

Estructuras de control doble

Condición

 Acción 1

VerdaderoFalso

 Acción 2

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 22/23

Estructuras de Control MúltiplesSeudocódigo: switch

.

acción m

caso de E hacer 

e1: <acción 1.1>

e2: <acción 2.1>

.

.

en <acción n.1>

si_no

<acción m.1>

<acción m.2>.

.

<acción m.n>

fin_caso

8/6/2019 ClaseIII_CI2125

http://slidepdf.com/reader/full/claseiiici2125 23/23

Estructuras de Control MúltiplesDiagrama de flujo: switch

Exp

Exp1 Exp2 Exp n

 Acción 1 Acción 2 Acción n