You are on page 1of 29

Lenguaje de programacin Clase 2

Contenido

Tipos de datos Asignacin de valores Condicionales Ejercicios

Pasos para resolver un problema


1. Entender el problema. 2. Identificar las constantes y variables (de entrada, de salida e intermedias). 3. Identificar los procesos de transformacin. 4. Establecer una estrategia de solucin. Representacin del problema. 5. Codificar el algoritmo en un lenguaje de programacin determinado. 6. Ejecutar y depurar el programa con base en los resultados obtenidos.

Tipos de datos comunes


Datos

Numricos

Carcter

Lgicos

Enteros

Reales

Sencillo

Cadena

Corto

Largo

Simple

Doble

Nombres de variables
Para nombrar una variable en la mayora de los lenguajes de programacin es necesario seguir ciertas reglas:
Debe empezar obligatoriamente con una letra (a-z o

A-Z) No pueden contener espacios en blanco El resto de los dgitos pueden ser nmeros Se pueden incluir caracteres especiales como el guin bajo (underline).

Asignacin
Para darle valor a una variable dentro de un algoritmo existen dos alternativas:
Leer la variable (obviamente cuando se trata de una

variable de entrada) Ej: Leer X


Asignarle un valor directamente, o el resultado de

una operacin Ej: A = 3 Z = (X+Y)*2

Precedencia de los operadores


Cuando hay de las operaciones aritmticas es necesario considerar el orden en que se evala la expresin cuando aparecen dos o ms operaciones. En general los lenguajes de programacin coinciden en evaluar primero lo que se encuentra entre parntesis comenzando por los parntesis ms internos. Dentro de cada parntesis o en una expresin libre de parntesis es comn evaluar de la siguiente forma: Se recorre de izquierda y se evalan (en ese orden): Funciones especiales (raz cuadrada, valor absoluto, logaritmo, seno, coseno, tangente elevar a potencia, etctera) Divisiones (/), multiplicaciones (*), divisin entera (%). Sumas (+) y/o restas (-).

Ejemplo
Dado que al ejecutar un algoritmo este trabaja en secuencia, determinar los valores finales de las variables suponiendo que se tienen las siguientes instrucciones: 1. 2. 3. 4. 5. 6. 7. i=3 j=5 k=i+j j=k/2 i=i-1 m=i+k*3 n = k * (3 + i)
Lnea 1 2 3 4 5 6 7 i j k m n

Condicional simple
En los lenguajes de programacin es comn el uso de condicionales que sirven para denotar diferentes alternativas que pueden llevarse a cabo dado el valor de una expresin lgica, el cual siempre ser verdadero o falso. La forma ms simple que tiene un condicional (una pregunta) es:
SI (expresin lgica) Instrucciones que se realizan si la expresin lgica es verdadera FIN SI

Ejemplo
Disear un algoritmo para leer la edad de una persona y decir si es mayor de edad
INICIO Leer e SI (e 18) Mostrar Mayor de edad FIN SI FIN

Condicional compuesto
Los condicionales tambin sirven para representar alternativas de ejecucin, es decir, que se haga una cosa u otra dependiendo del valor de una expresin lgica. La forma en este caso es:
SI (expresin lgica) Instrucciones que se realizan si la expresin lgica es verdadera DE LO CONTRARIO Instrucciones que se realizan si la expresin lgica es falsa FIN SI

Ejemplo
Disear un algoritmo para leer un nmero y decir si es par o impar
INICIO Leer n SI (n % 2 = 0) Mostrar El nmero es par DE LO CONTRARIO Mostrar El nmero es impar FIN SI FIN

Condicional mltiple
Cuando hay ms de dos alternativas (no es slo la parte verdadera y falsa de una nica expresin lgica), se puede emplear el condicional mltiple de la siguiente manera:
SI (expresin lgica 1) Instrucciones que se realizan si la expresin lgica 1 es verdadera DE LO CONTRARIO SI (expresin lgica 2) Instrucciones que se realizan si la expresin lgica 1 es falsa y la expresin lgica 2 es verdadera DE LO CONTRARIO Instrucciones que se realizan si todas las expresiones lgica son falsas FIN SI

Ejemplo
Disear un algoritmo para leer la nota final de un estudiante y decir si gan, perdi definitivamente o si puede habilitar (suponiendo que se pueda)
INICIO Leer nota SI (n 2.95) Mostrar El estudiante gan DE LO CONTRARIO SI (n 2.65) Mostrar El estudiante puede habilitar DE LO CONTRARIO Mostrar El estudiante perdi FIN SI FIN

Operadores lgicos y conectores


Las expresiones lgicas que se utilizan en los condicionales pueden ser simples (slo es necesario evaluar una pregunta) o compuestas (varias preguntas), y pueden usar cualquier operador lgico
Operador > < = En VC++ > < >= <= == !=

