La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capítulo 3 Fundamentos de Programación

Presentaciones similares


Presentación del tema: "Capítulo 3 Fundamentos de Programación"— Transcripción de la presentación:

1 Capítulo 3 Fundamentos de Programación
Corina Flores Villarroel Marzo, 2013

2 Introducción Para resolver problemas tanto los algoritmos como los programas operan con datos. Los datos representan objetos del mundo real que permiten modelar aspectos de un problema que se desea resolver.

3 Introducción Por ejemplo, un sistema de administración de estudiantes de una universidad, automatiza los procesos de ingreso y seguimiento de las actividades académicas de los estudiantes, tales como: inscripción, cursado, exámenes, etc., ¿qué datos representarán a las entidades que intervienen en estos procesos?, el estudiante, la carrera, las materias, etc.

4 Introducción Los datos reales son difíciles de representar en una computadora, dado que es una máquina digital binaria con capacidad de operar solo unos y ceros.

5 Introducción La representación de los datos, aun los más simples, como los números, las letras, un nombre o un color, requiere una transformación desde el mundo real a alguna forma de representación binaria que pueda ser interpretada por la computadora

6 Introducción Datos más complejos como una imagen, una canción o la trayectoria de un misil, también son representados en forma binaria. Sin embargo, la forma de modelarlo e interpretarlo requerirá de un análisis cuidadoso por parte de quien escribe el programa.

7 Introducción Por lo tanto, las dos cuestiones más importantes que debe enfrentar quien debe escribir un algoritmo o programa para resolver un problema mediante una computadora son:

8 Introducción Definir el conjunto de acciones, pasos o instrucciones cuya ejecución ordenada conduce a la solución. Elegir la representación adecuada de los datos del problema.

9 Objetivos del tema En este tema centraremos nuestra atención en el trabajo con los datos del problema y su representación.

10 Objetivos del tema ¿Qué datos se pueden considerar fijos (constantes) para simplificar el problema? ¿Qué datos son variables? ¿Qué datos se deben calcular?

11 Objetivos del tema En este tema abordaremos también las formas de representar los datos de acuerdo a su contenido. a objeto de asumir una representación formal en términos del lenguaje de programación que adoptaremos en la fase de codificación, que para propósitos de nuestra asignatura será Java.

12 Variables Al momento de crear un algoritmo para dar una determinada solución a un problema ya sea en el área de matemáticas, de informática, de la medicina o de cualquier otro campo del saber, lo más probable es que nos encontremos ante estas posibilidades:

13 Variables Recibir o ingresar datos
Procesar los datos que han sido ingresados por el usuario, y Recibir o ingresar datos Almacenar o guardar datos de manera que podamos esos dato(s) volver a utilizar para hacer cualquier otra tarea dentro del algoritmo, mediante las conocidas variables.

14 Variables En programación, las Variables son espacios de trabajo (contenedores) reservados para guardar datos (valores).

15 Variables Como su mismo nombre lo dice, las variables pueden cambiar de un valor previamente asignado al momento de declararlas a cualquier otro en un determinado momento de la ejecución del algoritmo/programa.

16 Variables X = Ingresamos X = 0 Sumamos X = X +12 Almacenamos en X
el resultado El valor de una Variable puede cambiar en algún paso del Algoritmo o permanecer invariable; por lo tanto, el valor que contiene una variable es el del último dato asignado a ésta.

17 Variable Ej: Sea el algoritmo que calcula el área de cualquier triángulo rectángulo 1: Algoritmo AreaTrianguloRectangulo 2: Inicio 3: area, div,base, altura: entero // declaración de variables 4: area ; // (Asignar cero a la variable "area") 5: div ; // (Asignar el número 2 a la constante "div") 6: leer altura // (Leer la altura del triángulo y guardar en la variable "altura") 7: leer base // (Leer la altura del triángulo y guardar en la variable "base") 8: area base * altura; //Guardar en la variable "area"el valor de multiplicar "base" por "altura" 9: area area/div; //Guardar en la variable "area"el valor de dividir "area" entre "div" 10: escribir area; //Escribir el valor de la variable "area". 11: Fin.

18 Variable

19 Ciclo de vida de una variable
Toda variable sigue pasa por tres estados durante la ejecución de una algoritmo o programa: Declaración Inicialización Utilización Estos tres aspectos se ilustran en el ejemplo Algoritmo AreaTrianguloRectangulo resaltadas con colores. Gráficamente el ciclo de una variable se puede representar:

