Introducci - PowerPoint PPT Presentation

1 / 65
About This Presentation
Title:

Introducci

Description:

La programaci n tiene un poco de ciencia y poco de arte, de ah ... se quiera implementar, la manera de dibujar dichos elementos, es decir se puede construir: ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 66
Provided by: jeannetteg8
Category:

less

Transcript and Presenter's Notes

Title: Introducci


1
Introducción a la programación
2
Introducción a la programación
  • Los programas son escritos por programadores, es
    decir, seres humanos que le dicen al computador,
    paso a paso, exáctamente qué es lo que quieren
    que haga.
  • La programación tiene un poco de ciencia y poco
    de arte, de ahí que varios programadores pueden
    hacer la misma tarea de diferentes formas.
  • A pesar de ello, hay un número claramente
    identificable de pasos que siempre están
    involucrados en el proceso de desarrollo de
    programas.

3
Ciclo de vida del software
  • Pasos involucrados en el desarrollo de programas
  • Definir el problema
  • Planear la solución
  • Construir la solución
  • Codificar
  • Depurar
  • Probar
  • Mantener la solución

4
Definir el problema
  • Identificar claramente
  • Qué es lo que se quiere hacer?
  • Cuáles son los objetivos a alcanzar?
  • A esta actividad también se le conoce como
    análisis

5
Planear la solución
  • Aquí ya se sabe lo que se quiere hacer, pero hay
    que planear cómo hacerlo.
  • Se requiere un plan detallado, con todas las
    especificaciones que guiarán los pasos
    siguientes.
  • También se le llama Etapa de Diseño, dividida en
  • Diseño Global
  • Diseño Detallado
  • El producto final es una descripción detallada de
    los pasos a llevar a cabo este conjunto de pasos
    se conoce como algoritmo.

6
Construir la solución
  • Aquí se convierte el plan en un programa
    computacional, con los siguientes pasos
  • Codificar traducir los algoritmos a un lenguaje
    de programación
  • Depurar consiste en localizar y remover los
    errores que pueda contener el programa
    codificado.
  • Probar Se pone a prueba el programa, para ver si
    realmente hace lo que se quiere. Es decir, se
    comparan los resultados que éste arroja con los
    que debiera arrojar.

7
Mantener la solución
  • Como todo producto, un programa (o sistema) debe
    ser mantenido, adaptándolo a cambios del medio
    ambiente o agregándole nuevas capacidades que
    antes no tenía.
  • Este conjunto de pasos permite producir programas
    de manera más o menos eficiente. Puede requerirse
    volver a alguno de los pasos anteriores en caso
    de errores o cambios de diseño.

8
Algoritmos
  • Es un conjunto finito de pasos (instrucciones)
    bien definidos, dispuestos en una secuencia tal
    que lleve a la solución de un problema
    específico.
  • Algunos ejemplos de algoritmos son recetas de
    cocina, etiquetas de envases, direcciones de
    amigos, mapas de ruta, etc.

9
Algoritmos
  • Ejemplo Instrucciones de uso del champú en la
    etiqueta.
  • Humedezca el cabello
  • Aplique el champú
  • Frote hasta obtener abundante espuma
  • Enjuague
  • Repita

10
Algoritmos
  • El nivel en que presentamos un algoritmo depende
    de la audiencia.
  • Las indicaciones de un algoritmo incluyen sentido
    común. Una interpretación literal del ejemplo
    anterior haría repetir el lavado de pelo
    continuamente hasta que se acabe la botella.
  • Lo que en realidad quiere expresar es que REPITA
    si es necesario.

11
  • Los computadores interpretan sus instrucciones
    muy literalmente. Por esto se debe indicar los
    pasos en forma detallada, aún cuando un paso sea
    muy obvio.
  • Un algoritmo es una idea abstracta, independiente
    de cualquier máquina que pueda ejecutarlo.
  • Un programa de computador es una implementación
    de un algoritmo en un lenguaje de programación
    particular.

12
Carcaterísticas de un algoritmo
  • Debe realizar el proceso requerido
  • Ser completo, es decir, entregar los resultados
    en todas las circunstancias
  • Ser preciso, no debe tener resultados ambiguos
  • Correcto
  • La solución debe entregarse en un número finito
    de pasos
  • Simple y claro.

13
  • Algoritmo del lavado de pelo
  • Humedezca el cabello
  • Aplique el champú
  • Frote hasta obtener espuma
  • Enjuague
  • Si es necesario, Ir al paso 2. Sino Ir al paso 6
  • Termine.

14
  • Problema
  • Tenemos datos de niños recién nacidos, entre
    ellos sexo, peso, estatura y día de nacimiento.
    Se pide determinar el total de varones con un
    peso superior a 3900 kg indicar el total de
    damas con una estatura mayor que 50 cm.

