DESCRIPCIÓN DE INTEGRANTES


Nuestro grupo esta conformado por:
Teresa Margarita Navarrete Cárcamo USTS039115
Vanessa Carolina Urbano Palma  USTS019015
Elisa Abigail Trejo Martinez.  USTS209915


Somos un grupo que trabajo con igualdad, desempeño, responsabilidad, puntualidad y sin individualismo.
cada una se hizo responsable de lo que tenia que hacer y cumplimos a cabalidad con lo solicitado.



INTRODUCCIÓN A LA MATERIA

     

INTRODUCCIÓN A LA MATERIA:


Presentación resumida de los elementos que contendrá cada tema o unidad establecido los conocimientos previos que el estudiante posee, los objetivos y competencias que se alcanzaran en el contenido y la utilidad en contenidos futuros.

cada contenido esta estructurado por subtemas destacados. se destacan los aspectos fundamentales de cada tema mediante formato diferente o viñetas según su contenido. en la mayoría de temas se presenta imágenes ilustrativas de los mismo.

UNIDAD 1

UNIDAD 1: INTRODUCCIÓN DE LA PROGRAMACIÓN.

1.1: Conceptos Generales y Terminología de la Programación.

Conceptos generales.


Informática
Es una disciplina que incluye diversas técnicas y actividades relacionadas con el tratamiento automático y lógico de la informática.

Computadora:
· Maquina de propósitos general que procesa datos de acuerdo  al conjunto de instrucciones que están almacenadas internamente es un sistema digital con tecnología microeléctrica capaz de procesar datos a partir de un grupo de instrucciones denominado programa.
Dos partes fundamentales de una computadora son el hardware y el software.

Hardware:
son todos los dispositivos físicos utilizados en el procesamiento de datos, que en su conjunto forman una computadora o un sistema de cómputo. El hardware es todo lo que el usuario puede ver y tocar en un sistema de computación. Por ejemplo: el monitor, teclado, impresora, mouse, escáner, etc.

El hardware puede dividirse en 5 categorías de dispositivos:
· Entrada
· Procesamiento
· Salida
· Almacenamiento
· Comunicación




Software:
· Conjunto de programas, procesamiento y rutinas asociadas con la operaciones de un sistema de computo.
· Es la parte intangible de la computadora. Esta constituido por todos los programa que hacen funcionar el hardware; por tal razón puede decirse que computadoras es la suma del hardware mas el software.

Computadoras= hardware + software.

El software se clasifica en software de sistema, software de aplicación y software de desarrollo o programación

Sistema operativo: 
Es un programa básico necesario que controla una computadora. Cuenta con tres funciones:
· Coordina y manipula el hardware de la computadora.
· Organizar los archivos en los variados dispositivos de               almacenamiento
· Gestiona los errores del hardware y las perdidas de datos.
 



Datos:
· Es la unidad mínima de información fuente que si por si solo no tiene significado
· Materia prima para producir información
· El termino que usamos para describir las señales con las cuales trabaja la computadora

Información:
Es un conjunto de datos que al procesarse, se transforma y adquiere un significado. Es lo que se obtiene del procesamiento de datos, es el resultado final. Aunque las palabras datos e información muchas veces son usadas indistintamente, si existe una diferencia importante entre ellas. Es un sentido estricto, los datos son señales individuales en bruto y sin ningún significado que manipulan las computadoras para producir información.

Sistema:
Es un conjunto de elementos que se interrelaciones entre si para el logro de un objetivo con fin común.

Elementos de un sistema.


Entradas
Están constituida por todos aquellos datos que se van a ingresar a un sistema, teniendo como objetivo principal mantener temporalmente los datos instruidos antes de ser procesados.

Procesos: 
Son objetivos primordial es trasformar los datos capturados en resultados o salidas, realizando las operaciones que sean necesarias.

Salida: 
Contiene los datos que se han convertido en información para los usuarios finales. Constituye la información que será transferida al medio ambiente.

Frontera: 
Se define como el limite real o virtual de la extensión de un sistema todos aquellos aspectos que están constituidos dentro de la frontera pertenecen al sistema

Medio ambiente: 
Esta formado por todo lo que se encuentra fuera del sistema y se comunica con el sistema o viceversa por medio de los datos. Se encuentra ubicado fuera de la frontera.

