You are on page 1of 20

UNIVERSIDAD TECNOLÓGICA

DE LA COSTA

Sistemas informáticos de la comunicación

Metodología de la programación

Tic 13

Trabajo final de la unidad 1

Irving Acosta Meza

Alejandro Gonzales Flores

27/09/10
INDICE

1 introducción
1.1 Características_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1
1.2 El proceso Algorítmico_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1
1.3 Pruebas de Escritorio_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2
1.4 Elementos básicos_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3
1.5 Identificador_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 4
1.6 Variable_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 5
1.6.1 De claración de variable_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 6
1.6.2 Iniciación de las variables_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 7
1.7 Constante_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _8

2 Pseudocódigo
2.1 Definición_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10
2.2 paraqué funciona_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 11

3 Diagrama de Flujo
3.1 Definición_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _12
3.2 Para que Funciona_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 13
3.3 Cuantos Tipos Hay_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _14

4 Datos
4.1 Tipos de Datos_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15
4.1.1 Estáticos_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _16
4.1.2 Simples_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _17
4.1.3 Dinámicos_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 18
CONCLUCION

Todos los programas son simples sin embargo cada uno de los
tema tiene
Sus semejanzas sin embargo casi todas son asimila lo que son
por que
Debe realizarse paso a paso aunque al guanos de los temas no
pueda en
Contrarse mucha información y se pueden complementar con
programación económica representado por graficas o los
lenguajes de la
Programación también contiene todos los datos necesarios y es
el orden que prefican como los procesos de cálculos también es
como el lenguaje
Sepue descomponerse en diferentes partes y es como todo
llevan un
Procedimiento también se identifican pero también pueden variar
el formato como en c++ o la programación.
1 Algoritmo.

1.1 Características.
Las características fundamentales que debe cumplir todo algoritmo son:
·Un algoritmo debe ser preciso e indicar el orden de realización de cada
paso.
·Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
·Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en
algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y
Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).
Ejemplo de Algoritmo:
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de
datos la ficha del cliente; si el cliente es solvente entonces la empresa
acepta el pedido; en caso contrario rechazara el pedido

1.2 El Procesó Algorítmico


Digamos que podemos entender como algoritmo el orden exacto que prefija
el proceso de cálculo que comienza con un dato inicial arbitrario
(comprendido entre un conjunto posible de datos iniciales) y está destinado
a obtener un resultado totalmente determinado por dicho dato inicial. El
cálculo o proceso desarrollado se denomina Cálculo Algorítmico o bien
Proceso Algorítmico, el cuál va, hoy dia, indisolublemente unido a la
programación de ordenadores, pues el proceso mecánico que conlleva la
realización del algoritmo, la no necesidad de ideas creativas para su puesta
en práctica, nos permite dejarlo en "las manos" de una máquina.

Durante un proceso algorítmico no tiene que suponerse necesariamente que


el resultado se obtiene siempre al final del proceso y a partir de un dato
inicial concreto, sino que puede terminarse sin resultado alguno (en este
caso se diría que el algoritmo ha tenido una parada sin resultado).

Un algoritmo se dice aplicable si tal algoritmo acaba, con o sin resultado, y


se dice que se trata de un algoritmo no aplicable si el proceso algorítmico no
se acaba

1.3 Pruebas de Escritorio


La prueba de escritorio es una herramienta útil para entender que hace un
determinado algoritmo, o para verificar que un algoritmo cumple con la
especificación sin necesidad de ejecutarlo.

Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por
lo tanto se debe llevar registro de los valores que va tomando cada una de las
variables involucradas en el mismo.

A continuación se muestra un ejemplo de prueba de escritorio del siguiente


algoritmo:

suma :entero
entrada :entero
menor :entero

leer entrada
menor = entrada
suma = 0
mientras (entrada != 0) haga
si (entrada < menor) entonces
menor =entrada
fin_si
suma = suma + entrada
leer entrada
fin_mientras
escribir “valor Menor:”
escribir menor
escribir “Suma:”
escribir suma
INSTRUCCIÓN entrada menor suma Pantalla

leer entrada 10      

menor = entrada   10    

suma :=0     0  

suma :=suma + entrada     10  

leer entrada 7      

menor = entrada   7    

1.4 Elementos Básicos


De igual forma que el lenguaje verbal puede
descomponerse en diversas unidades de distinta
significación, también tenemos un lenguaje no verbal,
visual, que puede constituir un alfabeto de significación. Es
decir, que las imágenes podrían descomponerse en
unidades de significación más pequeñas en función de
algunos de sus componentes: color, línea...

