1 DE MAYO
INFORMTICA III
INTRODUCCIN A LA PROGRAMACIN
Contenido
I. Introduccin a la programacin
1.1 Definicin de algoritmo
1.2 Lenguajes de programacin (Lenguaje mquina, ensamblador y de alto nivel)
1.3 Traductores de lenguaje
1.4 Definicin de programa
1.5 Diagrama de flujo (Representacin grfica)
1.6 Pseudocdigo
1.7 Lenguaje algortmico
1.8 Metodologa de solucin
1.9 Prueba de un algoritmo (Ejemplos)
I. Introduccin a la programacin
1.1 Definicin de algoritmo
Un algoritmo es una secuencia de pasos lgicos necesarios para llevar a cabo una
tarea especfica, como la solucin de un problema. Los algoritmos son independientes
tanto del lenguaje de programacin en que se expresan como de la computadora que
los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente
de programacin y ejecutarse en una computadora distinta; sin embargo el algoritmo
ser siempre el mismo.
Por ejemplo en una analoga con la vida diaria, una receta de un plato de cocina se
puede expresar en espaol, ingles o francs, pero cualquiera que sea el lenguaje, los
pasos para la elaboracin del plato se realizaran sin importar el cocinero.
Los pasos a seguir en la solucin de una ecuacin de segundo grado.
Los pasos matemticos para la solucin de un nmero factorial.
Las instrucciones para la liquidacin de una nomina.
Las acciones que se deben seguir para la obtencin de una estadstica.
Para llegar a la realizacin de un programa es necesario el diseo previo de un
algoritmo, de modo que sin algoritmo no puede existir un programa.
Caractersticas de los algoritmos
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realizacin 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 algn
momento; o sea debe de tener un nmero finito de pasos.
La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
En el algoritmo citado anteriormente se tendr:
Entrada ingredientes y utensilios empleados
Proceso elaboracin de la receta de cocina
Salida terminacin del plato (por ejemplo, cordero)
Un algoritmo exige que se tengan varias propiedades importantes:
Los pasos de un algoritmo deben ser simples y exentos de ambigedades (diferentes
significados), deben seguir un orden cuidadosamente prescrito, deben ser efectivos y
deben de resolver el problema en un nmero finito de pasos.
El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.
Prof. Mnica Barrientos
Compiladores
Un compilador es un programa que traduce los programas fuente escritos en lenguajes
de alto nivel a lenguaje mquina.
Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman
programas fuente y el programa traducido programa objeto o cdigo objeto. El
compilador traduce (sentencia a sentencia) el programa fuente.
Lenguajes compiladores tpicos son: PASCAL, COBOL, C..
Fases de la compilacin
La compilacin es el proceso de la traduccin de programas fuente a programas objeto.
El programa objeto obtenido de la compilacin no ha sido traducido normalmente a
cdigo mquina sino a ensamblador. Para conseguir el programa mquina real se debe
utilizar un programa llamado montador o enlazador (linker). El proceso de montaje
conduce a un programa en lenguaje mquina directamente ejecutable:
Por ejemplo:
El proceso de ejecucin de un Programa en C++ tiene los siguientes pasos:
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 (un disco).
Introducir el programa fuente en memoria.
Compilar el programa con el compilador C++.
Verificar y corregir errores de compilacin (listado de errores).
Obtencin del programa objeto.
El montador obtiene el programa ejecutable.
Se ejecuta el programa y si no existen errores, se tendr la salida del mismo.
El anlisis del problema exige una lectura previa del problema a fin de obtener una idea
general de lo que se solicita. La segunda lectura deber servir para responder a las
preguntas:
Qu informacin debe proporcionar la resolucin del problema?
Qu datos se necesitan para resolver el problema?
La respuesta a la primera pregunta indicar los resultados deseados o las salidas del
problema. La respuesta a la segunda indicar qu datos se proporcionan o las
entradas del problema.
2. - Pseudocdigo o diagrama de flujo (algoritmo)
Una computadora no tiene la capacidad para solucionar problemas ms que cuando se
le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las
instrucciones a ejecutar por la mquina constituyen, como ya conocemos, el algoritmo.
Prof. Mnica Barrientos
Pseudocdigo
Inicio
{Calculo del promedio de calificaciones}
Leer Cal1, Cal2, Cal3, Cal4
Prom (Cal1+Cal2+Cal3+Cal4)/4
Escribir ("Resultado final es", Prom)
Fin
Ejemplo No. 2
En cierto curso de computacin, la calificacin final del estudiante se determina a partir
de su rendimiento en tres aspectos del trabajo anual. Existe una calificacin de la mitad
del curso, que cuenta un 30% del total; el trabajo de laboratorio que lleva una
calificacin, cuenta un 20% del total; y el examen final, cuenta el 50% restante.
Disee un algoritmo que, dadas las calificaciones individuales, calcule la calificacin
final, escriba la salida final proporcionando el nombre del estudiante, sus calificaciones
individuales y la calificacin final. La variable se llama Final.
Anlisis del problema
Calcular la calificacin final a partir de las calificaciones parciales
Entrada: Lectura del nombre del estudiante, calificacin del laboratorio, calificacin de
mitad del curso, calificacin del examen final.
Salida: Nombre del estudiante, las tres calificaciones obtenidas y el promedio final, con
comentarios correspondientes.
Solucin del problema
Prof. Mnica Barrientos
Ejemplo No. 4
Escribir un algoritmo para calcular el rea de un tringulo dada la base y la altura.
Solucin:
Anlisis
Prof. Mnica Barrientos
Fundamentos
Contenido
II. - Fundamentos
2.1. - Tipos de datos
2.2 Constantes y Variables
2.3 Asignacin
2.4 Conversin de tipos
2.5 Expresiones
2.6 Modificacin de un valor almacenado
2.7 Precedencia de los operadores
2.8 Evaluacin de las expresiones
2.9 Funciones internas
2.10 Entradas y salidas
2.11 Estructuras fundamentales de control
A5
La operacin de asignacin:
Significa que a la variable A se le ha asignado el valor 5.
La accin de asignar es destructiva, ya que el valor que tuviera la variable antes de la
asignacin se pierde y se reemplaza por el nuevo valor.
As en la secuencia de operaciones
A 25
A 134
A5
Cuando stas se ejecutan, el valor ltimo que toma A ser 5 (los valores 25 y 134 han
desaparecido).
Las acciones de asignacin se clasifican segn sea el tipo de expresiones en:
aritmticas, lgicas y de caracteres.
Asignacin aritmtica
Las expresiones en las operaciones de asignacin son aritmticas:
AMN 3+14+8
Se evala la expresin 3+14+8 y se asigna a la variable AMN, es decir, 25 ser el valor
que toma AMN
TER1 14.5*8
TER2 0.75*3.4
MEDIA TER1/TER2
Se evalan las expresiones 14.5 +8 y 0.75 * 3.4 y en la tercera accin se dividen los
resultados de cada expresin y se asigna a la variable MEDIA, es decir, las 3
operaciones equivalen a MEDIA
(14.5 + 8) / (0.75 * 3.4)
Otro ejemplo donde se puede comprender las modificaciones de los valores
almacenados en una variable es el siguiente:
A 0 la variable A toma el valor de 0
N 0 la variable N toma el valor de 0
A N+1 la variable A toma el valor de 0+1, es decir 1
El ejemplo anterior se puede modificar para considerar la misma variable en ambos
lados del operador de asignacin:
N2
N N+1
En la primera accin N toma el valor 2 y en la segunda se evala la expresin N + 1,
que tomar el valor 2 + 1 = 3 y se asignar nuevamente a N que tomar el valor 3.
Asignacin lgica
La expresin que se evala en la operacin de asignacin es lgica.
Supngase que M,N y P son variables de tipo lgico.
M8<5
N M o (7<=12)
P7>6
tras ejecutar las operaciones anteriores, las variables M, N y P tomarn los valores
falso, verdadero, verdadero.
Asignacin de caracteres
La expresin que se evala es de tipo caracter.
X ' 12 de octubre de 1972'
Prof. Mnica Barrientos
Aqu los parntesis indican el orden de clculo y el smbolo representa la funcin raz
cuadrada.
Cada expresin toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecucin de las operaciones indicadas.
Una operacin consta de operandos y operadores. Segn sea el tipo de objetos que
manipulan, se clasifican las expresiones en:
- aritmticas (var y const real o entera)
- relacionales (verdadero y falso)
- lgicas
- caracter
El resultado de la expresin aritmtica es de tipo numrico; el resultado de una
expresin relacional y de una expresin lgica es de tipo lgico; el resultado de una
expresin caracter es de tipo caracter.
- Expresiones aritmticas
Las expresiones aritmticas son anlogas a las formulas matemticas. Las variables y
constantes son numricas (real o entera) y las operaciones son las aritmticas.
+
Suma
-
Resta
Multiplicacin
Divisin
, **, ^
Exponenciacin
Div
Divisin entera
mod
Mdulo (residuo)
Los smbolos +, -, *, ^, ** ... y las palabras clave div y mod se conocen como
operadores aritmticos.
En la expresin 5 + 3
los valores 5 y 3 se denominan operandos. El valor de la
expresin 5 + 3 se conoce como resultado de la expresin.
Los operadores se utilizan de igual forma que en matemticas.
Operadores aritmticos
Operador
Significado
Tipos de operandos
Tipo de resultado
, ^, **
Exponenciacin
Entero o real
Entero o real
Suma
Entero o real
Entero o real
Resta
Entero o real
Entero o real
Prof. Mnica Barrientos
Divisin
Real
Real
div
Divisin entera
Entero
Entero
mod
Mdulo (resto)
Entero
Entero
Ejemplo:
Significado
<
menor que
>
mayor que
Igual que
<=
menor o igual a
Prof. Mnica Barrientos
mayor o igual a
<>
Distinto de
N2
Expresin lgica
Resultado
3<6
verdadero
0>1
falso
4=2
falso
8<=5
falso
9>=9
falso
5<>5
falso
Expresin lgica
Significado
no ( not )
no p ( not p )
Negacin de p
y ( and )
p y q ( p and q )
Interseccin de p y q
o(o)
poq(poq)
unin de p y q
Resultado
Observaciones
(1 > 0) y (3 = 3)
Verdadero
no PRUEBA
Falso
(0 < 5) o (0 > 5)
Verdadero
(5 < = 7) y (2 > 4)
Falso
no (5 < > 5)
Verdadero
(nmero = 1) o (7 > = 4)
Verdadero
Al igual que en las expresiones aritmticas, los parntesis se pueden utilizar y tendrn
prioridad sobre cualquier operacin.
Prof. Mnica Barrientos
Algoritmos Computacionales
Estructuras de decisin
Contenido
III. - Estructuras de decisin
3.1 Seleccin de alternativas
3.2 La construccin if-then-else
3.3 Ifs anidados
3.4 Condiciones compuestas
III.- Estructuras de decisin
3.1 Seleccin de alternativas
La unidad aritmtica y lgica es uno de los componentes ms importantes de una
computadora tpica. El propsito de la unidad aritmtica es el manejo de las
operaciones aritmticas; la porcin lgica da a la computadora la capacidad de tomar
decisiones. Esto forma la base de la construccin algortmica if-then-else (si-entoncesde lo contrario), la que permitir la seleccin de acciones alternativas.
Una decisin se especifica en una expresin lgica de la misma forma en que una
operacin de clculo se especifica en una expresin numrica.
Por ejemplo:
Suponga que tiene dos variables numricas, denominadas A y B, que tienen valores
diferentes, y suponga que desea imprimir el valor de la ms grande. Si A es mayor que
B, debe imprimir el valor de A; pero, por otro lado, si B es mayor que A, debe imprimirse
el valor de B. La eleccin de que alternativa tomar depende de la decisin de si la
variable A es o no mayor que B. Esta estructura se representa mediante el diagrama
siguiente:
los
las
en
Se
Ejemplo:
Calcular la suma de los N primeros enteros
Inicio
Leer I, S, N
S0
desde I = 1 hasta N hacer
S=S+1
fin_desde
escribir "suma = ", S
fin
Ejemplo:
Calcular el factorial de un nmero N utilizando la estructura desde
El factorial de N responde a la frmula:
N! = N * (N-1) * (N-2) * (N-3), . . . , 3 * 2 * 1
Inicio
leer N
Factorial 1
II-1
Prof. Mnica Barrientos