Un sistema puede definirse por sus factores importantes.
·  Los elementos que lo componen
·  La interrelación entre ellos, como  se coordinan.
·  Su objetivo, meta, propósito




Terminología de la programación:

Programación:
· También se llama desarrollo de software, es un procesamiento de pasos para la introducción de un programa para computadoras.
· Metodología conducente a construir programas ordenados jerárquica mente y modulares que utilizan instrucciones de control estándares.
· Se define como un conjunto de técnicas que permiten desarrollar la actividad de programación de una manera sistemática, eficiente y eficaz.
· Es un conjunto de técnicas para desarrollar programas fáciles de escribir, verificar, leer y mantener.

Programa:
· Es una lista de instrucciones que la computadora debe seguir  para realizar tareas de procesar datos y convertirlos en información.
·  Grupo de instrucciones que indican a la computadora como realizar una función especifica.
·  Secuencia de pasos lógicos a resolver un problema.

Lógica: 
Ciencia formal que tiene por objeto el estudio de razonamiento. Es una secuencia de operaciones realizadas por el hardware o por el software.

Lógica en programación: 
Se define como una secuencia particular de instrucciones  dentro de un programa, dando soluciones aun problema, es decir, la solución particular a un problema especifico, diseñado y traducido por el programa por el programador.

Programador: 
Es la persona que diseña la lógica y escribe el código de un programa para introducir a la computadora.

Lenguaje:
Conjunto de reglas e instrucciones convencionales que se utilizan para comunicarse  con otra persona.

Lenguaje de programación:
·  Cojunto de caracteres que nos permiten crear instrucciones siendo una sintaxis.
·  Lenguaje empleado por los programadores para desarrollar  instrucciones para la  computadora, cada lenguaje de programación, posee sus propias instrucciones y comandos para elaborar un programa.


Clasificación de los lenguajes de programación:


Lenguaje de alto nivel
estos resuelven muchas de las necesidades y limitaciones de los lenguajes de bajo nivel, tiene formato estándar son transportable e independientes de la maquina. Son elaborados por usuarios. Ejemplo: visual Basic, pascal, c#, jaba++ entre otros.

Lenguaje de bajo nivel:
también es llamado lenguaje de la maquina. Se utiliza para la ejecución de programas y esta constituido por un código operador y un operando.

Lenguaje ensamblador: 
programa preparado por un programa que toma las instrucciones que estén en lenguaje maquina y las convierte en una forma que puede ser usada por el computador.
La diferencia radica en que el lenguaje de alto nivel difiere de la función que debe realizar la computadora (operación de datos); mi entras que el lenguaje de bajo nivel indica las variables o datos involucrados en la operación y los define indicando su posición real en el almacenamiento principal.



Usuario
cualquier individuo que interactúa con la computadora a nivel de la aplicación. Los usuarios según el grado de experiencia pueden clasificarse en: expertos y novatos.

Unidades de medida informática.


La siguiente tabla muestra las unidades de medida de almacenamiento de la información.

unidad
abreviatura
equivalencia
Definición
Aclaración
Bit

0,1
Unidad mínima de memoria obtenida del sistema binario y representada por 0 o 1. Posee capacidad para almacenar solo dos estados diferentes, encendidos (1) o apagado (0). 

Byte

8 bits
Unidad de memoria equivalente a 8 bits.

Kilobyte
 KBytes,KB
1024 bytes
Unidad de memoria equivalente a 1024 bytes.
No confundir esta unidad con Kilobits (=1024 bits), empleada frecuentemente para designar tasas de transferencia de datos en dispositivos de redes y comunicaciones.
Megabyte
 MBytes,MB
1024 KB
Unidad de memoria equivalente a 1024 kilobytes.
No confundir esta unidad con Megabits (=1024 kilobits), empleada frecuentemente para designar tasas de transferencia de datos en dispositivos de redes y comunicaciones.
Gigabyte
 GBytes,GB
1024 MB
Unidad de memoria equivalente a 1024 Megabytes.

Terabyte
 TByte,TB
1024 GB
Unidad de memoria equivalente a 1024 Gigabytes.

Petabyte
PByte,PB
1024 TB
Unidad de memoria equivalente a 1024 Terabytes.

Exabyte
EByte,EB
1024 PB
Unidad de memoria equivalente a 1024 Petabytes.

Zetabyte
ZByte,ZB
1024 EB
Unidad de memoria equivalente a 1024 Exabytes.

