Clase 02

También podría gustarte

Está en la página 1de 29

Fundamentos de Programación

Clase 2
Contenido

 Tipos de datos
 Asignación de valores
 Condicionales
 Ejercicios

Escuela de Sistemas, Facultad de Minas


Universidad Nacional de Colombia – Sede Medellín
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 transformación.
4. Establecer una estrategia de solución. Representación
del problema.
5. Codificar el algoritmo en un lenguaje de programación
determinado.
6. Ejecutar y depurar el programa con base en los
resultados obtenidos.
Tipos de datos comunes

Datos

Numéricos Carácter Lógicos

Enteros Reales Sencillo Cadena

Corto Largo Simple Doble


Nombres de variables
Para nombrar una variable en la mayoría de los
lenguajes de programación 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 dígitos pueden ser números
 Se pueden incluir caracteres especiales como el
guión bajo (underline).
Asignación
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


operación
Ej: A = 3
Z = (X+Y)*2
Precedencia de los operadores
Cuando hay de las operaciones aritméticas es necesario
considerar el orden en que se evalúa la expresión cuando
aparecen dos o más operaciones. En general los
lenguajes de programación coinciden en evaluar primero
lo que se encuentra entre paréntesis comenzando por los
paréntesis más internos. Dentro de cada paréntesis o en
una expresión libre de paréntesis es común evaluar de
la siguiente forma:

Se recorre de izquierda y se evalúan (en ese orden):


 Funciones especiales (raíz cuadrada, valor absoluto,
logaritmo, seno, coseno, tangente elevar a potencia,
etcétera)
 Divisiones (/), multiplicaciones (*), división 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:

Línea i j k m n
1. i=3 1
2. j=5
2
3. k=i+j
4. j=k/2 3

5. i=i-1 4

6. m=i+k*3 5
7. n = k * (3 + i)
6

7
Condicional simple
En los lenguajes de programación es común el uso de
condicionales que sirven para denotar diferentes
alternativas que pueden llevarse a cabo dado el valor de
una expresión lógica, el cual siempre será verdadero o
falso. La forma más simple que tiene un condicional (una
pregunta) es:

SI (expresión lógica)
Instrucciones que se realizan si la expresión lógica es verdadera
FIN SI
Ejemplo
Diseñar 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 también sirven para representar
alternativas de ejecución, es decir, que se haga una cosa
u otra dependiendo del valor de una expresión lógica. La
forma en este caso es:

SI (expresión lógica)
Instrucciones que se realizan si la expresión lógica es verdadera
DE LO CONTRARIO
Instrucciones que se realizan si la expresión lógica es falsa
FIN SI
Ejemplo
Diseñar un algoritmo para leer un número y
decir si es par o impar

INICIO
Leer n
SI (n % 2 = 0)
Mostrar “El número es par”
DE LO CONTRARIO
Mostrar “El número es impar”
FIN SI
FIN
Condicional múltiple
Cuando hay más de dos alternativas (no es sólo la parte
verdadera y falsa de una única expresión lógica), se puede
emplear el condicional múltiple de la siguiente manera:

SI (expresión lógica 1)
Instrucciones que se realizan si la expresión lógica 1 es verdadera
DE LO CONTRARIO SI (expresión lógica 2)
Instrucciones que se realizan si la expresión lógica 1 es falsa y la expresión
lógica 2 es verdadera

DE LO CONTRARIO
Instrucciones que se realizan si todas las expresiones lógica son falsas
FIN SI
Ejemplo
Diseñar 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 lógicos y conectores

Las expresiones lógicas que se utilizan en Operador En VBA


los condicionales pueden ser simples > >
(sólo es necesario evaluar una pregunta) < <
o compuestas (varias preguntas), y ≥ >=
pueden usar cualquier operador lógico
≤ <=
= =
≠ <>

Conector Acción En VBA


