Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


TEMA 2.- PROBLEMAS, ALGORITMOS Y PROGRAMAS , Apuntes de Informática

Asignatura: Introducción a la Programación, Profesor: , Carrera: I. T. Infor. Sistemas, Universidad: UCA

Tipo: Apuntes

Antes del 2010

Subido el 30/08/2008

josellle
josellle 🇪🇸

4.4

(60)

148 documentos

1 / 15

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
TEMA 2.- PROBLEMAS, ALGORITMOS Y
PROGRAMAS
2.1.- Algoritmos.
2.1.1.- Concepto de algoritmo.
2.1.2.- Ejemplos de diseño de un algoritmo.
2.2.- Proceso de creación de un Programa.
2.2.1.- Planteamiento del Problema.
2.2.2.-Diseño de un Algoritmo. Comprobación y
Optimización de Algoritmos.
2.2.3.-Implementación del Programa. Depuración
del Programa.
2.3.- Datos, tipos de datos y operaciones primitivas.
2.3.1.- Datos numéricos.
2.3.2.- Datos lógicos (booleanos).
2.3.3.- Datos tipo carácter y tipo cadena.
2.4.- Variables y expresiones.
2.4.1.- Constantes y variables.
2.4.2.- La operación de asignación.
2.4.3.- Evaluación de expresiones. Precedencia de
operadores.
2.4.4.- Entrada y salida.
2.5.- Descripción de algoritmos.
2.5.1.- Lenguaje natural.
2.5.2.- Diagrama de Flujo.
2.5.3.- Pseudocódigo.
2.5.4.- Diagrama N-S.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga TEMA 2.- PROBLEMAS, ALGORITMOS Y PROGRAMAS y más Apuntes en PDF de Informática solo en Docsity!

TEMA 2.- PROBLEMAS, ALGORITMOS Y

PROGRAMAS

2.1.- Algoritmos. 2.1.1.- Concepto de algoritmo. 2.1.2.- Ejemplos de diseño de un algoritmo. 2.2.- Proceso de creación de un Programa. 2.2.1.- Planteamiento del Problema. 2.2.2.-Diseño de un Algoritmo. Comprobación y Optimización de Algoritmos. 2.2.3.-Implementación del Programa. Depuración del Programa. 2.3.- Datos, tipos de datos y operaciones primitivas. 2.3.1.- Datos numéricos. 2.3.2.- Datos lógicos (booleanos). 2.3.3.- Datos tipo carácter y tipo cadena. 2.4.- Variables y expresiones. 2.4.1.- Constantes y variables. 2.4.2.- La operación de asignación. 2.4.3.- Evaluación de expresiones. Precedencia de operadores. 2.4.4.- Entrada y salida. 2.5.- Descripción de algoritmos. 2.5.1.- Lenguaje natural. 2.5.2.- Diagrama de Flujo. 2.5.3.- Pseudocódigo. 2.5.4.- Diagrama N-S.

2.2.1.- CONCEPTO DE ALGORITMO

  • Secuencia de pasos que describen el método para resolver un problema
  • La ejecución de un algoritmo implica la ejecución de cada uno de sus pasos
  • La resolución de un problema exige el diseño del algoritmo adecuado

Pasos para resolver un problema en un ordenador:

  1. Análisis del problema
  2. Diseño del algoritmo
  3. Codificación
  4. Traducción, Validación y Ejecución

El ALGORITMO (paso 1) es independiente de:

  • El lenguaje de programación (paso 3)
  • El ordenador (paso 4)

Ejemplos:

Un cliente realiza un pedido a una fábrica. La fábrica examina la ficha del cliente, para comprobar si este es o no solvente antes de enviar el pedido.

  1. Inicio.
  2. Leer el pedido.
  3. Examinar la ficha del cliente.
  4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido.
  5. Fin.

Suma de los números pares entre 2 y 1000. 2+4+6+8+...+1000. SUMA y NUMERO

  1. Inicio.
  2. Inicializar SUMA a 0.
  3. Inicializar NUMERO a 2.
  4. Sumar NUMERO a SUMA. El resultado será el nuevo valor de SUMA.
  5. Incrementar NUMERO en 2 unidades.
  6. Si NUMERO <= 1000 ir al paso 4; en caso contrario, escribir el valor de SUMA y terminar el proceso.
  7. Fin.

2.2.- PROCESO DE CREACIÓN DE UN

PROGRAMA

Resolución de un problema:

  1. Planteamiento y análisis del problema
    • Definición
    • Representación de los datos
      • Entradas
      • Salidas
  2. Diseño del Algoritmo
    • Descomposición en subproblemas
    • Diseño descendente
    • Refinamientos sucesivos
    • Optimización y Depuración
  3. Implementación
    • Elección del lenguaje
      • Adaptación al problema
      • Conocimientos
      • Disponibilidad de rutinas
      • Herramientas de desarrollo
      • Entorno de la aplicación
    • Codificación (normas de estilo)
  4. Ejecución
    • Traducción
    • Prueba y Depuración