yottabyte
YByte,YB
1024 ZB
Unidad de memoria equivalente a 1024 Zetabytes.

Brontobyte
BByte,BB
1024 YB
Unidad de memoria equivalente a 1024 Yottabyte.

geopbyte
GeByte,GeB
1024 BB
Unidad de memoria equivalente a 1024 Brontobytes.


    Importante: a partir del kilobyte en las tablas se toma el valor 1000 para clasificar el resultado de los cálculos.

Clasificación de los datos.

Los datos que se ingresan al sistema para ser procesados pueden ser de diferentes tipos:
·  Datos numéricos.
·  Datos de texto.
·  Datos lógicos.

Datos numéricos.


Se representan en dos formas:
·  Numéricos enteros.
·  Numéricos reales.



Los enteros corresponden a números completas, no tiene componentes decimales o fraccionarios y puedes ser positivos o negativos. Ejemplo:

3224
-12
45
1
5000
10
36587
-1211
-4545

Los reales tienen siempre un punto decimal, las fracciones se almacenan en computadoras con números decimales porque no existe otra forma de almacenar numeradores y denominadores separados. Los números reales pueden tomar, teóricamente cualquier valor de la recta numérica y puede ser positivo o negativo. Ejemplo:


34
-8.31
-1.5
45215.32
8.74
14.6
313.25
-4578.12
4.78

Datos de texto: 
son aquellos que agrupan en serie o cadena caracteres, símbolos, dígitos. Ejemplo: María, A1548d, Jorge Romero, UGB.

Datos lógicos
son aquellos que pueden tomar dos valores <<VERDADERO>> O <<FALSO>>.
Cuando trabajamos con programas los datos necesitan alguna forma de almacenarse temporal en memoria mientras pueden ser operados, los datos en este caso e almacenan en variables o constantes.

Variables
palabra o letra que nos permite asignar datos de entrada, proceso y salida durante la ejecución de un programa, es decir, espacio vacío reservados por el programa para el almacenamiento temporal de la información necesaria para la ejecución del programa.
E= Edad, NOM=Nombre, TP=Total a Pagar.

Constante
su valor no cambian durante en desarrollo de un programa. Muchos programas contiene ciertos valore que no cambian durante su ejecución.

Existen varios tipos de constantes
· Constante enteras: 4
· Constante real: 3.1416
· Constante de carácter: “a”
· Constante lógica: cierto o falso.
 





1.2 Importancia de la programación.

 1.2 Importancia de la programación.

Técnicas de la programación.

Existen en la actualidad muchas técnicas o estilos de programación, pero en esta sección estudiaremos únicamente 3:
·         Programación estructurada.
·         Programación modular.
·         Programación orientada a objetos.

Programación estructurada
su objetivo redactar sistemáticamente algoritmos correctos y debe de aplicase en forma clara, sencilla y fácil evitando el uso indiscriminado de las transferencias de control incondicional entre las diferentes partes de un programa.

Cuando hablamos de programación estructurada, nos referimos a un conjunto de técnicas que con el transcurrir del tiempo han evolucionado. Gracias a este, la productividad de un programa se ve incrementada de forma considerable y se reduce el tiempo de escritura, de depuración y mantenimiento de  los programas. Aquí se hace un número limitado de estructuras de control, se reduce la complejidad de los problemas y se minimiza los errores. Gracias a la programación estructurada, es mas fácil la escritura de los programas, también lo e su verificación, su lectura y mantenimiento. Esta programación es un conjunto de técnicas que incorpora:
·         Diseño descendente (top-Down).
·         Recursos abstractos.
·         Estructuras básicas.

Recursos abstractos: son utilizados como un apoyo en la programación estructurada, en ves de los recursos concreto de lo que dispone (lenguaje de programación determinado). Para designar un programa en términos de recursos abstractos debemos descomponer acciones complejas en acciones mas simples, las que son capaces de ejecutar o constituyen instrucciones de computadora disponible.

Diseño descendente (top-Down) este es un proceso en el cual el problemas se descomponen en una serie de niveles o pasos sucesivos (stepwise). Esta metodología consiste en crear una relación entre las etapas de estructuración, las que son sucesivas, de tal forma que se interrelacionen mediante entradas y salidas de información. Considerando los problemas desde dos puntos de vista: ¿Qué hace? Y ¿Cómo lo hace?