15
  • Solución
  • Tomar tarjeta
  • Es sexo masculino?
  • Si ir a 3
  • No Ir a 6
  • Es peso gt 3900 gr.?
  • Si ir a 4
  • No ir a 8
  • Contabilizar hombre
  • Ir a 8
  • Es estatura gt 50 cm?
  • Si Ir a 7
  • No Ir a 8
  • Contabilizar mujer
  • Hay más fichas?
  • Si Ir a 1
  • No Ir a 9
  • Resultados
  • Fin.

16
Algoritmos
  • Ejercicio 1
  • Transformar una cantidad en pesos chilenos en su
    equivalente en dólares.

17
  • Ejercicio 2
  • La densidad del hombre en Kg. por litro es 0.97.
    El volumen de la persona se calcula con la
    fórmula
  • Volumen peso/0.97
  • Haga un algoritmo que lea el peso de una persona
    y calcule su volumen.

18
Algoritmos
  • Ejemplo Calcular las raíces de una ecuación de
    segundo grado ax2bxc0
  • Dados los valores de a,b y c gt encuentre x1 y
    x2
  • Para resolver este problema se debe seguir los
    siguientes pasos

19
Algoritmos
  • Inicio
  • Leer los coeficientes a, b y c.
  • Si a0 la ecuación lineal, entonces se debe
    calcular y escribir un aviso.
  • Sino, es cuadrática por lo tanto se debe calcular
    las raíces con los siguientes pasos
  • Calcular el discriminante (b2 - 4ac)

20
Algoritmos
  • Si el discriminante es negativo entonces las
    raíces son imaginarias, por lo tanto se debe
    escribir un mensaje indicándolo.
  • Sino, si el discriminante es 0, entonces existe
    una única solución real, la cual se debe
    escribir.
  • Sino (discriminante positivo), las raíces son
    reales, entonces calcular x1 y x2 según la
    fórmula.
  • Escribir el valor de x1 y x2
  • Terminar.

21
Diagramas de flujo
  • Representación Gráfica de la lógica de un
    programa.
  • Esta definido por un conjunto de símbolos, los
    cuales están conectados mediante flechas que
    indican el flujo de los datos.

22
(No Transcript)
23
  • Con estos elementos se puede identificar
  • Qué pasos se llevan a cabo (Símbolos)
  • En qué orden se ejecutan (Líneas)

24
  • La construcción de los diagramas se realiza
    utilizando los elementos antes descrito y
    dependerá de lo que se quiera implementar, la
    manera de dibujar dichos elementos, es decir se
    puede construir
  • secuencias
  • selección
  • iteración

25
SECUENCIA
26
Lee un valor desde el teclado
Escribir Ingrese un entero
Escribe a la pantalla
Leer(num)
num ? num1
ENTRADA/SALIDA
27
Selector
valor n
valor 1
valor 2
acción n
acción 1
acción 2
SELECCION
28
Iteración
29
  • Condiciones
  • a) SI condición ENTONCES
  • acción
  • FIN_SI
  • SI condición ENTONCES
  • acción1
  • SINO
  • acción2
  • FIN_SI

30
FALSO
VERDADERO
edadgt18
SI edadgt18 ENTONCES ESCRIBIR(Mayor) SINO
ESCRIBIR(Menor) FIN_SI
Menor
Mayor
31
  • REPITA-HASTA
  • HACER
  • acción1
  • acción2
  • ...
  • acciónN
  • MIENTRSA condición

32
b) MIENTRAS-HACER MIENTRAS condición
HACER acción1 acción2 ... acciónN FIN_MIEN
TRAS
33
Diagramas de N-S
  • Diagramas de Nassi - Schneiderman
  • Compuesto no por líneas si no por cajones uno
    sobre el otro, que indican la secuencia de
    acciones a realizar.
  • Al igual que los diagramas de flujo, es posible
    representar 3 acciones
  • secuencia
  • selección
  • iteración

34
Secuencia
35
SELECCION
36
ITERACION
37
Pseudolenguaje
38
Pseudolenguaje
  • Para escribir algoritmos de computador es
    conveniente usar pseudolenguaje o pseudocódigo,
    el cual posee sentencias precisas, tales como
  • LEER
  • ESCRIBIR
  • SI-ENTONCES-SINO
  • MIENTRAS-HACER
  • REPITA-HASTA
  • etc.

39
Pseudolenguaje
  • 1.- Estructura de un algoritmo en pseudolenguaje
  • ALGORITMO nombre_algoritmo
  • DECLARO
  • CONSTANTE nombre_constvalor
  • VARIABLE nombre_valor tipo_de_dato
  • INICIO
  • ltcuerpo del algoritmogt
  • FIN

