Jorge salazar 4 to b xd

36
Diagrama de flujo

Transcript of Jorge salazar 4 to b xd

Page 1: Jorge salazar 4 to b xd

Diagrama de flujo

Page 2: Jorge salazar 4 to b xd
Page 3: Jorge salazar 4 to b xd

El diagrama de flujo es la representación gráfica del 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 fin de proceso.

Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo , el cual muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema . Su correcta construcción es sumamente importante porque , a partir del mismo se escribe un programa en algún Lenguaje de Programación. Si el Diagrama de Flujo está completo y correcto

Page 4: Jorge salazar 4 to b xd

Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de 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.

CARACTERÍSTICA

Page 5: Jorge salazar 4 to b xd

,el paso del mismo a un Lenguaje de Programación es relativamente simple y directo.Es importante resaltar que el Diagrama de Flujo muestra el sistema como una red de procesos funcionales conectados entre sí por " Tuberías " y "Depósitos" de datos que permite describir el movimiento de los datos a través del Sistema. Este describirá : Lugares de Origen y Destino de los datos , Transformaciones a las que son sometidos los datos, Lugares en los que se almacenan los datos dentro del sistema , Los canales por donde circulan los datos. Además de esto podemos decir que este es una representación reticular de un Sistema ,el cual lo contempla en términos de sus componentes indicando el enlace entre los mismos.En el presente Trabajo se representará a través de un Diagrama de Flujo el Procedimiento que debe efectuarse para calcular el pago de los trabajadores de una Empresa .

Page 6: Jorge salazar 4 to b xd

A continuación se representara a través de un Diagrama de Flujo el procedimiento utilizado para el calculo de pago de los trabajadores por La EmpresaFrutiPack , C.A. , la cual se encarga de elaborar, procesar y empacar jugos de excelentes calidad para la Región Centro Occidental del País. Para estos cálculos se debe tomar en cuenta lo siguiente :

Sueldo Básico y las horas extras trabajadas . Para el pago de las horas extras se tienen en cuenta

además la categoría del trabajador , la cual se muestra a continuación : 

Cada trabajador puede tener como máximo 10 horas extras , si tienen más sólo se les pagarán 10. A los trabajadores con categoría mayor a 4 no se les debe pagar horas extras.

Situación Planteada

Page 7: Jorge salazar 4 to b xd

DatosSUE : Es una variable Real que expresa el sueldo básico del trabajador.CATE : Es una variable de tipo entero , que expresa la categoría del trabajador . 1 < CATE < CATE 8.HE : Es una variable de tipo entero , que expresa las horas extras trabajadas por el trabajador.PHE : Es una variable de tipo real. Almacena el costo de la hora extra , teniendo en cuenta la categoría del trabajador.NSUE : Es una variable de tipo real . Almacena lo que hay que pagarle al trabajador teniendo en cuenta su sueldo y las horas extras trabajadas.

Page 8: Jorge salazar 4 to b xd

Diagrama de FlujoInicio

SUE , CATE , HE CATE PHE = 15.000 PHE = 25.000 PHE = 30.000

PHE = 40.000 PHE = 0 SI NO HE >10 NSUE=SUE+10*PHE NSUE =SUE+HE*PHE NSUE

Page 9: Jorge salazar 4 to b xd
Page 10: Jorge salazar 4 to b xd
Page 11: Jorge salazar 4 to b xd

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de loslenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.

LENJUAJE C+ +

Page 12: Jorge salazar 4 to b xd

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

Page 13: Jorge salazar 4 to b xd

Al usar la directiva #include estamos diciéndole al compilador que busque e interprete todos los elementos definidos en el archivo que acompaña la directiva (en este caso, iostream). Para evitar sobrescribir los elementos ya definidos al ponerles igual nombre, se crearon los espacios de nombres o namespace del singular en inglés. En este caso hay un espacio de nombres llamado std, que es donde se incluyen las definiciones de todas las funciones y clases que conforman la biblioteca estándar de C++. Al incluir la sentencia using namespace std le estamos diciendo al compilador que usaremos el espacio de nombres std por lo que no tendremos que incluirlo cuando usemos elementos de este espacio de nombres, como pueden ser los objetos cout y cin, que representan el flujo de salida estándar (típicamente la pantalla o una ventana de texto) y el flujo de entrada estándar (típicamente el teclado).

Un ejemplo de programa en C++, el clásico Hola mundo

Page 14: Jorge salazar 4 to b xd

La definición de funciones es igual que en C, salvo por la característica de que si main no va a recoger argumentos, no tenemos por qué ponérselos, a diferencia de C, donde había que ponerlos explícitamente, aunque no se fueran a usar. Queda solo comentar que el símbolo << se conoce como operador de inserción, y grosso modo está enviando a cout lo que queremos mostrar por pantalla para que lo pinte, en este caso la cadena "Hola mundo". El mismo operador << se puede usar varias veces en la misma sentencia, de forma que gracias a esta característica podremos concatenar el objeto endl al final, cuyo resultado será imprimir un retorno de línea.