20 Declaración de variables
Para declarar VARIABLES, se sigue la siguiente sintaxis: tipoDato nombreVARIABLE; tipoDato identificador;

21 Tipos de Datos Enteros Numéricos Reales Tipos de datos Simples
Caracter No Numéricos Lógico

22 Tarea Averiguar los tipos de datos permitidos en JAVA
Presentar en formato de tabla o esquema Su presentación es OBLIGATORIA En dos ejemplares.

23 Nombres de variables Importante!, para tomar en cuenta al momento de nombrar las variables.

24 Nombres de Variables Ejemplo de nombres de variables.

25 Ejemplo de declaración
Recordemos la sintaxis: tipoDato nombreVARIABLE; En código Java double salario ; En pseudocódigo salario : real

26 Inicialización salario = 0.0; horasTrabajadas = 0.0;
Es la asignación de contenido a una variable. Esta operación se hará escribiendo el nombre o identificador de variables seguido de un signo igual y del contenido a asignar, entrecomillado en el caso de que sea texto. Así: En código se tiene: salario = 0.0; horasTrabajadas = 0.0; nombreEmpleado = “” En pseudocódigo el signo = se escribe con  salario  0 horasTrabajadas  0 nombreEmpleado  “”

27 Utilización salario = 15.2; horasTrabajadas = 233.20;
Se refiere al momento en el que se puede asignar contenido a una variable salario = 15.2; horasTrabajadas = ; nombreEmpleado = “Juan Perez” En pseudocódigo el signo = se escribe con  salario  horasTrabajadas  nombreEmpleado  “Juan Perez”

28 Utilización salario = salario * horasTrabajadas;
Cuando las variables declaradas son utilizadas en los procesos En términos de código salario = salario * horasTrabajadas; System.out.println(nombreEmpleado + “gana” + salario + “Bs. al mes”); En términos de pseucódigo salario  salario * horasTrabajadas escribir(nombreEmpleado + “gana” + salario + “Bs. al mes”)

29 Ciclo de vida de una variable

30 Constantes Tanto los algoritmos como los programas contienen ciertos valores que no deben cambiar durante la ejecución del programa. Tales valores se llaman constantes. Existen diferentes tipos de constantes, entre los que se citan:

31 Constantes Declaración de constantes final int nroCuenta = 33548;
final String estado = “encendido”;

32 Expresiones Una expresión es una combinación de operadores y operandos. Los datos u operandos pueden ser constantes, variables y llamadas a funciones. Donde: A y B son operandos + el operador Además, dentro de una expresión pueden encontrarse subexpresiones encerradas entre paréntesis. Por ejemplo, la siguiente expresión matemática es válida en programación:  x +(b − 3) * cos(α )

33 Ejecución de una expresión
Cuando se ejecuta una instrucción de código que contiene una expresión, ésta se evalúa. Al evaluarse la expresión toma un valor que depende del valor asignado previamente a las variables, las constantes y funciones utilizadas, y la secuencia de la ejecución de las operaciones correspondientes. Este valor resultante de la evaluación de la expresión será de un determinado tipo de dato

34 Ejecución de una expresión
Ejemplo: // declaramos variables suma::entero; coordX, coordY:entero; // asignamos valores a variables coordX = 76; coordY = -33; // Evaluando expresiones coordX = coordX/2; suma = pow ((coordX + coordY), 2); // suma toma el valor de resultado de evaluar la expresión

35 Resultados de expresiones
Tipos de expresiones Tipos de expresiones Resultados de expresiones Aritméticas Numérico Relacionales Lógico o booleano Lógicas Caracter caracter

36 Operadores Los operadores son símbolos que indican cómo se deben manipular los operandos. Los operadores junto con los operandos forman una expresión, que es una fórmula que define el cálculo de un valor.

37 Operandos Los operandos pueden ser constantes, variables o llamadas a funciones, siempre que éstas devuelvan algún valor.

38 Ejemplo (3 + 10) * (a / b ) + cos(x) donde: + * / son operadores 3 10 a b x cos son operandos

39 Tipos de Operadores Existen 3 tipos: Operadores aritméticos
Operadores relacionales Operadores lógicos Operador AND Operador OR Operador NOT

40 Niveles de prioridad de los operadores
Una expresión puede contener distintos tipos de operadores mientras cada operador trabaje con operandos del tipo adecuado. La pregunta que surge a continuación es: ¿qué operación de las que se pueda encontrar en una expresión se realiza antes que las demás?

