Beruflich Dokumente
Kultur Dokumente
INGENIERA EN SISTEMAS
COMPUTACIONALES
ISIC-2010-224
Fundamentos de Programacin
MANUAL DE ASIGNATURA
Elabor:
Fecha de elaboracin:
01/o6/2016
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
CONTENIDO
INTRODUCCIN ......................................................................................................................................... 1
1.1. Clasificacin del software de: Sistemas y Aplicacin............................................................ 2
1.2 ALGORITMO ................................................................................................................................ 3
1.3 LENGUAJES DE PROGRAMACIN........................................................................................ 3
1.4 PROGRAMA ................................................................................................................................. 4
1.5 PROGRAMACIN ....................................................................................................................... 4
1.6 PARADIGMA DE PROGRAMACIN ....................................................................................... 4
1.7 EDITORES DE TEXTO ............................................................................................................... 5
1.8 COMPILADORES E INTRPRETES ....................................................................................... 5
1.9 EJECUTABLES ............................................................................................................................ 6
1.10 CONSOLA DE LNEA DE COMANDOS ................................................................................ 6
UNIDAD 2. ALGORITMOS............................................................................................................................... 7
2.1 ANLISIS DE PROBLEMAS ...................................................................................................... 7
2.2 REPRESENTACIN DE ALGORITMOS: GRFICA Y PSEUDOCDIGO ....................... 7
2.3 DISEO DE ALGORITMOS APLICADOS A PROBLEMAS. ................................................ 9
2.4 DISEO ALGORTMICO DE FUNCIONES ........................................................................... 10
UNIDAD III INTRODUCCIN A LA PROGRAMACIN .................................................................................... 10
3.1 CARACTERSTICAS DEL LENGUAJE DE PROGRAMACIN ......................................... 10
3.2 ESTRUCTURA BSICA DE UN PROGRAMA. .................................................................... 11
3.3 TRADUCCIN DE UN PROGRAMA: COMPILACIN, ENLACE DE UN PROGRAMA,
ERRORES EN TIEMPO DE COMPILACIN. ............................................................................. 13
3.4 EJECUCIN DE UN PROGRAMA. ........................................................................................ 15
3.5 ELEMENTOS DEL LENGUAJE: DATOS, LITERALES Y CONSTANTES,
IDENTIFICADORES, VARIABLES, PARMETROS, OPERADORES, ENTRADA Y SALIDA
DE DATOS. ....................................................................................................................................... 16
3.6 ERRORES EN TIEMPO DE EJECUCIN............................................................................. 19
UNIDAD IV CONTROL DE FLUJO .................................................................................................................. 20
4.1 ESTRUCTURAS SECUENCIALES. ....................................................................................... 20
4.2 ESTRUCTURAS SELECTIVAS: SIMPLE, DOBLE Y MLTIPLE. ..................................... 21
4.3 ESTRUCTURAS ITERATIVAS: REPETIR MIENTRAS, HASTA, DESDE ....................... 22
4.4 DISEO E IMPLEMENTACIN DE FUNCIONES ............................................................... 22
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INTRODUCCIN
Esta asignatura aporta, al perfil del ingeniero, la capacidad para desarrollar un
pensamiento lgico, identificar el proceso de creacin de un programa y desarrollo de
algoritmos para resolver problemas.
Este curso genera las competencias necesarias para que el alumno desarrolle
aplicaciones que den solucin a los problemas que le plantee la vida diaria.
Pgina 1 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
SOFTWARE
El Software son los programas de computadoras. Son las instrucciones responsables de
que el hardware (la computadora) realice su tarea.
El software es la parte lgica de la computadora, que permite el manejo de los recursos
y la realizacin de tareas especficas, tambin denominados programas. Se clasifica en
2 partes: Software de Sistemas y Software de Aplicacin.
SOFTWARE DE SISTEMAS
Es el conjunto de programas indispensables para que la mquina funcione; se denominan
tambin programas del sistema. Al software de sistemas pertenecen los programas cuya
finalidad es servir a otros programas y ejecutar funciones comunes para todos los
usuarios de la computadora.
El software de sistemas implementa funciones de control que permiten al software de
aplicacin comunicarse con otros elementos del software.
Entre los programas que pertenecen al software de sistemas se encuentran: los sistemas
operativos, compiladores, ensambladores, cargadores, manejadores de bases de datos,
etc.
SOFTWARE DE APLICACIN
El software de aplicacin implementa los procedimientos requeridos para realizar las
funciones de procesamiento de la informacin. A los programas que realizan tareas
concretas, nminas, contabilidad, anlisis estadstico, etc., se denominan programas de
aplicacin.
El software de aplicacin es el software especfico para aplicaciones particulares de los
usuarios de un sistema de cmputo. Su utilizacin se restringe a cierto mbito (a
diferencia del software de sistemas). Podemos decir que el software de aplicacin se
apoya en el software de sistemas, lo cual no puede decirse en sentido inverso.
Pgina 2 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
1.2 ALGORITMO
TIPOS DE ALGORITMOS
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir
los pasos del proceso.
Pgina 3 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
1.4 PROGRAMA
1.5 PROGRAMACIN
Pgina 4 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Los editores de texto son incluidos en el sistema operativo o en algn paquete de software
instalado y se usan cuando se deben crear o modificar archivos de texto como archivos
de configuracin, o el cdigo fuente de algn programa.
Intrprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningn
cdigo equivalente. Su accin equivale a la de un intrprete humano, que traduce las
frases que oye sobre la marcha, sin producir ningn escrito permanente.
Pgina 5 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
1.9 EJECUTABLES
Es un mtodo que permite a las personas dar instrucciones a algn programa informtico
por medio de una lnea de texto simple. Debe notarse que los conceptos de CLI, Shell y
Emulador de Terminal no son lo mismo, aunque suelen utilizarse como sinnimos.
Pgina 6 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
A partir de la versin de Windows XP, la lnea de comandos pas a segundo plano como
un complemento de sistema, sin que perdiera la funcionalidad de la misma.
UNIDAD 2. ALGORITMOS
Pgina 7 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
PSEUDOCDIGO
Inicio
Fin
Leer
Escribir
Asignar (x y+z)
1. Inicio
2. Leer, base, altura.
3. Area=base x altura.
4. Escribir; base, altura, rea
5. Fin
Para desarrollar un pseudocdigo se necesita saber los tipos de datos que se deben
tener:
Entero: Subconjunto finito de los nmeros enteros, cuyo rango depender del lenguaje
en el que posteriormente codifiquemos el algoritmo y del ordenador.
El rango depende de cuantos bits utilice para codificar el nmero, normalmente 2 bytes
.Para nmeros positivos, con 16 se pueden almacenar 216
Real: Subconjunto de los nmeros reales limitado no slo en cuanto al tamao, sino
tambin en cuanto a la precisin
DIAGRAMAS
Un diagrama de flujo utiliza smbolos estndar en el que cada paso del algoritmo se
visualiza dentro del smbolo y en el orden en que estos pasos se ejecutan, se indica
Pgina 8 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
conectndolos con flechas llamadas lneas de flujo, ya que indican el flujo lgico del
algoritmo.
Pgina 9 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Un algoritmo cuenta con un inicio y sus subprogramas llamados tambin diseo modular.
Definidas por el usuario: son funciones que puede definirlas el programador con el
propsito de ejecutar alguna funcin especfica, y que por lo general se usan
cuando se trata de hacer algn clculo que ser requerido en varias ocasiones en
la parte principal del algoritmo.
Pgina 10 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y
'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de
programacin y a otros ms.
Principios generales:
Pgina 11 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
La estructura de un programa es una cuestin que puede ser abordada desde varios
puntos de vista, consideremos para su estudio solo este caso. .
Pgina 12 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Funcin: Una parte de un programa (subrutina) con un nombre, que puede ser invocada
(llamada a ejecucin) desde otras partes tantas veces como se desee. Opcionalmente
puede recibir valores (argumentos); se ejecuta y puede devolver un valor
Partes de un compilador
Pgina 13 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden
agrupar en Front-end y Back-end:
Esta divisin permite que el mismo Back End se utilice para generar el cdigo
mquina de varios lenguajes de programacin distintos y que el mismo Front End que
sirve para analizar el cdigo fuente de un lenguaje de programacin concreto sirva para
generar cdigo mquina en varias plataformas distintas. Suele incluir la generacin y
optimizacin del cdigo dependiente de la mquina.
El cdigo que genera el Back End normalmente no se puede ejecutar directamente, sino
que necesita ser enlazado por un programa enlazador (linker).
Preproceso
Pgina 14 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
1. Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una mquina de escribir electrnica) y guardarlo
en un dispositivo de almacenamiento.
Pgina 15 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Este trmino suele emplearse, en oposicin a tiempo de compilacion, para indicar si una
accin o hecho sucede en uno u otro tiempo.
TIPOS DE DATOS
Numricos:
Son aquellos que solamente aceptan caracteres numricos y el caracter puntoen el caso
de aquellos valores fraccionarios.
Enteros:
Son aquellos que consideran solamente valores enteros (sin fracciones decimales)
pudiendo ser precedidos por el carcter (-), para asignarle el signo a los valores
negativos.
Pgina 16 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Carcter o char:
Ocupan 16 bits, con un rango de 0 a 65,536. Este rango tan amplio, le permite al lenguaje
representar cualquier carcter alfabtico, numrico (sin signo) o especial de cualquier
lenguaje o idioma de cualquier parte del mundo, garantizando con esto la portabilidad. El
carcter debe estar delimitado por comillas simples (apostrofes).
Son aquellos que no estn considerados por el lenguaje y tendrn que ser definidos por
el programador, empleando para ello los tipos de datos simples o bsicos.
Identificadores: Se emplean para asignarle un nombre a una clase, objeto, atributo, etc.
Y se puede emplear en l, cualquier secuencia de caracteres alfabticos en maysculas
o minsculas, numricos, los caracteres de subrayado (guin bajo), el de dlar ($) y no
se permiten los espacios en blanco como separadores de palabras.
Constantes
Una constante es una partida de datos que permanecen sin cambios en el programa
(durante el desarrollo y ejecucin).
Variables
Una variable es una partida de datos cuyo valor puede cambiar en el programa (durante
el desarrollo y ejecucin).
Los diferentes tipos de variables dependen del lenguaje de programacin, por lo general
estas suelen ser enteras, reales, carcter, lgicas y de cadena.
Tanto las variables como las constantes tienen un nombre o identificador generalmente
conformado por caracteres alfanumricos (ciertos lenguajes de programacin admiten el
carcter de subrayado _ como vlido en los identificadores), y el primero de stos debe
ser una letra.
int a;
float mynumber;
Son declaraciones validas de variables. La primera declara una variable de tipo int con el
Pgina 17 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Si necesita declarar algunas variables del mismo tipo y quiere ahorrarse escritura, puede
declarar todas estas en la misma lnea separando los identificadores con comas (,). Por
ejemplo:
int a, b, c;
Declara tres variables (a, b y c) de tipo int , y tiene exactamente el mismo significado que
si hubiramos escrito:
int a;
int b;
int c;
Inicializacin de variables
Cuando declaramos una variable local, su valor es indeterminado por defecto. Pero usted
podra querer que una variable almacene un valor en concreto al momento de su
declaracin. Para hacer esto, usted tiene que anexar un signo igual seguido por el valor
deseado en la declaracin de la variable:
Por ejemplo, si queremos declarar una variable entera int llamada a que contenga el valor
0 al momento en el cual es declarada, podramos escribir:
int a = 0;
Estos expresan nmeros con decimales y/o exponentes. Estos pueden incluir un punto
decimal, un smbolo e (que expresa "por 10 a la n-esima potencia", donde n es el siguiente
valor entero) o ambos.
3.14159 // 3.14159 6.02e23 // 6.02 x 1023 1.6e-19 // 1.6 x 10-19 3.0 // 3.0
estos son cuatro nmeros vlidos con decimales expresados en C++. El primer nmero
es PI, el segundo es el nmero de Avogadro, el tercero es la carga elctrica de un electrn
(un nmero extremadamente pequeo) -todos ellos aproximados- y el ltimo es el nmero
3 expresado como un literal numrico en punto flotante.
Pgina 18 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Con el prefijo const usted puede declarar constantes con un tipo especfico exactamente
igual a como hara con una variable:
Los errores en tiempo de ejecucin son los que se producen durante la ejecucin del
programa. Son los ms difciles de encontrar, no son detectados por el compilador, ya
que son errores de lgica, no de sintaxis.Aunque al compilar un programa no de errores,
el programa puede funcionar incorrectamente y/o a dar errores durante su ejecucin. Por
ejemplo:
Un programa puede producir resultados errneos, al equivocarnos (errores lgicos) al
programar el algoritmo (sumar en vez de restar, etc.).
Un programa puede interrumpirse bruscamente, por ejemplo si tenemos que hacer una
divisin y el divisor es cero,etc.
Los errores que se pueden producir en la fase de compilacin son:
Errores fatales: Son raros. Indican errores internos del compilador.Cuando ocurren la
compilacin se detiene inmediatamente.
Errores de sintaxis: Son los errores tpicos de sintaxis. No detienen la compilacin
sino que al finalizar sta se mostrar la lista con todos los errores encontrados. Algunos
errores suelen ser consecuencia de otros cometidos con anterioridad. Con este tipo de
errores no se puede obtener un programa objeto y por lo tanto tampoco el ejecutable.
Advertencias o avisos (warnings): Indican que hay lneas de cdigo sospechosas
que a pesar de no infringir ninguna regla sintctica, el
compilador las encuentra susceptibles de provocar un error. Cuando se detecta un
warning la compilacin no se detiene. Si en un programa
fuente slo se detectan warnings s que se podr obtener un programa objeto, que tras
el linkado dar lugar a un programa ejecutable.
Pgina 19 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Ejemplo de programa Java con estructura secuencial: Programa que lee dos nmeros
por teclado y los muestra por pantalla.
/* Programa que lea dos nmeros por teclado y los muestre por pantalla.
*/
import java.util.*;
public class Main {
public static void main(String[] args){
//declaracin de variables
int n1, n2;
Scanner sc = new Scanner(System.in);
//leer el primer nmero
System.out.println("Introduce un nmero entero: ");
n1 = sc.nextInt(); //lee un entero por teclado
//leer el segundo nmero
System.out.println("Introduce otro nmero entero: ");
n2 = sc.nextInt(); //lee un entero por teclado
//mostrar resultado
System.out.println("Ha introducido los nmeros: " + n1 + " y " + n2);
}
}
Pgina 20 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Los operadores relacionales o lgicos sern utilizados para operndos con nmeros
enteros, flotantes, dobles o caracter en la instruccin if.
Los operadores relacionales y lgicos sern utilizados con nmeros enteros, flotantes,
doubles o caracter en la instruccin if.
Ejemplos:
Pgina 21 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
Esta estructura primero verifica la condicin y luego ejecuta la accin. La accin puede
ser una accin simple o una accin compuesta (bloque de instrucciones encerradas entre
llaves).
Este tipo de estructura primero ejecuta la accin y luego verifica la condicin. La accin
puede ser simple o compuesta.
Este tipo de estructuras incluye un contador como parte de su estructura, lo cual, quiere
decir que se conoce el nmero de veces que se repetir el cuerpo del bucle.
int annualInterest = 0;
annualInterest = n1 * n2;
Pgina 22 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
UNIDAD V ARREGLOS
El concepto de array o arreglo nace de la necesidad de querer tener datos del mismo
tipo en un elemento contenedor que facilite la accesibilidad, recordamos que el
elemento contenedor variable solamente puede contener un valor y que para almacenar
muchos datos tendramos que tener tantas variables como datos existan.
Pgina 23 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
// LECTURA
Console.Out.WriteLine(miArreglo[indice]);
// Optenemos el elemento que se encuentre en el indice
indicado
char car;
Pgina 24 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR
car = (char)Console.Read( ) ;
enciclopedia[v,p,r,c] = car ;
Pgina 25 de 28