2.3.2.- Datos numéricos

  • Enteros: subconjunto finito de los enteros ( Rango : de –32768 a 32768)
  • Reales: subconjunto de los números reales
  • Notación exponencial o científica:

367520100000000000000 Æ 3.675201 x 10 20 .0000000000302579 Æ 3.02579 x 10 - 36.75201 x 10^18 36.75201 mantisa 18 exponente

2.3.2.- Datos lógicos (booleano)

Posibles valores:

  • Verdadero (true)
  • Falso (false)

2.3.3.- Datos tipo carácter

  • caracteres alfabéticos (A, B, C, ..., Z) (a, b, c, ..., z)
  • caracteres numéricos (1, 2, 3, ..., 9, 0)
  • caracteres especiales (+, -, *, /, ^, ., ;, <, > $, ...)

En algunos lenguajes existe el tipo cadena como tipo de dato simple Ej/ “Hola”

2.4.- VARIABLES Y EXPRESIONES

2.4.1.- Variables y Constantes

Constante: objeto que contiene un valor que no varía durante la ejecución del programa.

  • Identificador : nombre que identifica a una constante
  • Tipo : Determinado por el valor que almacena. enteras, reales, carácter y lógicas Ej/ 20, 1.44, ‘B’, “Pepe”.
  • Definición : const PI = 3.

Variable: objeto que contiene un valor que puede variar durante la ejecución del programa

  • Identificador : nombre que identifica a la variable. Ej /notas
  • Tipo : No cambia. Determina el tipo del valor que almacenará la variable y la operaciones que se pueden realizar con ella. enteras, reales, carácter y lógicas
  • Definición var entero : notas

Ejemplos var entero: x, y ...... x Å 2 y Å x + 2

var entero : n ........ n Å 2 n Å n + 1

  • Asignación aritmética var entero : x ....... x Å 3 + 4 * 8
  • Asignación lógica var logico: x ........ x Å 8< 5
  • Asignación de cadena var cadena: cad ...... cadÅ “Hola que tal”

2.4.3.- EVALUACIÓN DE EXPRESIONES.

Precedencia de Operadores

  • Expresión: combinación de variables, constantes, operadores, nombre de funciones y paréntesis, que indican el orden de cálculo.

Ejemplo:

  • Según el tipo de datos de los elementos de la expresión, ésta puede ser: aritmética , cuyo resultado es de tipo numérico; lógica , cuyo resultado es de tipo lógico y carácter , siendo su resultado de tipo carácter.
  • Aritméticas

Operador Significado

  • suma
  • resta
  • multiplicación / división entera div división real mod resto (módulo)

( ( cuadrado ( 8 )* p − 4 )/ 2 − 3 * 5 ) + d * 3

  • Expresiones lógicas

Se combinan constantes lógicas, variables lógicas y otras expresiones lógicas, utilizando los operadores lógicos y los operadores relacionales.

Operadores relacionales

Comparaciones entre valores de tipo numérico, carácter o lógico, y el resultado será verdadero o falso. Con estos operadores se pueden expresar condiciones en los algoritmos, de las cuales dependerá la realización de ciertas tareas.

  • Formato general: expresión1 operador_de_relación expresión

Operador Significado

< menor que > mayor que = igual que ≤ menor o igual que ≥ mayor o igual que ≠ distinto de Ejemplos:

4 > 2 verdadero (3+1) < (8-3) verdadero

  • Prioridad de los operadores relacionales
    • Las comparaciones de datos de tipo numérico, siguen la ordenación habitual que se emplea en matemáticas.
    • Cuando se aplican los operadores relacionales a datos de tipo lógico, la constante falso es menor que la constante verdadero. - Si en la expresión aparecen caracteres alfabéticos en minúsculas, éstos siguen la ordenación alfabética: ‘a’ < ‘b’ < ‘c’ < … < ‘h’ < … < ’z’. - Si en la expresión aparecen caracteres alfabéticos en mayúsculas, éstos siguen la ordenación alfabética: ‘A’ < ‘B’ < ‘C’ < … < ‘H’ < … < ’Z’. - Los caracteres que representan a los dígitos decimales guardan su orden. Es decir: ‘0’ < ‘1’ < ‘2’ < … < ‘8’ < ‘9’. - Pero si aparecen caracteres especiales ¿, =, *, +, ), /, &, %, $, #, , ..., entonces habría que consultar el código normalizado.

Estas agrupaciones se encuentran en orden decreciente, de esta forma sería: ‘*’ < ‘1’ < … < ‘9’ < ‘A’ < … < ‘Z’ < ‘a’ < … < ‘z’. Sin embargo, sería recomendable consultar el código de caracteres de su ordenador: ASCII (American Standar Code for Information Interchange) o bien el EBCDIC ( Extended Binary-Coded Decimal Interchange Code ).