Estructura básicas: un programa propio puede ser escrito utilizado solo tres tipos de estructura de control:
·         Secuenciales.
·         Selectivas
·         Repetitivas

Podemos definir un programa como propio si cumple con las siguientes características:
· Tiene un solo punto de entrada y uno de salida o fin de control del proceso.
· Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas partes del programa.
· Todas las instrucciones son ejecutables y n existen lazos o bucles infinitos (sin fin).

 Programación modular: es un método de diseño que permite resolver un problema mediante se descomposición  en problemas mas simples o módulos que se pueden analizar, programar y poner a punto independiente.

En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas  procedimientos, que integran el programa en su totalidad.

En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetro.
A su ves cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.

Programación orientada a objetos (poo): se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias ala reutilización de los objetos. El objeto es un conjunto complejo de datos y programas que poseen estructuras y formas parte de una organización.

Un objeto contiene varios datos bien estructurados y pueden se visibles o no dependiendo del programas y las acciones del programas en ese momento.

El polimorfismo y la herencia son unas de sus principales características de las cuales hablamos específicamente en la unidad dedicada a esta técnica de programación.
No incursionamos en otras técnicas de programación en esta ocasión, pero en la actualidad existen muchas técnicas que los programadores utilizan según el objeto deseado y el tipo de programa que se esta desarrollando.

Resultados de la programación.

1. Programas bien pensados, son mas fáciles de entender.
2. Reducción del tiempo de prueba y depuración.
3. Aumento en la productividad del programa.
4. Programas menos complicados que son fácilmente mantenidos y modificados.
5. Proveer una metodología de programación disciplinada.
6. Simplificar el mantenimiento de los programas.
7. Mejorar la fiabilidad de los programas
8. Minimizar la complejidad de los programas.

Objetivos de la programación.

· Corrección: un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo.
· Claridad: es muy importante que el programa sea lo mas claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento.
· Eficiencia: se trata que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto),  lo haga gestionando de mejor forma posible los recursos que utiliza.
·  Portabilidad: cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente en aquella en la que se elabora.

 Importancia de la programación.

La programación es importante para el programador porque esta le proporciona conceptos, técnicas, metodologías, herramientas y estructuras para la construcción de programas de lata calidad y a la media de los usuarios fírmale.

Operadores.
 Son necesarios par realizar operaciones entre valores numéricos. Entre ellos existen los operadores:
·  Aritméticos.
·  Racionales.
·  Lógicos.

Operadores aritméticos: permiten realizar operaciones entre operadores: tales como números, variable temporales o constantes. También pueden ser procesadas utilizando operaciones y funciones adecuadas a sus tipos. El resultado de una operación aritmética siempre es un número.


Símbolos
Operaciones
Tipos de operando
Tipos de resultados
+
Suma
Entero o real
Entero o real
-
Resta
Entero o real
Entero o real
*
Multiplicación
Entero o real
Entero o real
/
División
Real
Real
DIV
División entera
Entero
Entero
MOD
División residuo
Entero
Entero
%
Porcentaje
Entero o real
Entero o real
˄
exponenciación
Entero o real
Entero o real

Operadores relacionales: se utilizan para comparar dos operadores, que pueden ser números, carácter, cadenas de caracteres, constante o variable. Son aquellos que se utilizan para expresar condiciones, ya que describen una posible relación entre dos variable.


Operador
Significado
=
Igual
<> 
Diferente a
<=
Menor o igual que
=>
Mayor o igual que
< 
Menor que
> 
Mayor que

Operadores lógicos: permite formular condiciones complejas a partir de condiciones simples, son de conjuntos, disyunción y negación.


Operaciones lógicos
Expresiones lógicas
Significado
No (NOT)
No P
Negación: de p; no p es falso si p es verdadero; no p es verdaderos p es falso. 
Y (AND)
P Y Q
Conjunción: de p y q; p y q es verdadera; y falso en cualquier otro contrario. 
O (OR)
P o Q
Disyunción: de p y q, p  o q es verdadero, falso en lo contrario.




Operadores lógicos.

Aplicando el operador lógico NOT

P
No P
V
F
F
V

Aplicando el operador lógico AND

P
Q
P Y Q
F
F
F
F
V
F
V
F
F
V
V
V

Aplicando el operador lógico OR.

P
Q
P o Q
F
F
F
F
V
V
V
F
V
V
V
V