Anda di halaman 1dari 13

Unidad I: Conceptos Bsicos

OBJETIVO DE LA UNIDAD:

El alumno determinar las entradas, procesos y salidas de un problema, utilizando los


elementos bsicos de programacin, para el planteamiento de una solucin

CONTENIDO
1.1 Adquisicin, procesamiento y almacenamiento de datos
1.2 Conceptos de Algoritmos, Pseudocdigo y Diagrama de Flujo
1.3 Tipos de datos (numricos, caracteres / cadenas, booleanos.
1.4 Identificadores, variables y constantes
1.5 Metodologa para la solucin de problemas por medio de computadoras

1.1 ADQUISICIN, PROCESAMIENTO Y ALMACENAMIENTO DE DATOS


La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
Receta de Cocina
o

Entrada: ingredientes y utensilios empleados

Proceso: elaboracin de la receta de cocina

Salida: terminacin del plato (por ejemplo cordero)

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

1.2 CONCEPTO ALGORITMOS, PSEUDOCDIGOS, DIAGRAMAS DE FLUJO

ALGORITMO
La palabra ALGORITMO se deriva de la traduccin al latn de la palabra rabe alkhowarizmi,
nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de
nmeros y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solucin a un problema especfico.

Es un mtodo para resolver un problema.

CARACTERISTICAS DE LOS ALGORITMOS


Las caractersticas fundamentales que debe cumplir todo algoritmo son:
1. Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.
2. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn


momento; o sea debe tener un nmero finito de pasos.

PSEUDOCODIGO
El pseudocdigo es un lenguaje de especificacin (descripcin de algoritmos). El uso de tal
lenguaje hace el paso de codificacin final (esto es, la traduccin a un lenguaje de programacin)

El pseudocdigo naci como un lenguaje similar al ingls y era un medio de representar


bsicamente las estructuras de control de programacin estructurada. Se considera un primer
borrador, dado que el pseudocdigo tiene que traducirse posteriormente a un lenguaje de
programacin. El pseudocdigo no puede ser ejecutado por una computadora.

La ventaja del pseudocdigo es que en su uso, en la planificacin de un programa, el programador


se puede concentrar en la lgica y en las estructuras de control y no preocuparse de la reglas de
un lenguaje especfico.

El pseudocdigo utiliza para representar las acciones sucesivas palabras reservadas en ingles
(similares a sus homnimas en los lenguajes de programacin), tales como start, end, stop, if-thenelse, while-end, repeat-until. La escritura del pseudocdigo exige normalmente la indentacin
(sangra en el margen izquierdo) de diferentes lneas.

Ejemplo con sentencias en ingles:


start
//calculo de impuesto y salarios
read nombre, horas, precio_horas
salario_bruto
tasas

0,25 * salario_bruto

salario_neto
write
end

horas * precio_horas

salario_bruto tasas

nombre, salario_bruto, salario_neto

Ejemplo con sentencias en espaol:

inicio
//calculo de impuesto y salarios
Leer nombre, horas, precio_horas
salario_bruto
tasas

0,25 * salario_bruto

salario_neto
Escribir

horas * precio_horas

salario_bruto tasas

nombre, salario_bruto, salario_neto

fin

DIAGRAMAS DE FLUJO
Es un diagrama que utiliza los smbolos (cajas) estndar y que tiene los pasos del algoritmo
escritos en esas cajas unidas por flechas, denominadas lneas de flujo, que indican la secuencia en
que se deben ejecutar.

Un diagrama de flujo es la representacin grafica de un algoritmo. Tambin se puede decir que es


la representacin detallada en forma grafica de cmo deben realizarse los pasos en la
computadora para producir resultados.

Esta representacin grafica se da como varios smbolos (que indican diferentes procesos en la
computadora), se relacionan entre s mediante lneas que indican el orden en que se deben
ejecutar los procesos.

1.3 TIPOS DE DATOS

Un dato es la expresin general que describe los objetos con los cuales opera una computadora.

Existen dos clases de tipos de datos: simples (sin estructura) y compuestos (estructurados)

Los tipos de datos simples son los siguientes:

Numricos (integer, real)

Carcter (char, string)

Lgicos ( boolean)

DATOS NUMERICOS

El tipo numrico es el conjunto de los valores numricos. Estos pueden expresarse en dos formas
distintas:

Tipo numrico entero (integer)

Tipo numrico real (real)

Enteros: el tipo entero es un subconjunto finito de los nmeros enteros. Los enteros son nmeros
completos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos.
Reales: el tipo real es un subconjunto de los nmeros reales. Los nmeros reales siempre tienen
un punto decimal y pueden ser positivos o negativos. Un nmero real consta de un entero y una
parte decimal.

DATOS TIPO CARACTER / TIPO CADENA

El tipo carcter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un


dato tipo carcter contiene solo un carcter.

Los caracteres que reconocen las diferentes computadoras no son estndar, sin embargo la
mayora reconoce los siguientes caracteres alfabticos y numricos:

Caracteres alfabticos (A,B,C, ., Z) ( a,b,c,.,z)

Caracteres numricos (1,2,.9,0)

Caracteres especiales ( +, -, *, / , ^ , ., ;, <, >, $, ..)

Una cadena (string) de caracteres es una sucesin de caracteres que se encuentran delimitados
por una comilla (apstrofo) o dobles comillas, segn el tipo de lenguaje de programacin. La
longitud de una cadena de caracteres es el nmero de ellos comprendidos entre los separadores o
limitadores.

DATOS LGICOS (BOOLEANOS)

El tipo de dato lgico, tambin denominado booleano, es aquel dato que solo puede tomar uno de
dos valores:

Cierto o verdadero (true) y falso (false)


Este tipo de dato se utiliza para representar alternativas (si/no) a determinadas condiciones.

1.4 IDENTIFICADORES, VARIABLES Y CONSTANTES


IDENTIFICADORES

Los nombres de las variables a veces son conocidos como identificadores, suelen constar de varios
caracteres alfanumricos, de los cuales el primero normalmente es una letra, no se deben utilizar
como nombre de identificadores palabras reservadas del lenguaje de programacin.

VARIABLES Y CONSTANTES
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante del desarrollo del
algoritmo o ejecucin del programa.

Hay diferentes tipos de variables, tales como enteras, reales, carcter, lgicas y de cadena. Una
variable que es de cierto tipo puede tomar nicamente valores de ese tipo.

Una variable se identifica por los siguiente atributos: nombre que lo asigna y tipo que describe el
uso de la variable.

Una Constante es una partida de datos (objetos) que permanecen sin cambios durante todo el
desarrollo del algoritmo o durante la ejecucin del programa.

La mayora de los lenguajes de programacin permiten diferentes tipos de constantes: enteras,


reales, caracteres y bolean o lgicas y, representan datos de esos tipos.

1.5 METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR MEDIO DE


COMPUTADORAS
La resolucin de problemas con computadoras se puede dividir en tres fases:

Anlisis del problema

Diseo o Desarrollo del algoritmo

Resolucin del algoritmo en la computadora

1. Anlisis del problema: el propsito del anlisis de un problema es ayudar al programador para
llegar a cierta comprensin de la naturaleza del problema. El problema. El problema debe
estar bien definido si se desea llegar a una solucin satisfactoria.
Para poder definir con precisin el problema se requiere que las especificaciones de entrada y
salida sean descritas con detalle.

Una buena definicin del problema, junto con una

descripcin detallada de las especificaciones de entrada y salida, son los requisitos ms


importantes para llegar a una solucin eficaz.

Anlisis del
problema

Definicin del
problema

Especificaciones
de entrada

Especificaciones
de salida

El anlisis del problema exige una lectura previa del problema a fin de obtener una idea
general de lo que se solicita. La segunda lectura deber servir para responder a las preguntas:
Qu informacin debe proporcionar la resolucin del problema?
Qu datos necesitan para resolver el problema?

La respuesta a la primera pregunta indicar los resultados deseados o las salidas del
problema. La respuesta a la segunda pregunta indicar qu datos se proporcionan o la
entradas del problema.

Ejemplo:
Leer el radio de un crculo y calcular e imprimir su superficie y circunferencia.

Anlisis.
Las entradas de datos en este problema se concentran en el radio del crculo. Dado que el
radio puede tomar cualquier valor dentro del rango de los nmeros reales, el tipo de datos
radio debe ser real.
Las salidas sern dos variables: superficie y circunferencia que tambin sern de tipo real.

Entradas:

Radio del circulo (variable RADIO)

Salidas:

Superficie del crculo (variable AREA)


Circunferencia del circulo (variable CIRCUNFERENCIA)

Variables:

2.

RADIO, AREA, CIRCUNFERENCIA tipo real.

Diseo del Algoritmo: una computadora no tiene capacidad para solucionar ms que cuando
se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las
instrucciones a ejecutar por la mquina constituyen, como ya conocemos el algoritmo.

La informacin proporcionada al algoritmo constituye su entrada y la informacin producida


por el algoritmo constituye su salida.

Los problemas complejos se pueden resolver ms eficazmente por la computadora cuando se


rompen en subproblemas que sean ms fciles de solucionar que el original.

La descomposicin del problema original en subproblemas ms simples y a continuacin


dividir estos subproblemas en otros ms simples que pueden ser implementados para su
solucin en la computadora se denomina diseo descendente (top-down desing).
Normalmente los pasos diseados en el primer esbozo del algoritmo son incompletos e

indicarn solo unos pocos pasos. Tras esta primera descripcin, estos se amplan en una
descripcin ms detallada con pasos ms especficos. Este proceso se denomina refinamiento
del algoritmo. Para problemas complejos, diferentes niveles de refinamiento se necesitan
con frecuencia antes de que un algoritmo claro, preciso y completo se pueda obtener.

Tras los pasos anteriores (diseo descendente y refinamiento por pasos) es preciso
representar el algoritmo mediante una determinada herramienta de programacin, diagrama
de flujo, pseudocdigo o diagrama N-S.

Diseo de un
Algoritmo

Diseo
Descendente

Refinamiento por
pasos

Herramientas de
programacin

Diagrama de
Flujo

Pseudocdigo

Diagrama N - S

Escritura inicial del algoritmo

El sistema para describir (escribir) un algoritmo consiste en realizar una descripcin paso a paso
con un lenguaje natural del citado algoritmo.

Recordemos que un algoritmo es un mtodo o conjunto de pasos para solucionar un problema. En


clculos elementales estas reglas tienen las siguientes propiedades:
a) Deben estar seguidas de alguna secuencia definida de pasos hasta que se obtengan un
resultado diferente.
b) Slo puede ejecutarse una operacin a la vez.