Por último tomaremos una secuencia de caracteres del teclado hasta el retorno de línea (presionando ENTER), llamando al método get del objeto cin.

Page 15: Jorge salazar 4 to b xd

C++ tiene los siguientes tipos fundamentales:

Caracteres: char (también es un entero), wchar_t

Enteros: short, int, long, long long Números en coma

flotante: float, double, long double Booleanos: bool Vacío: void El modificador unsigned se puede aplicar a

enteros para obtener números sin signo (por omisión los enteros contienen signo), con lo que se consigue un rango mayor de números naturales.

Tipos de datos

Page 16: Jorge salazar 4 to b xd

Según la máquina y el compilador que se utilice los tipos primitivos pueden ocupar un determinado tamaño en memoria. La siguiente lista ilustra el número de bits que ocupan los distintos tipos primitivos en la arquitectura x86.

Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no dice nada acerca de cuál es el número de bits en un byte, ni del tamaño de estos tipos; más bien, ofrece solamente las siguientes "garantías de tipos":

Tamaños asociados

Page 17: Jorge salazar 4 to b xd

De acuerdo al estándar C99, un tipo char debe ocupar exactamente un byte compuesto de un mínimo de 8 bits independientemente de la arquitectura de la máquina.

El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1.

Un tipo short tiene al menos el mismo tamaño que un tipo char.

Un tipo long tiene al menos el doble tamaño en bytes que un tipo short.

Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive, preferentemente el tamaño de un apuntador de memoria de la máquina.

Un tipo unsigned tiene el mismo tamaño que su versión signed.

Page 18: Jorge salazar 4 to b xd

Para la versión del estándar que se publicó en 1998, se decidió añadir el tipo de dato wchar_t, que permite el uso de caracteres UNICODE, a diferencia del tradicional char, que contempla simplemente al código de caracteres ASCII extendido. A su vez, se ha definido para la mayoría de las funciones y clases, tanto de C como de C++, una versión para trabajar con wchar_t, donde usualmente se prefija el carácter w al nombre de la función (en ocasiones el carácter es un infijo). Por ejemplo:

strcpy - wstrcpy std::string - std::wstring std::cout - std::wcout

Wchar_t

Page 19: Jorge salazar 4 to b xd

La palabra reservada void define en C++ el concepto de no existencia o no atribución de un tipo en una variable o declaración. Como tal, puede ser usada para destacar que una función no recibe parámetros, como en:

int funcion (void); Aunque la tendencia actual es la de no colocar la

palabra "void". Además se utiliza para determinar que una función no

retorna un valor, como en: void funcion (int parametro);

La palabra reservada "void"

Page 20: Jorge salazar 4 to b xd

Cabe destacar que void no es un tipo. Una función como la declarada anteriormente no puede retornar un valor por medio de return: la palabra clave va sola. No es posible una declaración del tipo:

void t; //Está mal En este sentido, void se comporta de forma

ligeramente diferente a como lo hace en C, especialmente en cuanto a su significado en declaraciones y prototipos de funciones.

Sin embargo, la forma especial void * indica que el tipo de datos es un puntero. Por ejemplo:

void *memoria;

Page 21: Jorge salazar 4 to b xd

Indica que memoria es un puntero a alguna parte, donde se guarda información de algún tipo. El programador es responsable de definir estos "algún", eliminando toda ambigüedad. Una ventaja de la declaración "void *" es que puede representar a la vez varios tipos de datos, dependiendo de la operación de cast escogida. La memoria que hemos apuntado en alguna parte, en el ejemplo anterior, bien podría almacenar un entero, un flotante, una cadena de texto o un programa, o combinaciones de éstos. Es responsabilidad del programador recordar qué tipo de datos hay y garantizar el acceso adecuado.

Page 22: Jorge salazar 4 to b xd
Page 23: Jorge salazar 4 to b xd

La función main debe tener uno de los siguientes prototipos:int main()int main(int argc, char** argv)int main(int argc, char** argv, char** env)

La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env.

El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el compilador es responsable de agregar la salida adecuada.

Principios

Page 24: Jorge salazar 4 to b xd
Page 25: Jorge salazar 4 to b xd

Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como lascomputadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmoscon precisión, o como modo de comunicación humana.1 Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

LENGUAJE DE PROGRAMACION

Page 26: Jorge salazar 4 to b xd

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

El desarrollo lógico del programa para resolver un problema en particular.

Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).

Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

Prueba y depuración del programa. Desarrollo de la documentación.

Page 27: Jorge salazar 4 to b xd

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).

Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.