Los elementos básicos son pues: el punto, la línea, el plano,


el contorno, la textura y el color. Cada uno tiene
características diferentes, lo que les permite desempeñar
funciones determinadas dentro de la composición.

El punto:
Es la unidad mínima de comunicación visual, el elemento
gráfico fundamental y por tanto el más importante y puede
intensificar su valor por medio del color, el tamaño y la
posición en el plano. No es necesario que el punto esté
representado gráficamente para tomar fuerza, ya que en
cualquier figura su centro geométrico, puede constituir el
centro de atención.
El punto esta definido por su color, dimensión y sobre todo
por el dinamismo que puede reflejar dependiendo de donde
lo situemos dentro del plano. Cuando vemos varios puntos
dentro de una determinada composición, por el principio de
agrupación, podemos construir formas, contornos, tono o
color (como las imágenes de semitonos creadas con tramas
de puntos para su composición).

Características del punto:

 - Tiene un gran poder de atracción cuando se


encuentra solo.
 - Puede producir sensación de tensión cuando se
añade otro punto y construyen un vector direccional.
 - Da lugar a la creación de otros conceptos como el
color cuando aparecen varios puntos en el mismo
campo visual

1.5
Al nombre de una variable se le conoce como
identificador. Es deseable que,
Para que los programas sean fáciles de entender, los
nombres de las variables
Estén asociados con su significado. Un identificador debe
comenzar con una
Letra o con el guión bajo (_ ), mientras que el resto del
identificador pueden ser
Cualquier combinación de letras, dígitos y el guión bajo. Por
ejemplo, los
Siguientes son identificadores válidos para las variables:
x x1 x_1 _ABC ABC123z7 suma datos2 área Producto
Programación Instituto Tecnológico de Celaya
Ingeniería Química
aunque sólo tres de ellos son nombres que adecuadamente
indican su
significado. Los siguientes no son identificadores válidos
¿Por qué?
12 3x %cambio data-1 miprimer.c programa.cpp
Hay una clase especial de identificadores conocido como
palabras reservadas
(keywords). Estas palabras reservadas tienen ya un
significado definido por el
Lenguaje de programación (C++), de forma que el
programador no puede
Utilizarlos para identificar variables. Las palabras
reservadas en el lenguaje C++
Son cualquier cadena de caracteres que sirven para identificar
variables, señales, procesos, etc. Puede ser cualquier nombre
compuesto por letras (aux) o números y letras (aux1, aux2,
aux3, ...), incluyendo el símbolo de subrayado "_". Las
mayúsculas y minúsculas son consideradas iguales, por lo tanto
los identificadores TMP y tmp representan el mismo elemento. No
es posible crear un identificador que coincida con alguna palabra
reservada del lenguaje

1.6 Variable.
Una Variable es un dato cuyo valor no puede cambiar
durante la ejecución del programa. Recibe un valor en el
momento de la compilación y este permanece inalterado
durante todo el programa.

Como ya se ha comentado en el tema sobre las partes de


un programa, las constantes se declaran en una sección
que comienza con la palabra reservada const. Después de
declarar una constante ya puedes usarla en el cuerpo
principal del programa. Tienen varios usos: ser miembro en
una expresion, en una comparación, asignar su valor a una
variable, etc. En este ejemplo se declaran tres constantes
(Min, Max y Sep). En la primera línea del cuerpo del
programa se asigna una constante a una variable. En la
siguiente, se usa una constante en una comparación. Y en
la cuarta, la constante Sep interviene en una expresión que
se asigna a una variable. El resultado de ejecutar este
programa sería una impresión en pantalla de los números:
0, 10, 20, 30, 40, 50, 60, 70, 80 y 90.
Declaración de variables
Esta es la primera fase en la vida de cualquier variable. La
declaración se realiza en la sección que comienza con la
palabra var. Si quieres más información, puedes ir al
apartado que trata sobre la declaración de variable en el
tema Estructura de un programa.

Iniciación de variables
Esto no es más que darle un valor inicial a una variable. Así
como lo primero que se hace con una variable es
declararla, lo siguiente tiene que ser iniciarla. Esto se hace
para evitar posibles errores en tiempo de ejecución, pues
una variable tiene un valor indeterminado después de
declararla. Principalmente, existen dos maneras de otorgar
valores iniciales a variables:

 Mediante una sentencia de asignación


 Mediante uno de los procedimientos de entrada de
datos