41 Niveles de prioridad de los operadores
Los niveles de prioridad entre operadores en una misma expresión se resumen en la siguiente Tabla. Nivel de prioridad Operadores 1 Paréntesis (que, en realidad, no es un operador, pero sirve para dar prioridades a operaciones determinadas dentro de una expresión que contenga varias operaciones) 2 No 3 * / div % 4 + - or and 5 = <> > < >= <=

42 Estructura de un algoritmo
Un algoritmo/programa consta de dos componentes: Cabecera del algoritmo/programa, y Un cuerpo o bloque de algoritmo/programa

43 Estructura de un algoritmo
La cabecera del algoritmo/programa, es una acción simple que comienza con la palabra algoritmo, seguido por el nombre. Ejemplo en pseudocodigo: algoritmo PagoSalarioEmpleados Ejemplo en codigo para un programa Class PagoSalarioEmpleados

44 Estructura de un algoritmo
  El cuerpo de algoritmo/programa, es el resto del programa y consta de tres componentes o secciones: las acciones de declaración, las acciones de inicialización y, grupo de acciones ó instrucciones a ejecutar.

45 Estructura de un algoritmo
  Declaración refiere no solo a la declaración de variables sino también de constantes   Inicialización paso en el que se asignan valores iniciales tanto a variables como a constantes

46 Estructura de un algoritmo
  Bloque de instrucciones que puede contener desde:   instrucciones de inicio/fin de proceso instrucciones de lectura instrucciones de escritura instrucciones de bifurcación instrucciones de repetición

47 Estructura de un algoritmo

48 Normas de escritura Ejemplo
Realizar un algoritmo que permita multiplicar, dividir, sumar y restar dos decimales que el usuario ingresa por el teclado.

49 Ejemplo Analizando … Paso 1. Los datos de entrada son dos de tipo decimal, que el usuario debe ingresar Paso 2. Los procesos de transformación para el cálculo de los resultados son las operaciones aritméticas de multiplicar, dividir, sumar y restar. Estas operaciones se almacenarán cada una en variable diferente.  Paso 3. Se mostrarán los resultados hallados cada uno con el respectivo mensaje.

50 Escribiendo el algoritmo …
Algoritmo DosNumeros // Primer paso: Declaración de variables real num1; real num2; real multi, divis, resta, suma; Inicio escribir(" Ingrese un número: “); leer num1; escribir(" Ingrese otro número: “); leer num2; // Segundo paso: realizamos las operaciones multi=num1*num2 divi= num1/num2 resta= num1-num2 suma = num1+num2 // Tercer paso: mostramos los resultados escribir("la suma es:", suma) escribir("la resta es:",resta) escribir("la multiplicación es:",multi) escribir("la división es:",divi) Fin Escribiendo el algoritmo …

51 Corina Flores Villarroel - UMSS
Algunos tips … Tres partes tiene un algoritmo: Entrada = Información proporcionada al algoritmo. Proceso = operaciones o cálculos necesarios para encontrar la solución al problema Salida = respuesta dada por el algoritmo Corina Flores Villarroel - UMSS

52 Corina Flores Villarroel - UMSS
Algunos tips … 2. Para escribir un algoritmo: Aplicar el diseño descendente . Comenzar describiendo los pasos más generales y dividir éste en subproblemas. Ejemplo: ¿Qué hacemos para ver una película “El ataque” en el cine? ir al cine comprar una entrada (billete o ticket) ver la película regresar a casa Pero … estas son cuatro acciones básicas, que necesitan ser mejor especificadas … entonces ¿qué debemos hacer? Corina Flores Villarroel - UMSS

53 Corina Flores Villarroel - UMSS
Algunos tips … Descomponer en pasos más simples, a esto se llama “refinamiento sucesivo”, ya que cada acción se dividirá en una o varias sentencias que ejecutarán una tarea en particular ¿Cómo puede ser un primer refinamiento para el caso del ejemplo? Corina Flores Villarroel - UMSS

54 Corina Flores Villarroel - UMSS
Inicio Ver la cartelera de cines en el periódico Si no proyectan “El ataque” entonces 3.1 decidir otra actividad 3.2 ir al paso 7 Si_no Ir al cine donde proyectarán la película y comprar boleto Fin_si Si hay cola 5.1 ponerse en ella 5.2 mientras haya personas delante hacer 5.2.1 avanzar en la cola fin_mientras Si hay localidades entonces 6.1 comprar entrada 6.2 pasar a la sala 6.3 Localizar la(s) butaca(s) 6.4 mientras proyectan la película hacer 6.4.1 ver la película 6.5 abandonar la sala Sino protestar volver a casa fin Corina Flores Villarroel - UMSS