Page 28: Jorge salazar 4 to b xd

Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, el cual la máquina comprende fácilmente, pero que lo hace excesivamente complicado para las personas. De hecho sólo consiste en cadenas extensas de números 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras provenientes del inglés; éste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesaadd (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje máquina, pero las letras y palabras son más fáciles de recordar y entender que los números.

Historia

Page 29: Jorge salazar 4 to b xd

La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar:ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos, denominados también lenguajes de alto nivel.

La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas a Ada quien, después de conocer aCharles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título de primera programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido como homenaje a esta programadora.

Page 30: Jorge salazar 4 to b xd

Variables y Vectores Las variables podrían calificarse como contenedores de datos y por ello se

diferencian según el tipo de dato que son capaces de almacenar. En la mayoría de lenguajes de programación se requiere especificar un tipo de variable concreto para guardar un dato concreto. Por ejemplo, en Java, si deseamos guardar una cadena de texto deberemos especificar que la variable es del tipo "String". Por contra en otros lenguajes como PHP, este tipo de especificación de variables no es necesario. Además también existen variables compuestas por varias variables llamados vectores. Un vector no es más que un conjunto de variables ordenadas guardadas dentro de una variables contenedor del tipo vector. A continuación añadimos un listado con los tipos de variables y vectores más comunes:

-Variables tipo Char: Estas variables contienen un único caracter, es decir, una letra, un signo o un número.

-Variables tipo Int: Contienen un número entero. -Variables tipo float: Contienen un número decimal. -Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo,

es un vector con varias variables del tipo Char. -Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es

considerado para muchos lenguajes como la variable del tipo String "False" mientras que el 1 se considera "True"

Elementos

Page 31: Jorge salazar 4 to b xd

Los condicionantes son estructuras de código que indican que para que cierta parte del programa se ejecute, deben cumplirse ciertas premisas, como por ejemplo, que dos valores sean iguales, que un valor exista, que un valor sea mayor que otro y similares. Estos condicionantes por lo general solo se ejecutan una vez a lo largo del programa. Los condicionantes más conocidos y empleados en programación son:

If: Indica una condición para que se ejecute una parte del programa.

Else if: Siempre va precedido de un "If" e indica una condición para que se ejecute una parte del programa siempre que no cumpla la condición del if previo y si se cumpla con la que el "else if" especifique.

Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe ejecutarse cuando no se cumplan las condiciones prévias.

Condicionantes

Page 32: Jorge salazar 4 to b xd

Los bucles son parientes cercanos de los condicionantes, pero ejecutan constantemente un código mientras se cumpla una determinada condición. Los más frecuentes son:

For: Ejecuta un código mientras una variable se encuentre entre 2 determinados parámetros.

While: Ejecuta un código mientras se cumpla la condición que solicita.

Hay que decir que a pesar de que existan distintos tipos de bucles, ambos son capaces de realizar exactamente las mismas funciones. El empleo de uno u otro depende, por lo general, del gusto del programador.

Bucles

Page 33: Jorge salazar 4 to b xd

Las funciones se crearon para evitar tener que repetir constantemente fragmentos de código. Una función podría considerarse como una variable que encierra código dentro de si. Por tanto cuando accedemos a dicha variable (la función) en realidad lo que estamos es diciendo al programa que ejecute un determinado código predefinido anteriormente.

Todos los lenguajes de programación tienen algunos elementos de formación primitivos para la descripción de los datos y de los procesos o transformaciones aplicadas a estos datos (tal como la suma de dos números o la selección de un elemento que forma parte de una colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que describen su estructura y significado respectivamente.

Funciones

Page 34: Jorge salazar 4 to b xd

A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa.

La sintaxis de un lenguaje de programación describe las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto. El significado que se le da a una combinación de símbolos es manejado por su semántica (ya sea formal o como parte del código duro de la referencia de implementación). Dado que la mayoría de los lenguajes son textuales, este artículo trata de la sintaxis textual

Sintaxis

Page 35: Jorge salazar 4 to b xd

En lenguajes con tipos estáticos se determina el tipo de todas las expresiones antes de la ejecución del programa (típicamente al compilar). Por ejemplo, 1 y (2+2) son expresiones enteras; no pueden ser pasadas a una función que espera una cadena, ni pueden guardarse en una variable que está definida como fecha.

Los lenguajes con tipos estáticos pueden manejar tipos explícitos o tipos inferidos. En el primer caso, el programador debe escribir los tipos en determinadas posiciones textuales. En el segundo caso, el compilador infiere los tipos de las expresiones y las declaraciones de acuerdo al contexto. La mayoría de los lenguajes populares con tipos estáticos, tales como C++, C# y Java, manejan tipos explícitos. Inferencia total de los tipos suele asociarse con lenguajes menos populares, tales como Haskell y ML. Sin embargo, muchos lenguajes de tipos explícitos permiten inferencias parciales de tipo; tanto Java y C#, por ejemplo, infieren tipos en un número limitado de casos

Tipos estáticos versus tipos dinámicos

Page 36: Jorge salazar 4 to b xd