Utilización de variables
Una vez declarada e iniciada una variable, es el momento
de utilizarla. Esta es la parte que presenta un mayor
abanico de posibilidades. A continuación tienes unas
cuantas:

 Incrementar su valor:

i := i + 1

 Controlar un bucle:

for i:=1 to 10 do ...

 Chequear una condición:

if i<10 then ...

 Participar en una expresión:

n := (Max - Min) div i


 Y otras que ya irás descubriendo

1.7 Constante

Una constante es un dato cuyo valor no puede cambiar


durante la ejecución del programa. Recibe un valor en el
momento de la compilación y este permanece inalterado
durante todo el programa.

Como ya se ha comentado en el tema sobre las partes de


un programa, las constantes se declaran en una sección
que comienza con la palabra reservada const. Después de
declarar una constante ya puedes usarla en el cuerpo
principal del programa. Tienen varios usos: ser miembro en
una expresión, en una comparación, asignar su valor a una
variable, etc.

2 Pseudocódigo

2.1 definicion

Mucho se habla del pseudo códigoen las carreras de


Analista de Sistemas y Programación. Pero no existe mucha
bibliografía al respecto.
En este articulo voy a tratar de echar un poco de luz sobre
algo de lo que siempre se habla, pero que muchos no saben
a ciencia cierta que es y cómo se usa.
Comencemos aclarando que no es una forma de
programación. Se trata de una herramienta que los
analistas de sistemas utilizan para comunicar a los
programadores la estructura del programa que van a
realizar, de forma de tener una idea bien clara de lo que se
necesita programar.
Digamos que el pseudo código es una forma de diagramar
un algoritmo para resolver un determinado problema, sin
atenerse a ningún lenguaje de programación en especial.
Un algoritmo es un conjunto de procedimientos que
permiten resolver un problema.
En vez de escribir el programa directamente en un lenguaje
de programación determinado (C, Basic, etc.), crearemos
un borrador entendible para todos, para luego de tener bien
en claro lo que se debe hacer, pasar a la programación
propiamente dicha.
2.2 Para que Funciona
El principal objetivo del pseudocódigo es el de representar
la solución a un algoritmo de la forma más detallada
posible, y a su vez lo más parecida posible al lenguaje que
posteriormente se utilizara para la codificación del mismo.

Las principales características de este lenguaje son:

* Se puede ejecutar en un ordenador


* Es una forma de representación sencilla de utilizar y de
manipular.
* Facilita el paso del programa al lenguaje de
programación.
* Es independiente del lenguaje de programación que se
vaya a utilizar.
* Es un método que facilita la programación y solución al
algoritmo del programa.

3. Diagrama de flujo
3.1 Definición

Un diagrama de flujo es una representación gráfica de un


algoritmo o proceso. Se utiliza en disciplinas como la
programación, la economía, los procesos industriales y la
psicología cognitiva. Estos diagramas utilizan símbolos con
significados bien definidos que representan los pasos del
algoritmo, y representan el flujo de ejecución mediante
flechas que conectan los puntos de inicio y de término.