55 Corina Flores Villarroel - UMSS
Algunos tips … Si miramos el algoritmo escrito, encontramos algunas palabras escritas en negrita, estas palabras se consideran como reservadas (si no, mientras, etc) ya que describen a estructuras de control ya sea de decisión o de repetición. 5. Verificación del algoritmo, para comprobar si el resultado es correcto y esperado, para lo que se puede utilizar la prueba de escritorio Corina Flores Villarroel - UMSS

56 Corina Flores Villarroel - UMSS
Algunos tips … Consiste en … Trazar en una hoja de papel una tabla con filas y columnas, en las columnas se colocar las variables y en las filas las líneas de código del algoritmo, luego ejecutar paso a paso las instrucciones y anotar el resultado obtenido en la fila y columna correspondiente. La prueba termina cuando se ejecuta la última instrucción. prueba de escritorio Corina Flores Villarroel - UMSS

57 Corina Flores Villarroel - UMSS
Algunos tips … Tres partes tiene un algoritmo: Entrada = Información proporcionada al algoritmo. Proceso = operaciones o cálculos necesarios para encontrar la solución al problema Salida = respuesta dada por el algoritmo Corina Flores Villarroel - UMSS

58 Corina Flores Villarroel - UMSS
Algunos tips … 2. Para escribir un algoritmo: Aplicar el diseño descendente . Comenzar describiendo los pasos más generales y dividir éste en subproblemas. Ejemplo: ¿Qué hacemos para ver una película “El ataque” en el cine? ir al cine comprar una entrada (billete o ticket) ver la película regresar a casa Pero … estas son cuatro acciones básicas, que necesitan ser mejor especificadas … entonces ¿qué debemos hacer? Corina Flores Villarroel - UMSS

59 Corina Flores Villarroel - UMSS
Algunos tips … Descomponer en pasos más simples, a esto se llama “refinamiento sucesivo”, ya que cada acción se dividirá en una o varias sentencias que ejecutarán una tarea en particular ¿Cómo puede ser un primer refinamiento para el caso del ejemplo? Corina Flores Villarroel - UMSS

60 Corina Flores Villarroel - UMSS
Inicio Ver la cartelera de cines en el periódico Si no proyectan “El ataque” entonces 3.1 decidir otra actividad 3.2 ir al paso 7 Si_no Ir al cine donde proyectarán la película y comprar boleto Fin_si Si hay cola 5.1 ponerse en ella 5.2 mientras haya personas delante hacer 5.2.1 avanzar en la cola fin_mientras Si hay localidades entonces 6.1 comprar entrada 6.2 pasar a la sala 6.3 Localizar la(s) butaca(s) 6.4 mientras proyectan la película hacer 6.4.1 ver la película 6.5 abandonar la sala Sino protestar volver a casa fin Corina Flores Villarroel - UMSS

61 Corina Flores Villarroel - UMSS
Algunos tips … Si miramos el algoritmo escrito, encontramos algunas palabras escritas en negrita, estas palabras se consideran como reservadas (si no, mientras, etc) ya que describen a estructuras de control ya sea de decisión o de repetición. 5. Verificación del algoritmo, para comprobar si el resultado es correcto y esperado, para lo que se puede utilizar la prueba de escritorio Corina Flores Villarroel - UMSS

62 Corina Flores Villarroel - UMSS
Algunos tips … Consiste en … Trazar en una hoja de papel una tabla con filas y columnas, en las columnas se colocar las variables y en las filas las líneas de código del algoritmo, luego ejecutar paso a paso las instrucciones y anotar el resultado obtenido en la fila y columna correspondiente. La prueba termina cuando se ejecuta la última instrucción. prueba de escritorio Corina Flores Villarroel - UMSS

63 Normas de escritura Todo algoritmo tiene su nombre
Todos los algoritmos comienzan por la palabra inicio seguido de un grupo de sentencias y termina con la palabra fin. Por norma se declaran todas las variables al inicio del programa Una sentencia termina con ; Se debe indentar o tabular a la derecha si hay un nuevo grupo de sentencias, así se facilita no solo en la lectura sino también la revisión del algoritmo. Los comentarios comienzan con //


Descargar ppt "Capítulo 3 Fundamentos de Programación"

Presentaciones similares


Anuncios Google