Você está na página 1de 12

CM-182 B

CMPUTACION Y ALGORITMOS I
PROF: Elias Gutierrez
Evaluacin:
P1: calificada
P2: calificada
P3: parcial
P4: calificada
P5: calificada
P6: final
Obs.: p3 y p6 no se eliminan
Algoritmo
Concepto:
Es un conjunto de instrucciones que especifican las secuencias de operaciones a realizar,
en orden, para resolver un problema.
Los algoritmos son independientes de los lenguajes de programacin y de la
computadora que lo ejecuta.
Caractersticas.
Debe ser preciso e indicar el orden de ejecucin de cada paso.
Debe de estar definido, si se ejecuta un algoritmo dos veces se debe tener el
mismo resultado.
Debe ser finito, se debe de terminar en algn momento.
Dato:
Es una expresin general que describe los objetos con los cuales opera una
computadora.
Existen dos tipos de datos:
Simple
Compuesto
Los datos simples pueden ser:
Numricos (integer, real)
Lgicos (boolean)
Carcter (char, string)
Identificador.
Es un conjunto de caracteres con las siguientes caractersticas:
Debe de empezar con una letra y no tener el carcter espacio en blanco.
Solo se puede emplear letras, dgitos y el carcter subrayado ( _ ).
Debe ser diferente de las palabras reservadas empleadas en un algoritmo.
Ejemplos:
COEF1, COF_2, C
RAIZ1, RAIZ_2, MAYOR, MENOR

No son identificadores:
1X, NOMBRES Y APELLIDOS, RAIZ@10, END, MOD, DIV, FOR
Constante.
Es un identificador valido cuyo valor no cambia durante el desarrollo del algoritmo o
durante la ejecucin del programa.
Formato: CONST
PI = 31416
G = 9.8
MAX = 20
Variable.
Es un identificador valido cuyo valor se puede cambiar durante el desarrollo del
algoritmo o ejecucin del programa.
Formato:
VAR N: integer
A, B, C: real
P: Boolean
CAD: CHAR
Las expresiones son combinaciones de constante, variables, smbolos de operacin,
parntesis y nombres de funciones especiales.
Operacin de asignacin
Es le modo de darle valores a una variable, se representa con un smbolo u operador .
Formato.
Nombre_varVALOR,
Donde VALOR puede ser una expresin, variable o constante.
Obs.: la accin de asignar es destructiva, ya que el valor que tuviera antes de la
asignacin se pierde y se remplaza por el nuevo valor.
Ejemplo:
X10
YX+10
YY+10
YX+Y
Y(Y-X)+2*X

(X=10)
(Y=20)
(Y=30)
(Y=40)
(Y=50)

Las acciones de asignacin pueden ser:


Aritmticas, lgicas y de caracteres.
Asignacin de tipo aritmtica.
Las expresiones en las operaciones de asignacin son aritmticas, y en las cuales se
utilizan los operadores:
+ , - , * , / , DIV , MOD .

Ejemplo:
17 DIV 3 = 5
17 MOD 3 = 2
ACUMULADOR:
Es una variable que permite sumar valores.
Formato: variable variable +expresin
Ejemplo1:
S
S S+5
S S+5*5
S S+5*5*5
Ejemplo2:
S
NUM 5
S S+NUM
NUM NUM*5
S S+NUM
NUM NUM*5
S S+NUM
CONTADOR.
Es un caso especial de un acumulador
Formato: variable variable +1
PRODUCTORIA
Es una variable que permite calcular un producto.
Formato: variable variable*expresin
Ejemplo:
P1
P p*3
P p*3
P p*3
ASIGNACION LOGICA
La expresin que se evala en la operacin es lgica.
Las variables lgicas pueden tomar tres valores: TRUE Y FALSE.
Las expresiones lgicas se forman combinando constates lgicas, variables lgicas y
otras expresiones utilizando los operadores lgicos: NOT, AND Y OR.
Y los operadores relacionales: =, <>, >, <, >=, <=.

Ejemplos
m5
n3
Fm>n
G (m <= n) or (m > 1)
ASIGNACION DE CARACTERES
La expresin que se evala es de tipo carcter.
Ejemplo
m 20
x el valor de m es :
1) y ingrese el valor de y:
z jorge + Juan
w 50
JERARAQUIA DE OPERADORES
OPERADOR
()
DIV, /, *, MOD, AND
+, -, OR
=, <>, >, <, <=, >=