40
Pseudolenguaje
  • 2.- Acciones en cuerpo del algoritmo
  • De entrada
  • LEER (variable)
  • LEER (var1, var2, var3)

Lee desde el teclado
Escribe en la pantalla
  • De salida
  • ESCRIBIR(variable)
  • ESCRIBIR(var1,var2,var3)
  • ESCRIBIR(El resultado es, var)
  • De asignación asocia un valor a una variable
  • variable ? valor

41
Pseudolenguaje
  • 3.- Condiciones
  • a) SI condición ENTONCES
  • acción
  • FIN_SI
  • b) SI condición ENTONCES
  • acción1
  • SINO
  • acción2
  • FIN_SI
  • c) SI condición ENTONCES
  • INICIO
  • Acción1
  • Acción2
  • ...
  • AcciónN
  • FIN
  • SINO
  • INICIO
  • Acción1
  • Acción2
  • ...
  • AcciónN
  • FIN
  • FIN_SI

42
Pseudolenguaje
4.- Iteraciones
  • HACER-MIENTRAS
  • HACER
  • acción1
  • acción2
  • ...
  • acciónN
  • MIENTRAS condición
  • b) MIENTRAS-HACER
  • MIENTRAS condición HACER
  • acción1
  • acción2
  • ...
  • acciónN
  • FIN_MIENTRAS

43
Pseudolenguaje
Uso del SI-ENTONCES. Ejemplo 1 Hacer un
algoritmo en pseudocódigo que indique si una
persona es mayor o menor de edad.
  • INICIO
  • ESCRIBIR(Ingrese su edad)
  • LEER(edad)
  • SI edadgt18 ENTONCES
  • ESCRIBIR(Es mayor de edad)
  • SINO
  • ESCRIBIR(Es menor de edad)
  • FIN_SI
  • FIN

44
Ejemplo 2 Hacer un algoritmo que lea un número e
indique si es positivo o negativo
  • INICIO
  • ESCRIBIR(Ingrese un número)
  • LEER(num)
  • SI numgt0 ENTOCES
  • ESCRIBIR(Es positivo)
  • SINO
  • SI numlt0 ENTONCES
  • ESCRIBIR(Es negativo)
  • SINO
  • ESCRIBIR(Es el neutro)
  • FIN_SI
  • FIN_SI
  • FIN

45
Ejemplo 3 cálculo de la ecuación de 2do. grado
  • INICIO
  • LEER (a,b,c)
  • SI a0 ENTONCES
  • ESCRIBIR( Ecuación lineal, el resultado es,
    -c/b)
  • SINO
  • discriminante ?(b2 - 4ac).
  • SI discriminante lt 0 ENTONCES
  • ESCRIBIR( Las raíces son imaginarias)
  • SINO
  • SI discriminante 0 ENTONCES
  • ESCRIBIR( existe única raíz -b/(2a))
  • SINO
  • x1 ? (-b SQRT(discriminante))/(2
    a))
  • x2 ? (-b SQRT(discriminante))/(2a))
  • ESCRIBIR(las raices son x1, x2)
  • FIN_SI
  • FIN_SI
  • FIN_SI
  • FIN

46
Pseudolenguaje
  • Uso de REPITA-HASTA
  • Ejemplo 1 Haga un algoritmo que lea
    repetitivamente números enteros y termine cuando
    se ingrese el 0.
  • INICIO
  • HACER
  • LEER(num)
  • MIENTRAS (numltgt0)
  • FIN

47
Pseudolenguaje
  • Uso de un contador
  • Ejemplo 2 Haga una algoritmo que lea 10 números
    enteros y escriba en pantalla los positivos.
  • INICIO
  • i?0
  • HACER
  • i?i1
  • LEER(num)
  • SI numgt0 ENTONCES
  • ESCRIBIR (num)
  • FIN_SI
  • MIENTRAS (ilt10)
  • FIN

48
  • Ejemplo 3 Haga un algoritmo que lea números
    enteros e indique cuántos positivos se
    ingresaron. El programa debe terminar cuando se
    haya ingresado 10 números positivos o cuando se
    haya ingresado el 0.
  • INICIO
  • cont ? 0
  • HACER
  • LEER(a)
  • SI agt0 ENTONCES
  • cont ? cont1
  • FIN_SI
  • MIENTRAS (a ltgt 0 AND cont ltgt 10)
  • FIN

El y lógico en pseudolenguaje es AND
49
Tipos de Datos
  • Aritméticos
  • ENTERO conjunto de números enteros
  • REAL conjunto de números reales
  • Lógicos
  • BOOLEANO puede tener dos valores
    Verdadero o Falso
  • Texto
  • CARACTER Letras A-Z, a-z
  • dígito 0-9
  • signo,-,_, etc.
  • STRING Secuencia de caracteres