Conector Y O

Accin P Y Q es verdadera slo si tanto P como Q son verdaderas, en caso contrario es falsa P O Q es verdadera si cualquiera de las dos es verdadera, y slo es falsa si ambas son falsas

VC++ && ||

Ejemplo
Si A=10, B=8 y C=6, cual es el valor de: A>B B<=C A>=B || B<C A>B && B<C A != C B<C || A<=C B<A && B>C B!=A && B>C True False True False True False True True

Tcnicas para representar los algoritmos


Pseudocdigo (P-cdigo) Diagramacin estructurada (diagrama de caja) Diagramacin libre (diagrama de flujo) Sintaxis de un lenguaje de programacin determinado.

Diagramacin libre (diagrama de flujo)


Proceso: cualquier tipo de operacin que pueda originar cambio de valor o impresin de datos Condicional: corresponde a la estructura de IF descrita previamente. Normalmente, los posibles caminos se rotulan como S y No, como en la figura adjunta, pero tambin pueden ser Verdadero (V) y Falso (F).

Diagramacin libre (diagrama de flujo)


Indican el flujo lgico, o el orden de la secuencia de operaciones del algoritmo Terminal (representa el comienzo, inicio y el final, fin, de un algoritmo. Puede representar tambin una parada o interrupcin programada que sea necesario realizar en un algoritmo.

Simbologa del diagrama de flujo


Nombre Terminal Entrada / salida Smbolo Funcin Representa el inicio y fin del algoritmo. Entrada o salida de datos. Por ejemplo leer un dato, mostrar un dato en pantalla, etc. Cualquier tipo de operacin que pueda originar cambio de valor Indica operaciones lgicas o de comparacin entre datos y en funcin del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Sirve para enlazar dos partes cualesquiera de un diagrama a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pagina del diagrama Indica el sentido de la ejecucin de las operaciones Se utiliza en ocasiones en lugar del smbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

Proceso

Decisin
Conector Misma Pgina Indicador de direccin o lnea de flujo Salida

Diagramacin estructurada (diagrama de caja)


Proceso

Condicional: Se emplea para representar alternativas de ejecucin

Iteracin definida: Se emplea para representar un proceso repetitivo del cual se sabe de antemano cuntas veces se ejecutar cierta secuencia de operaciones

Comparacin
Diagrama de flujo Pseudocdigo SI ( a > b+c) Accin 1 DE LO CONTRARIO Accin 2 FIN SI Diagrama de caja

a<b+c?
NO SI Accin 1 Accin 2

Ejercicios
1. Tringulo de Hern de Alejandra: Dadas las longitudes de tres segmentos de recta determinar si es posible formar un tringulo con ellos. En caso afirmativo calcular el rea del tringulo usando la frmula:

abc S 2 rea S ( S a)( S b)( S c)


Tenga en cuenta que todo lado debe ser menor que la suma de los otros dos
c b

Esquema de la solucin

ENTRADA

PROCESAMIENTO

SALIDA

a b c

Verificar c<b+a b<c+a a<b+c Calcular rea

S forman un tringulo y cual es el rea O s no forman tringulo

Algoritmo (diagrama de flujo)


Leer a, b, c

a < b+c y b < a+c y c < a+b?

NO Mostrar No forman tringulo


Mostrar Area

SI
Mostrar S forman tringulo

Area S (S a)(S b)(S c)


abc S 2

Ejercicios
2. Desarrollar un algoritmo para resolver la ecuacin cuadrtica de la forma:

AX2 + BX + C = 0
Cules son las etapas para el clculo de las posibles races?

Ejercicios
Para resolver una ecuacin cuadrtica se hace uso de la

siguiente frmula:

X 1, 2

B B 2 4 AC 2A

Consideraciones: Qu pasa si A es cero? Qu pasa si B es cero? Qu pasa si (B2-4AC) es menor que cero?

Esquema de la solucin

ENTRADA

PROCESAMIENTO

SALIDA

A B C

Todas las consideraciones y clculos

Dos races X1 X2 Una raz X Ninguna raz

Algoritmo (diagrama de flujo)


Leer A, B, C SI

A=0?
NO

SI

B=0? NO X = -C/B

Mostrar No hay raices

D=B2-4AC

Mostrar X X1=(-B+D)/(2A) X2=(-B- D)/(2A) Mostrar X1 y X2

D>=0? NO

SI

Mostrar No hay raices reales

Tareas
Disear un algoritmo para leer 3 valores numricos a, b

y c y mostrar cul es el mayor.


Disear un algoritmo para el problema de determinar si

tres segmentos forman tringulo y en caso afirmativo decir qu tipo de tringulo es.
Resolver los problemas restantes del taller 2.

You might also like