PRIORIDAD
1
2
3
4

Obs.:
Operadores con igual prioridad se realiza la evaluacin de izquierda a derecha.
EBTRADA Y SALIDA DE INFORMACION
Las operaciones de entrada permite leer determinadas valores y asignarlas a
determinadas variables.
Formato: Leer (lista de variables)
Ejemplos
1) Leer(A)
Leer(B)
Leer(C)
2) Leer(A, B, C)
Las operaciones de salida permite escribir (mostrar/imprimir) los resultados obtenidos
en un algoritmo.
Formato: Escribir (lista de variable de salida)
Ejemplos
1) Escribir ( buenos das )
4

2) Escribir ( el valor de X es: x)


REPRESENTACION DE ALGORITMOS
I. DIAGRAMA NASSI-SCHNEIDERMAN (N-S) conocido como el diagrama de
chapin, es como un diagrama de flujo en el que se omiten las flechas de unin y
las cajas son contiguas.
Las acciones sucesivas se escriben en cajas sucesivas, y se pueden escribir varias
acciones en una caja.
Se reprenda de la forma
Nombre del algoritmo
Accin 1
Accin 2
:
:
:
Accion N
END.
II. PSEUDOCODIGO
Es un lenguaje de especificacin de algoritmos, es un medio para representar
bsicamente las estructuras de control de la programacin estructurada.
Utiliza las palabras reservadas: BEGIN, END, IF-THEN-ELSE, WHILE,
REPEAT-UNTIL, FOR-TO-DO, etc. En su escritura se exige identacin (sangra
margen izquierda) en sus diferentes lneas.

___________________________________________________________
___________________________________________________________
___________________________________________________________
________________________________________________________________
________________________________________________________________

EXTRUCTURAS BASICAS DE CONTROL


Las estructuras bsicas de control son:
1. ESTRUCTURAS SECUENCIALES
Asignacin
Leer (entrada)
Escribir (salida)
2. ESTRUCTURAS SELECTIVAS
Simples
Dobles
Mltiples
3. ESTRUCTURAS REPETITIVAS
While-Do
Repeat-Until

For-To-Do

1.
ESTRUCTURAS SECUENCIALES
Ejecuta las acciones sucesivamente unas a continuacin de otras sin omitir ninguna de
ellas.
La estructura secuencial tiene una entrada y una salida.
Si las acciones son: a1, a2, ., an, la representacin ser
EN N-S
Accin a1
Accin a2
Accin a3
:
:
:
Accin an
END.
EN PSEUDO CODIGO
begin
Accin a1
Accin a2
:
:
Accin an
End.
Ejercicios
1. escriba un algoritmo que lea dos nmeros y luego, calcule e imprima la suma y
el producto de dichos numeros.
Nota: joyanes fundamentos de programacin Melchor espinoza, programacin
en delphi
Solucion
Anlisis
Leer A,B
S=A+B
P=A.B
Escribir s,p
Algoritmo suma_producto
begin
leer(A)
6

leer(B)
SA+B
PA*B
Escribir(ala suma es: , S)
Escribir( el producto es: , P)
End.
En N-S
Algoritmo suma_producto
leer(A)
leer(B)
SA+B
PA*B
Escribir( la suma es: , S)
Escribir( el producto es: , P)
End.
2. dado los catetos de un triangulo restangulo, halle su hipotenusa. Escriba un
algoritmo que resulta lo anterio.
Solucion
Anlisis
gggg
Catetos de un

: a,b

Hipotenusa: c
Por Pitgoras: c2 = a2 + b2
c a 2 b2

Algoritmo Pitagoras
begin
leer(A)
leer(B)
csqrt(sqr(A)+sqr(B))
Escribir( los catetos son: , A, y , B)
Escribir( la hipotenusa es: , C)
End.
ESTRUCTURAS SELECTIVAS
Se utilaza para tomar decisiones lgicas y en funcin del resultado se realiza una opcin
u otra.
Pueden ser:
simples
compuestas
mltiples
SELECTIVA SIMPLE (IF-THEN)
7

La sentencia IF-THEN evala una condicin lgica y si la condicin es verdadera se


ejecuta la accin s1 y si la condicin es falsa no hace nada.
Su representacin en N-S es:
Condicin lgica

Verdadero

Falso