[ Características

Un diagrama de flujo siempre tiene un único punto de inicio


y un único punto de término. Además, todo camino de
ejecución debe permitir llegar desde el inicio hasta el
término.

Las siguientes son acciones previas a la realización del


diagrama de flujo:

 Identificar las ideas principales a ser incluidas en el


diagrama de flujo. Deben estar presentes el dueño o
responsable del proceso, los dueños o responsables
del proceso anterior y posterior y de otros procesos
interrelacionados, otras partes interesadas.
 Definir qué se espera obtener del diagrama de flujo.
 Identificar quién lo empleará y cómo.
 Establecer el nivel de detalle requerido.
 Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son :

 Establecer el alcance del proceso a describir. De esta


manera quedará fijado el comienzo y el final del
diagrama. Frecuentemente el comienzo es la salida del
proceso previo y el final la entrada al proceso
siguiente.
 Identificar y listar las principales
actividades/subprocesos que están incluidos en el
proceso a describir y su orden cronológico.
 Si el nivel de detalle definido incluye actividades
menores, listarlas también.
 Identificar y listar los puntos de decisión.
 Construir el diagrama respetando la secuencia
cronológica y asignando los correspondientes
símbolos.
 Asignar un título al diagrama y verificar que esté
completo y describa con exactitud el proceso elegido.

3.2 cuantos tipos hay

Grandes clásicos conocidos por todos, los diagramas de


clases, distan mucho de ser los únicos definidos en el
lenguaje. De hecho en la versión UML 2 existen trece (13)
diagramas concretos y varias categorías de diagramas
abstractos, creados como toda clase abstracta, para
articular la presentación de los diagramasEn su momento
detallaré cada uno de los tipos de diagramas, lo importante
por ahora es señalar que existen dos grandes grupos:
estructurales y de comportamiento; esto conforme a lo
dicho sobre la presentación de modelos en UML.

Los diagramas estructurales presentan elementos estáticos


del modelo, tales como clases, paquetes o componentes;
en tanto que los diagramas de comportamiento muestran la
conducta en tiempo de ejecución del sistema, tanto visto
como un todo como de las instancias u objetos que lo
integran.

Por otra parte, en la figura se ve que hay tres tipos de


diagramas señalados en un color distinto: los diagramas de
estructura compuesta, de tiempo y de resumen de
interacción. Se han resaltado dado que son nuevos dentro
del UML por lo que resultan ser de los menos conocidos.
También aspiro a tener una descripción de ellos en los días
por venir.

Hay que tener en cuenta, que cada diagrama sirve para


documentar un aspecto distinto del sistema; el criterio para
usarlos es el de tener algo que decir, una historia sobre
nuestro sistema que debe ser contada; el tipo de diagrama
que utilizaremos será el que nos dé mayor poder expresivo
y solo muy difícilmente, la construcción de una serie de
diagramas puede ser explícitamente ordenada por un
método de desarrollo. Algunos sistemas simples serán bien
documentados con pocos diagramas, en tanto que algunos
sistemas grandes bien podrían beneficiarse de un conjunto
mayor.
4 Datos

4.1 Tipos de Datos

Tipos estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no
se tratarán debido a su complejidad.

Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en
memoria no puede variar durante la ejecución del programa. Es decir, una vez
declarada una variable de un tipo determinado, a ésta se le asigna un trozo de
memoria fijo, y este trozo no se podrá aumentar ni disminuír.

Tipos dinámicos
Dentro de esta categoría entra sólamente el tipo puntero. Este tipo te permite
tener un mayor control sobre la gestión de memoria en tus programas. Con
ellos puedes manejar el tamaño de tus variables en tiempo de ejecución, o sea,
cuando el programa se está ejecutando.

Los punteros quizás sean el concepto más complejo a la hora de aprender un


lenguaje de programación, sobre todo si es el primero que aprendes. Debido a
esto, no lo trataremos. Además, lenguajes que están muy de moda (por
ejemplo Java) no permiten al programador trabajar con punteros.

Tipos simples
Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos
y los más fáciles de aprender. Por todo esto, serán en los que nos centremos.

Los tipos simples más básicos son: entero, lógico, carácter y real. Y la
mayoría de los lenguajes de programación los soportan, no como ocurre con
los estructurados que pueden variar de un lenguaje a otro.

Tipos estructurados
Mientras que una variable de un tipo simple sólo referencia a un elemento, los
estructurados se refieren a colecciones de elementos.

Las colecciones de elementos que aparecen al hablar de tipos estructurados


son muy variadas: tenemos colecciones ordenadas que se representan
mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e
incluso colecciones que contienen otros tipos, son los llamados registros.

Tipos ordinales
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo
se dice que es ordinal porque el conjunto de valores que representa se puede
contar, es decir, podemos establecer una relación uno a uno entre sus
elementos y el conjunto de los números naturales.

Dentro de los tipos simples ordinales, los más importantes son:

 El tipo entero (integer)


 El tipo lógico (boolean)
 El tipo carácter (char)

Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real.
Este tipo nos sirve para declarar variables que pueden tomar valores dentro del
conjunto de los números reales.

A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No


se puede establecer una relación uno a uno entre ellos y los número naturales.
Dicho de otra forma, para que un conjunto se considere ordinal se tiene que
poder calcular la posición, el anterior elemento y el siguiente de un elemento
cualquiera del conjunto.¿Cuál es el sucesor de 5.12? Será 5.13, o 5.120, o
5.121, ...
Bibliografía

 Libro: Enciclopedia del lenguaje c + +

 Autor: Fco.Javier Ceballos

 Libro: Programación en Linux 2

 Autor: Kurt Wall, en Linux

 IBSN: 84-205-3014-x

 Materia: Información

 Formato: 170X240

Libro: Fundamentos de Programación


Autor: Luís Janes Agilar

 Libro: Algoritmos en c++

 Autor:Robet Sedgewick
 

You might also like