Post on 03-Jul-2015
CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN
•Programación Modular
•Programación Estructurada
Tutora: Leydi J. Hernández
INTRODUCCIÓN
El desarrollo de software está tomando gran
importancia en el mundo informático
La asignatura busca estudiar los fundamentos de
la programación
Metodología de la programación = metodología
necesaria para resolver problemas mediante
programas de computadora.
2
OBJETIVO GENERAL
Desarrollar la capacidad de comprender y abstraer problemas de programación identificando sus partes y diseñando soluciones.
3
CONCEPTOS GENERALES
Hardware: Corresponde a la parte física de un computador.
Software: El software son todos aquellos programas que permiten la comunicación entre el usuario y el computador.
Dispositivos de entrada y salida: son aquellos elementos de hardware que nos permiten el ingreso de datos y presentarlos al usuarios a través
4
METODOLOGÍA
Programación Modular
Flexible y potente
El programa se divide en Módulos
Programación Estructurada
El programa tiene un diseño modular
Los módulos son diseñados en forma descendente
Cada modulo se codifica en base a: secuencias, selección y repetición.
5
CONCEPTOSAlgoritmo
Método para resolver un problema, conjunto de reglas para ejecutar determinada tarea.Diagramas de flujo
Un diagrama de flujo es una representación gráfica de la secuencia de pasos a realizar para producir un cierto resultado.Seudo-código
Lenguaje de especificación de algoritmos.
6
PASOS PARA LA SOLUCIÓN DE PROBLEMAS
Definición del problema (Entender que es lo que se requiere)
Determinación de los datos de entrada y salida
Modelo Matemático (Para conocer el proceso de solución)
Algoritmo
Prueba
Refinamiento del algoritmo
Codificación7
PASOS PARA LA SOLUCIÓN DE PROBLEMAS
Sumar dos números
EL PASO 1 (entender):
Ingresar dos números realizar la sumatoria y presentarlos
EL PASO 2 (datos de entrada y salida):
Entrada: numero1 y numero 2
Salida: resultado
EL PASO 3 (modelo matemático a utilizar):
Permite resolver analíticamente el problema, en el ejemplo de las sumas tendríamos:
Datos de entrada 10 y 30 (primer termino y segundo termino)
Proceso para sumar 10 + 30 (suma de los términos)
Información de salida 40 (resultado del proceso)
Resultado = numero1 + numero28
PASOS PARA LA SOLUCIÓN DE PROBLEMAS
EL PASO 4 (algoritmo primera versión): 1. Inicio2. Ingresar el primer valor a sumar (numero1)3. Ingresar el segundo valor a sumar (numero2)4. Realizar la sumatoria (Resultado = numero1 +
numero2)5. Presentar el resultado de la suma (resultado)6. Fin
EL PASO 5 (prueba): Prueba de escritorio
EL PASO 6: Consiste en refinamiento del algoritmo.
EL PASO 7: Equivale a escribir (traducir) el algoritmo en lenguaje de alto nivel . 9
EJERCICIOS
10
DETERMINAR EL ÁREA DE UN TRIÁNGULO
SI SE CONOCE LA BASE Y ALTURA
11
•EL PASO 1 (entender):
•EL PASO 2 (datos de entrada y
salida):
Entrada: base y altura
Salida: area
•EL PASO 3 (modelo matemático
a utilizar):
Area = base * altura / 2
•EL PASO 4 (algoritmo):
1. Inicio
2. ingresar base
3. ingresar altura
4. Realizar el Cálculo el Área = (base * altura ) / 2
5. mostrar área
6. Fin
•EL PASO 5 (prueba):
– Prueba de escritorio
•EL PASO 6:
– corrección del algoritmo
DETERMINAR EL VALOR A PAGAR
CONOCIENDO EL NÚMERO DE HORAS Y EL
COSTO POR HORA
12
•EL PASO 1 (entender):
•EL PASO 2 (datos de entrada y
salida):
Entrada: Numero de horas y costo
Salida: sueldo a pagar
•EL PASO 3 (modelo matemático
a utilizar):
sueldo = NumerodeHora *
Costodehora
•EL PASO 4 (algoritmo):
1. Inicio
2. solicitar numhora
3. solicitar coshora
4. Realizar el calculo sueldo = numhora * coshora
5. mostrar sueldo
6. Fin
•EL PASO 5 (prueba):
– Prueba de escritorio
•EL PASO 6:
– corrección del algoritmo
PROGRAMA
• Introducirnos al proceso de la programación que se manifiesta esencialmente en los programas.
• Un programa de computadora es un conjunto finito de instrucciones que producirán la ejecución de una determinada tarea. Un programa es un medio para llegar a un fin. Proceso para solucionar un problema.
• Diseñar algoritmos (pseudo-codigo) para resolver problemas, y su posterior conversión en programas
13
Fundamentos de programación
PARTES DE PROGRAMA
El programador debe establecer el conjunto de especificaciones que debe contener el programa:
Entrada, salida y algoritmos de resolución
Se debe establecer de donde provienen las entradas (dispositivos de entrada teclado, disco.)
Las salidas de datos donde se van a presentar.
14
PARTES DE PROGRAMA
15
entrada proceso salida
INSTRUCCIONES
instrucciones de inicio/fin Inicio
fin
instrucciones de asignación Variable valor
instrucciones de lectura Leer variable
instrucciones de escritura Presentar variable
Presentar mensaje16
ELEMENTOS DE UN PROGRAMA
Palabras reservadas (inicio, fin, si, entonces... etc.)
Identificadores (nombres de variables)
Constantes
Variables
Expresiones
instrucciones
17
ELEMENTOS DE UN PROGRAMA
Dato:
- "hecho o valor a partir del cual se puede inferir una conclusión información".
- Los datos son aquello que un programa manipula.
- Sin datos un programa no funcionaría correctamente.
18
TIPOS DE DATOS
Los tipos de datos simples los podemos definircomo numéricos, lógicos y carácter, etc..
Enteros
Números enteros desde un valor negativo altohasta otro valor positivo alto.
Carácter
Almacenan información alfa-numérica
Lógicos (booleanos) - Verdadero y Falso
Como indica el encabezado, este tipo presentasólo dos valores: verdadero o falso.
19
ELEMENTOS DE UN PROGRAMA
Variables
Los datos son almacenados en la memoria de la computadora. Una variable es una referencia a un área específica de la memoria de la computadora donde se guardan los datos.
Constantes
Una constante es un objeto de datos con un nombre, un tipo y un valor asociado que no puede modificarse una vez definido.
20
ELEMENTOS DE UN PROGRAMA
OperadoresUn operador es un símbolo formado por uno o más caracteres que permite realizar una determinada operación entre uno o más datos y produce un resultado.(+,-,*,/,>,<, !=, <>, Mod, %)ExpresionesLas expresiones son combinación de constantes, variables, símbolos de operación, paréntesis y nombres de funciones Una expresión consta de operandos y operadores, según sea el tipo de objetos que manipulan las expresiones puede serde tipo: aritméticas, lógicas, relacionales y carácter 21
EXPRESIONES Aritméticas
5 + 3
5 * 4 + 6 (5 * 4)+6
Lógicas
(A > B) (verdadero)
relacionales
> , <, =
22
ENTRADA Y SALIDA DE INFORMACIÓN
Las operación de entrada permiten leerdeterminados valores y asignarlos a variablesdeterminadas.
se la conoce como lectura (leer, read), losdispositivos pueden ser teclado, unidades dedisco, etc.
Luego de la transformación de los datos, laoperación de salida se denomina escritura(presentar,write)
se la puede hacer a pantalla, impresora, etc23
ELEMENTOS DE UN PROGRAMA
Algoritmo areatriangulo
Inicio
Leer altura
Leer base
Area = (base * altura ) / 2
Presentar area
fin
24
EJERCICIOS
// algoritmo para calcular el area de un circulo
Algoritmo areacirculo
Inicio
constante pi = 3.1416
leer radio
area = (2 * pi * radio)
presentar area
fin
25
ESTRUCTURAS SELECTIVAS
Estructura Secuencial
La estructura secuencial es aquella en la que una instrucción sigue a otra en secuencia. Suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente.
26
EJEMPLO//permite calcular el perímetro de un cuadrilátero
Algoritmo perimetrorectangulo
inicio
Leer lado
Leer ancho
Perímetro = (lado*2)+(ancho*2)
Presentar perímetro
fin
27
ESTRUCTURAS SELECTIVAS
Estructuras de selección
permiten la decisión entre acciones alternativas,
llevar a cabo una acción en base a una condición (lógica).
Pueden ser simples o múltiples
Se pueden utilizar de manera anidada de forma indefinida.
28
ESTRUCTURAS SELECTIVAS
Si (condición) (lógica verdadero)
…. instrucciones
finsi
Si (condición) (lógica verdadero)
… instrucciones
Sino (caso contrario falso)
… instrucciones
Finsi
29
EJEMPLO
Algoritmo numeropar
Inicio
entero numero
Leer numero
Si residuo(numero/2) = 0
presentar “numero par
Finsi
fin
30
Algoritmo numeroparimpar
Inicio
entero numero
Leer numero
Si residuo(numero/2)=0
presentar “numero par”
Sino
presentar “numero impar”
Finsi
fin
ESTRUCTURAS REPETITIVAS
repetición de un número determinado de sentencias en base a una condición lógica.
Se conoce también como bucle.
Es importante tener en cuenta:
cuantas veces se repite el bucle o ciclo,
cuál es el cuerpo del mismo.
El cuerpo del bucle lo constituyen:
una serie de sentencias, que pueden ser de cualquier tipo,
las que serán repetidas de acuerdo a lo que indique la condición de finalización del bucle.
31
ESTRUCTURAS REPETITIVAS ANIDADAS
todos aquellos bucles que estén contenidosdentro de otro bucle.
Cuando se anidan bucles, se debe tener cuidadoque el bucle inferior este contenidocompletamente dentro del bucle exterior.
Todos los tipos de bucles pueden anidarse, seaentre si o entre cada uno.
32
Mientras (condición) hacer
….. instrucciones
Fin_mientras
Desde num 20 hasta 30 hacer
…. instrucciones
Fin_desde
Hacer
…. instrucciones
Mientras (condición)
Repetir
…
Hasta_que (condición)
33
variable
inicio Fin – incluye limite
EJEMPLO
// realizar la tabla de multiplicar
Algoritmo tablademultiplicar
Inicio
entero n
leer ndesde c 1 hasta n hacer
presentar n, “ + ”,c, “ = ”, n +c
findesde
fin
34
Si n = 5 presentaría
5 + 1 = 6
5 + 2 = 7
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10
EJEMPLO
//realiza la tabla de multiplicar
Algoritmo tablademultiplicarInicio
entero c, n
c 1
Leer n
Mientras (c <= n) hacer
presentar n, “ + ”,c, “ = ”, n +c
c = c +1
Finmientras
Fin35
Si n = 5 presentaría
5 + 1 = 6
5 + 2 = 7
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10
36
// algoritmo para calcular el factorial de un numero
Algoritmo factorial
Inicio
entero f, numero
leer numero
f 1
desde (i 1 hasta numero) hacer
f f * i
findesde
presentar “el factorial de”, numero,”es”,f
fin
37
// algoritmo para determinar si un numero es primo o no
Algoritmo numeroprimo
Inicio
entero d, numero, lim
logica p
leer numero
d 2
lim num / 2
p verdadero
mientras (d < num)
si residuo(num/d) = 0
p falso
d lim
finsi
d d + 1
finmientras
si (p)
presentar “numero es primo”
sino
presentar “numero no es primo”
finsi
fin