ACCION S1
Su representacin en Pseudos Cdigo es:
IF <condicin lgica>
THEN ACCION S1
END-IF
SELECTIVA DOBLE (IF-THEN-ELSE)
La sentencia IF-THEN-ELSE evala una condicin lgica. Y, si la condicin es
verdadera ejecuta la ACCION S1 y si la condicin es falsa ejecuta la ACCION S2
Su representacin en N-S es:
Condicin lgica

Verdadero
ACCION S1

Falso
ACCION S2

Su representacin en Pseudos Cdigo es:


IF <condicin lgica>
THEN ACCION S1
ELSE ACCION S2
END-IF
Ejercicios
1. escriba un algoritmo que lea tres nmeros enteros y, si el primero es un numero
negativo, calculo el producto de los tres en caso contrario calcule la suma de
ellos.
Anlisis
A, B, C
Si A<0 entonces Pa*b*c
Sino
Pa+b+c
En Pseudos Cdigo:
Algoritmo P_S

VAR
P, A, B, C: Integer
Begin
Leer(A)
Leer(B)
Leer(C)
IF A<0
THEN PA*B*C
ELSE PA+B+C
END_IF
Escribir ( los nmeros son: ,A ,B,C)
Escribir ( los valores pedidos es: ,P)
End.
2. Escriba un algoritmo que lea los valores reales de A, B, C, D, E y F, y resulta el
sistema:
Ax+By=C

Dx+Ey=F
Adems el algoritmo deber indicar los casos en que el sistema no tiene
solucin.
Anlisis
Ax+By=C

Dx+Ey=F
CE-BF
AF-CD
, y=

Sino si AF=CD entonces infinitas soluciones


Sino no existe solucion

Si =AE-BD0 entonces x=

Algoritmo Sist_ecuaciones
Begin
Leer(A,B,C)
Leer(D,E,F)
DELTAA*E-B*D
IF DELTA<>
THEN
x(C*E-B*F)/DELTA.
y(A*F-C*D)/DELTA
Escribir ( la solucion es : , x= ,x , y= ,y)
ELSE
IF(A*F-C*D= )
THEN Escribir ( el sistema tienen infinitas soluciones )
ELSE Escribir ( el sistema es inconsistente )
END_IF
END_IF
End.

3. escriba un algoritmo que ela tres numeros reales A, B y C, y que imprima la


raices de la ecuacin AX2+BX+C=0.
Anlisis
AX2+BX+C=0
=B2-4AC
SI 0 entonces X1 =
Sino X =
1

B+
2A

-B-
X2 =
2A

i X -B i
=

B+

2A
Algoritmo Ec_cuadartica

2A

Begin
Leer(A,B,C)
DISCB*B-4*A*C
IF DISC>=
THEN
X1(-B+SQRT(DISC))/(2*A)
X2(-B-SQRT(DISC))/(2*A)
Escribir ( las raices son : , X1= ,X1 , X2= , X2)
ELSE
RE-B/(2*A)
IMSQRT(-DISC)/(2*A)
Escribir ( las raices son : , RE, + IM, i , ,RE, - ,IM , i )
END_IF
End.
4. Escriba un algoritmo que lea dos numeros enteros y que imprima el mayor de
ellos.
Algoritmo Mayor1
Begin
Leer(A,B)
IF A>B
THEN
MayorA
ELSE
Mayor B
END_IF
Escribir ( el mayor es: ,mayor)
End.
5. Escriba un algoritmo que lea tres numeros enteros y que imprima el mayor de
ellos.
Algoritmo Mayor-tres
10

Begin
Leer(A,B,C)
IF A>=B
THEN
IF A>=C
THEN mayorA
ELSE mayorC
END_IF
ELSE
IF B>=C
THEN mayorB
ELSE mayorC
END_IF
END_IF
Escribir( el mayor es: ,mayor)
End.
6. dada la funcin U=f(x;y) tal que
10, si x. y 1

f ( x; y )

2
y , si x. y 1

y dada la funcion V=g(x;y) tal que


1, si x. y 1

g ( x; y )

2
y , si x. y 1
Escriba un algoritmo que calcule los valores de U y V, una ves conocida las
coordenadas de un punto (x;y)

Algoritmo U_V
Begin
Leer(x)
Leer(y)
IF X*Y<1
THEN U10
ELSE UX*Y
END_IF
IF X*Y<1
THEN U1
ELSE UX*Y
END_IF
Escribir( el valor de U es: ,U , el valor de Ves: ,V)
End.

11

12

Você também pode gostar