50
  • Ejemplo 1

ALGORITMO define_edad DECLARO edad
ENTERO INICIO ESCRIBIR(Ingrese su
edad) LEER(edad) SI edadgt18
ENTONCES ESCRIBIR(Es mayor de
edad) SINO ESCRIBIR(Es menor de
edad) FIN_SI FIN
51
  • Ejemplo 2 Cálculo del perímetro de una
    circunferencia
  • ALGORITMO perimetro_cincunf
  • DECLARO
  • CONSTANTE pi3.1415
  • VARIABLE radio,perim real
  • INICIO
  • ESCRIBIR(ingrese el radio de la
    circunferencia)
  • LEER(radio)
  • perim ? 2 pi radio
  • ESCRIBIR(El perímetro es, perim)
  • FIN

52
Ejemplo 3 Haga un algoritmo en pseudocódigo que
lea nombre, edad y sexo de una persona. Si es
hombre mayor de 45 años recibe un bono de 10000
pesos, si es mujer mayor de 35 recibe un bono de
20000.
  • ALGORITMO bono
  • DECLARO VARIABLES
  • nombre STRING
  • edad ENTERO
  • sexo CARACTER
  • bono REAL

53
  • INICIO
  • bono ? 0
  • LEER(nombre, edad, sexo)
  • SI edadgt45 AND sexoM ENTONCES
  • bono?10000
  • SINO
  • SI edadgt35 AND sexoF ENTONCES
  • bono ?20000
  • FIN_SI
  • FIN_SI
  • ESCRIBIR(nombre, recibe , bono)
  • FIN

54
Operadores
  • Aritméticos

Símbolo Significado Operandos Resultado
Adición enteros,reales Entero, real
- Sustracción Enteros, reales Entero, real
multiplicación Enteros, reales Entero, real
/ división Enteros, reales Cuociente real
DIV división enteros Cuociente de la división entera
MOD división enteros Resto de la división entera
55
Operadores
Relacionales
Símbolo Significado Operandos Resultado
Igualdad aritmético lógico
ltgt Desigualdad aritmético lógico
lt Menor que aritmético lógico
lt Menor o igual que aritmético lógico
gt Mayor que aritmético lógico
gt Mayor o igual que aritmético lógico
56
Operadores
Lógicos ( o booleanos)
Símbolo Significado Operandos Resultado
AND y lógico lógicos lógico
OR o lógico lógicos lógico
NOT negación lógicos lógico
57
Tablas de verdad
V AND V V
V AND F F
F AND V F
F AND F F
V OR V V
V OR F V
F OR V V
F OR F F
NOT V F
NOT F V
58
Precedencia
NOT 1 (mayor)
/ div mod AND 2
- OR 3
ltgt gt gt lt lt 4
  • Ejemplo
  • 4 58 Primero se desarrolla el producto
    (58), porque tiene mayor precedencia que .
  • a/b/c Se interpreta como (a/b)/c. Cuando los
    operadores tienen la misma precedencia se
    desarrolla de izquierda a derecha.

59
  • Ejemplo Un algoritmo tiene las siguientes
    declaraciones
  • DECLARO
  • a, b, c ENTERO
  • x,y REAL
  • s STRING
  • letra CARACTER
  • sigo BOOLEANO
  • Diga se las siguientes instrucciones son
    correctas o falsas
  • 1.- c ? xy FALSA
  • 2.- c ? a/b FALSA
  • 3.- sigo ? FALSO FALSA
  • 4.- letra ?3 VERDADERA
  • 5.- a ? x MOD b FALSA

60
Ejercicos
  • Evaluar las siguientes expresiones aritméticas
  • 2 3 4 5
  • 15 DIV 4 4
  • 15 DIV ( 4 4 )
  • 8 MOD 3 DIV 2
  • 2 3 4 - 5
  • 80 / 5 / 3
  • 4 / 2 3
  • -x y / z (-x) (y / z)
  • (8 7 gt 15) AND (4 lt 5) OR (3 lt 2 4)
  • x lt y OR y gt x

61
Ejercicios
  • Se tienen 3 variables booleanas a, b y c
  • a ?Falso
  • b ?Verdadero
  • c ?Verdadero
  • Determine el valor de b para las siguientes
    asignaciones
  • b ?(altgtc) OR (agtc)
  • b ?a OR NOT b OR c
  • b ?(altb) AND (c OR a)

62
Programación
  • Programación Modular
  • Existe complejidad en los problemas que se
    manejan comúnmente, por lo tanto se usa la
    sentencia Dividir para Vencer, es decir
    dividir el problemas en subproblemas mas simples
    de enfrentar, para hacer esto existe la
    programación modular.
  • Exige uso de abstracción.

63
Programación
64
EJEMPLO
65
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com