Y P Y Q es verdadera sólo si tanto P como Q son AND
verdaderas, en caso contrario es falsa
O P O Q es verdadera si cualquiera de las dos es OR
verdadera, y sólo es falsa si ambas son falsas
No No P cambia el valor de P Not
Ejemplo

Si A=10, B=8 y C=6, cual es el valor de:

A>B True
B<=C False
A>=B or B<C True
A>B and B<C False

Not (A>C) False


B<C or A<=C False
B<>A and B>C False
Not(B>A and B>C) True
Técnicas para representar
los algoritmos
 Pseudocódigo (P-código)
 Diagramación estructurada (diagrama de caja)
 Diagramación libre (diagrama de flujo)
 …
 Sintaxis de un lenguaje de programación
determinado.
Diagramación libre
(diagrama de flujo)

Proceso: cualquier tipo de operación que


pueda originar cambio de valor o impresión
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 también
pueden ser Verdadero (V) y Falso (F).
Diagramación libre
(diagrama de flujo)

Indican el flujo lógico, o el orden de la


secuencia de operaciones del algoritmo

Terminal (representa el comienzo, “inicio” y


el final, “fin”, de un algoritmo. Puede
representar también una parada o
interrupción programada que sea necesario
realizar en un algoritmo.
Diagramación estructurada
(diagrama de caja)
Proceso

Condicional: Se emplea para


representar alternativas de ejecución

Iteración definida: Se emplea para


representar un proceso repetitivo del
cual se sabe de antemano cuántas
veces se ejecutará cierta secuencia
de operaciones
Comparación
Diagrama de flujo Pseudocódigo
SI ( a > b+c)
Acción 1
a<b+c? DE LO CONTRARIO
NO Acción 2
FIN SI
SI
Diagrama de caja
Acción 1 Acción 2
Ejercicios
1. Triángulo de Herón de Alejandría: Dadas las longitudes
de tres segmentos de recta determinar si es posible formar
un triángulo con ellos. En caso afirmativo calcular el área
del triángulo usando la fórmula:
abc
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

a
Esquema de la solución

ENTRADA PROCESAMIENTO SALIDA

• a • Verificar • Sí forman un
• b • c<b+a triángulo y cual
• c • b<c+a es el área
• a<b+c • O sí no forman
• Calcular área triángulo
Algoritmo (diagrama de flujo)
Leer a, b, c

a < b+c y
NO Mostrar “No forman triángulo”
b < a+c y
c < a+b?
Mostrar Area

SI Area  S ( S  a )( S  b)( S  c)

abc
Mostrar “Sí forman triángulo” S
2
Ejercicios

2. Desarrollar un algoritmo para resolver la ecuación


cuadrática de la forma:

AX2 + BX + C = 0

Cuáles son las etapas para el cálculo de las posibles


raíces?
Ejercicios
Para resolver una ecuación cuadrática se hace uso de la
siguiente fórmula:

 B  B 2  4 AC
X 1, 2 
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 solución

ENTRADA PROCESAMIENTO SALIDA

• A • Todas las • Dos raíces X1 X2


• B consideraciones y • Una raíz X
• C cálculos • Ninguna raíz
Algoritmo (diagrama de flujo)
Leer A, B, C

SI SI
A=0? B=0? Mostrar “No hay raices”

NO NO
D=B2-4AC X = -C/B Mostrar X

X1=(-B+√D)/(2A)
SI
D>=0?
NO X2=(-B- √ D)/(2A)

Mostrar “No hay raices reales” Mostrar X1 y X2


Tareas
 Diseñar un algoritmo para leer 3 valores numéricos a, b
y c y mostrar cuál es el mayor.

 Diseñar un algoritmo para el problema de determinar si


tres segmentos forman triángulo y en caso afirmativo
decir qué tipo de triángulo es.

 Resolver los problemas restantes de la problemateca 1


Fundamentos de Programación
Clase 2

FIN DE LA CLASE

Gracias por la atención

Escuela de Sistemas, Facultad de Minas


Universidad Nacional de Colombia – Sede Medellín

También podría gustarte