Professional Documents
Culture Documents
Lenguaje de Máquina
Lenguaje de Ensamblaje
Programas Comerciales
Son paquetes que se pueden comprar de cualquier desarrollador de
programas. Fuentes: Tiendas, catálogos, asociaciones industriales y
compañías de desarrollo de programas. Normalmente incluyen más de un
programa. (Ejemplos: Lotus, MS Office).
Programas de Sistema
Los programas de sistema son todos aquellos programas necesarios para
que una computadora pueda operar. Los sistemas operativos son ejemplos
de programas de sistema.
Sistema Operativo
Un sistema operativo es un conjunto de programas que controlan todos los
recursos del sistema. Los sistemas operativos forman parte de los
programas del sistema (System Software – OS, Utilities, Translators). El
sistema operativo se puede describir como enlace (interface) entre los
programas de aplicaciones (software) y los dispositivos del sistema
(hardware). Sirve dos propósitos principales:
• Proveer un conjunto de funciones comúnes a la computadora
(funciones de I/O).
• Proveer independencia de los dispositivos (nuevo hardware).
Fase 2. Documentación
4. Corridas de prueba
5. Manual de usuario
Fase 3. Mantenimiento
Algoritmos (Algorithms)
Flujogramas (Flowcharts)
Indicadores de flujo
Start
COS(X)
N=X+Y
Condición
Read or Write
Stop
Input / Output
Terminal
Decisión
Proceso
Función
Conector
Programación Modular
Identificadores
Un identificador es cualquier combinación de letras, dígitos y subrayados
(underscore) seleccionados de acuerdo a las siguientes reglas:
Tipos de Datos
0 5 - 10 - 26351
Reales – los valores reales pueden tomar cualquier valor numérico positivo,
negativo o cero y con punto decimal. Algunos ejemplos de valores reales
son:
Variables
Ejemplos
Declaración de variables
Todas las variables tienen que ser declaradas antes de ser utilizadas. Las
variables se pueden declarar en dos lugares dentro de un programa:
Constantes
Entero 5 0
Caracter ‘A’ ‘n’
Real 5.25 3.14
String “El promedio es ” “Apellido Paterno”
Cualificador const
Operaciones de Asignación
Sum = 3 + 7; diff = 15 – 6;
Control del flujo – todos los operandos usados en una expresión tienen que
tener valores asignados antes de evaluar la expresión.
Variaciones de Asignación
Ejemplos: numero = 6
numero += 4 6 + 4 = 10 numero=10
numero *= 3 6 * 3 = 18 numero=18
Prefix ó Postfix
k = ++n; k = n++
Objeto cout
Un objeto de salida que envía los datos que se le dan al dispositivo de salida
estándar. Este objeto muestra en el monitor los datos que se le pasen
después del operador de inserción (<<). Los datos utilizados con el objeto
cout pueden ser strings, variables y valores literales.
Ejemplos:
Manipulador Acción
setw(n) Fijar el ancho del campo a n espacios
setprecision(n) Fijar la precisión de punto decimal a n sitios
setiosflags(flags) Fijar los indicadores (“flags”)
dec Fijar la salida para despliegue decimal
hex Fijar la salida para despliegue hexadecimal
oct Fijar la salida para despliegue octal
E jemplos:
Obliga todos los números con punto decimal subsiguientes que sean
pasados a cout, a ser mostrados con punto decimal y cuatro sitios
decimales.
Note que el manipulador de ancho del campo [setw() ] tiene que estar
incluído para cada ocurrencia de un número insertado en los datos que son
enviados al objeto cout y que el manipulador solamente aplica a los
próximos datos que le siguen inmediatamente. Además, en sus programas
que utilizarán manipuladores de salida, es indispensable incluir el archivo de
cabecera iomanip.h con la instrucción del preprocesador
#include<iomanip.h>.
Estilo de Programación
#include<iostream.h>
int main()
{
instrucciones del programa;
return 0;
}
Comentarios
Los comentarios son explicaciones hechas dentro del programa que sirven
para clarificar los programas y se pueden ubicar en cualquier parte del
programa sin afectar su ejecución. La computadora ignora todos los
comentarios. Los comentarios de linea comienzan con dos diagonales // sin
espacio entre ellas y continuan hasta el final de la linea. El final de la linea
marca el final del comentario. Los comentarios de bloque comienzan con
una diagonal seguida de un asterisco y sin espacio entre ellos /* y se cierran
con un asterisco seguido de una diagonal sin espacio entre ellos */.
Operaciones Aritméticas
Los números enteros y reales se pueden sumar, restar, multiplicar y dividir.
Las operaciones aritméticas simples consisten en un operador aritmético que
conecta dos operandos. (operando operador operando)
3+7
18 - 3
12.62 + 9.8
.08 * 12.2
12.6 / 2
Ejemplo: 5 * % 6 es incorrecto,
porque tiene los símbolos * y % están juntos.
Ejemplo: (6 + 4) / (2 + 3)
Ejemplo: (2 * (3 + 7) ) / 5
Ejemplo: (3 + 4) (5 + 1) es incorrecto;
la expresión correcta es (3 + 4) * (5 + 1)
Precedencia y Asociatividad
Precedencia Asociatividad
unario – derecha a izquierda
* / % izquierda a derecha
+– izquierda a derecha
Objeto cin
Se usa para entrar datos a un programa mientras se está ejecutando.
Permite al usuario entrar un valor al terminal (directamente del teclado). El
valor entrado por el usuario es almacenado directamente en una variable.
Al igual que el objeto cout, el objeto cin hace conversiones del tipo de datos.
56 22.879 33.923
Instrucción if
if (condición)
else
if (condición)
Condición
Operadores Relacionales
Operadores Lógicos
(voltage > 48) && (milliamp < 10) ! complete (i == j) || ((a < b) ||
complete
Ejemplo:
if (condición)
instrucción1;
instrucción2;
instrucción3;
… ;
else
instrucción4;
instrucción5;
instrucción6;
… ;
Ejemplo:
if (condición1)
if (condición2)
instrucción1;
else
instrucción2;
En general, se debe evitar el uso de if anidados en más de un nivel.
La instrucción switch
switch (expresión)
case valor_1:
instrucción1;
instrucción2;
… ;
break;
case valor_2:
instrucciónm;
instrucciónn;
…;
break;
.
case valor_n:
instrucciónw;
instrucciónx;
… ;
break;
default:
instrucciónaa;
instrucciónbb;
… ;
Estructuras de Repetición
Fixed count – la condición se utiliza para llevar cuenta del número de veces
que se repite el ciclo.
Variable condition – la condición no depende de un conteo. (interactivo)
break – obliga la terminación del ciclo; se puede utilizar con switch, while
y do-while.
Nested loops
Ciclo while
while (expresión)
Instrucción;
Ejemplo:
#include<iostream.h>
void main()
{
int Numero,Suma;
Suma = 0;
Numero = 1;
while (Numero <= 10)
{
Suma = Suma + Numero;
cout << Suma << endl;
Numero = Numero + 1;
}
}
Ciclo for
for (valor inicial; expresión; incremento)
Instrucción;
Ejemplo:
Escriba un programa para obtener la suma de los números pares entre 1 y
25. Los números pares se obtienen usando la función %. Por ejemplo si 50
% 2 es igual a 0 significa que 50 es par. El resultado de la función %
(módulo) es el residuo de la división. El programa tiene que escribir el
resultado de cada suma.
#include<iostream.h>
#include<math.h>
void main()
{
int Numero,Suma,Residuo;
Suma = 0;
for (Numero = 1;Numero < 26; Numero = Numero + 1)
{
Residuo = Numero % 2;
if (Residuo == 0)
{
Suma = Suma + Numero;
cout << Suma << endl;
}
}
}
Ciclo do-while
do
Instrucción;
while (expresión);
Ejemplo:
El siguiente programa en C++ recibe dos valores entrados por el usuario y
los almacena en las variables A y L respectivamente. Luego los muestra en
la pantalla y después los compara. Si los valores son distintos se muestra un
mensaje y se repite el ciclo. Si son iguales se muestra un mensaje y se
termina el ciclo.
#include<iostream.h>
void main()
{
int A,L;
do
{
cout << "Entre valor de A \n";
cin >> A;
cout << "A = " << A << endl;
cout << "Entre valor L \n";
cin >> L;
cout << "L = " << L << endl;
if (A == L)
cout << "Los valores son iguales" << endl;
else
cout << "Los valores son distintos" << endl;
}
while (A != L);
}
Modularidad y Uso de Funciones
#include <iostream.h>
int main()
{
int firstnum, secnum;
return 0;
}
void FindMax(int x, int y)
{ // start of function body
int maxnum; // variable declaration
return;
} // end of function body and end of function
Retorno de un Valor
La función invocada puede retornar a lo sumo un solo valor directamente.
Para retornar un valor, la función tiene que hacer uso de la instrucción
return. El formato de la instrucción return es como sigue:
return expresion;
Ejemplo:
#include <iostream.h>
#include <iomanip.h>
int main()
{
int num1, num2;
double resultado;
return 0;
}
// Funcion Suma
#include <iostream.h>
int main()
{
float firstnum, secnum;
return 0;
}
return;
}
Arreglos
Un arreglo de una dimensión es una lista de elementos relacionados del
mismo tipo de dato y que es almacenado con un nombre grupal. A un
arreglo de una dimensión también se le conoce como un “vector”.
float voltage[5];
#include <iostream.h>
int main()
{
const int MAXTEMPS = 5;
int i, temp[MAXTEMPS];
return 0;
}
Arreglos de Dos Dimensiones
8 16 9 52
3 15 27 6
14 25 2 10
es un arreglo de enteros en dos dimensiones con tres filas y cuatro
columnas. Para declarar un arreglo de dos dimensiones se tienen que
especificar el número de filas y el número de columnas.
Fila 0 8 16 9 52
Fila 1 3 15 27 6
Fila 2 14 25 2 10
http://bc.inter.edu/facultad/RFIGUEROA/Programming2.htm
Tipos de ciclos
2.2.1 for
sentencia;
Por ejemplo:
x=1; for
(x=1;x<=10;x++)
for (;x<=10;x++)
printf("su valor es %4d",x);
printf("su valor es %4d",x);
#include <stdio.h>
main()
{ int num;
for(num=1;num<=20;num++)
#include <stdio.h>
main()
int num,N;
scanf(“%d”,&N);
for(num=1;num<=N;num++)
2.2.2 do()-while
Tiene la forma :
do
sentencias
} while(expresión);
http://yaqui.mxl.uabc.mx/~aflores/nueva_pagina/apuntes/unidad2
Secuencias (strings, listas y tuplas)
Anterior Capítulo 9. Tutorial del lenguaje Python Siguiente
Todos los tipos de secuencias comparten el mismo modelo de acceso a sus elementos.
Para acceder a un elemento en concreto se utiliza la siguiente nomenclatura seq[i].
Dada una variable de tipo secuencia denominada seq, accedemos al elemento que
ocupa la posicion i. El esquema de numeración utilizado empieza en el 0 y finaliza en
el valor que defina la longitud de la secuencia menos 1.
Varios elementos (substrings) pueden ser obtenidos a la vez utilizando el operador
slice (trozo). La sintaxis para obtener un grupo de elementos es la siguiente:
secuencia[indice_inicial : indice_final]
Parece algo confuso pero la mejor forma de recordar como funciona el operador slice
es pensar que los indices apuntan realmente entre los caracteres.
+---+---+---+---+---+
| H | e | l | p | A |
+---+---+---+---+---+
0 1 2 3 4 5
-5 -4 -3 -2 -1
En la siguiente tabla se muestra una lista de operadores que se pueden utilizar con
todos los tipos de secuencias:
Strings
Para Python, las cadenas (strings) son un conjunto contiguo de caracteres encerrados
entre simples o dobles comillas.
Los strings son inmutables, no se puede alterar su valor a no ser que sean copiados a
otro objeto string.
La línea import string permite acceder a todos los métodos y atributos disponibles
para un tipo de dato string, siendo la línea cadena.upper() la forma de invocar al
método upper sobre el objeto string denominado cadena. Como resultado obtenemos
el string en mayúsculas.
find( sub[, start[, devuelve el índice menor donde se encuentra el substring sub
end]]) dentro del string
devuelve verdadero si todos los caracteres en el string son
isalnum()
alfanuméricos y existe al menos uno.
devuelve verdadero si todos los caracteres en el string son dígitos
isdigit()
y existe al menos uno.
lower() devuelve una copia del string convertido a minúsculas.
split([sep devuelve una lista de elementos del string utilizando como
[,maxsplit]]) separador sep.
Listas y Tuplas
Python posee varios tipos de datos para agrupar de una forma fácil diferentes valores.
El tipo de dato más versátil es la lista. Una lista es una colección de elementos
separados por comas y encerrados entre paréntesis. Los elementos de una lista no
tienen porque ser del mismo tipo.
Como ocurría con el tipo de datos string, los índices de una lista empiezan en el 0, y
pueden ser troceadas (sliced), concatenadas ...
A diferencia de los strings, que por definición eran inmutables, en una lista podemos
cambiar el valor de un elemento individual.
>>> lista
[1, 'dos', 3, 'cuatro']
>>> lista [2] = 'tres'
>>> lista
[1, 'dos', 'tres', 'cuatro']
Es posible también crear listas anidadas (listas cuyos elementos pueden ser otras
listas)