3. Resolucin del Problema mediante computadora: una vez diseado y representado


grficamente mediante una herramienta de programacin (diagrama de flujo, pseudocdigo o
diagrama N-S) se debe pasar a la fase de resolucin prctica del problema con la
computadora.

Esta fase se descompone a su vez en las siguientes subfases:

1. Codificacin del algoritmo en un programa


2. Ejecucin del programa
3. Comprobacin del programa

Resolucin del
problema con
computadora

Codificacin del
programa

Ejecucin del
programa

Comprobacin
del programa

El programa que implementa el algoritmo debe ser escrito en un lenguaje de programacin y


siguiendo las reglas gramaticales o sintaxis del mismo. La fase de conversin del algoritmo en un
lenguaje de programacin se denomina codificacin, ya que el algoritmo escrito en un lenguaje
especfico de programacin se denomina cdigo.
Tras la codificacin del programa, deber ejecutarse en una computadora y a continuacin de
comprobar los resultados pasar a la fase final de documentacin.

EJERCICIOS:
1. Dada la matrcula y 5 calificaciones de un alumno obtenidas a lo largo del semestre, construya
un diagrama de flujo e imprima la matrcula del alumno y el promedio de sus calificaciones.

INICIO
Datos: MAT, CAL1, CAL2, CAL3, CAL4, CAL5
Donde:

MAT

CAL1, CAL2, CAL3, CAL4 Y CAL5 son variables de tipo real que representan las

es una variable de tipo entero que representa la matrcula del alumno.

calificaciones del alumno.


ENTRADA:
Leer MAT, CAL1, CAL2, CAL3, CAL4, CAL5
PROCESO:

Hacer PRO (CAL1+CAL2+CAL3+CAL4+CAL5)/5


SALIDA:
Escribir MAT, PRO
FIN

2. Construya un algoritmo tal que dado como datos la base y la altura de un rectngulo, calcule el
permetro y la superficie del mismo.

INICIO
Datos: BASE, ALTU
Donde:

BASE

Es una variable de tipo real que representa la base de un rectngulo.

ALTU

Es una variable de tipo real que indica la altura del rectngulo.

Recuerde que:

La superficie de un rectngulo se calcula aplicando la siguiente frmula:


Superficie= base * altura

El permetro se calcula como:


Permetro = 2 * (base + altura)

ENTRADA:
Leer BASE, ALTU
PROCESO:
Hacer SUP BASE*ALTU
PER 2*(BASE+ALTU)
SALIDA:
Escribir SUP, PER
FIN.

3. Dado un conjunto de datos de entrada invierte el orden de los mismo cuando los imprime

INICIO
Datos: A, B, C, D
Donde:

A, B, C, D

son variables de tipo entero

ENTRADA:
Leer A, B, C, D
PROCESO:
OPERACIN DIRECTA AL IMPRIMIR
SALIDA:
Escribir D, C, B, A
FIN

4. Dado como dato un nmero entero positivo, calcula el cuadrado y el cubo de dicho nmero.

INICIO
Datos: NUM, CUAD, CUB
Donde:

NUM,

Es una variable de tipo entero

CUAD, CUB

Son variables de tipo real

ENTRADA:
Leer NUM
PROCESO:
Hacer CUAD NUM*NUM
CUBNUM*NUM*NUM
SALIDA:
Escribir CUAD, CUB
FIN

5. Dado el costo de un artculo vendido y la cantidad de dinero entregada por el cliente, calcule e
imprima el cambio que debe entregar al mismo

INICIO
Datos: PREPRO, PAGO, DEVO
Donde:

PREPRO

PAGO Es una variable de tipo real que representa el pago que realiza el cliente.

DEVO Es una variable de tipo real que representa el cambio que se dar

Es una variable de tipo real que representa el precio del producto.

ENTRADA:
Leer PREPRO, PAGO
PROCESO:
Hacer DEVO PAGO - PREPRO
SALIDA:
Escribir DEVO
FIN

Tarea 25 ejercicios.

Anda mungkin juga menyukai