Sei sulla pagina 1di 143

Unidad Educativa

Santa Lucia

Fundamentos de Programación

Anl. Sist. Daniel Villamar Avilés


Computadora

 Computadora: "Máquina capaz de procesar información a


muy alta velocidad“[2].
 Dispositivo electrónico para procesar información y
obtener resultados. Los datos la información se pueden
introducir en la computadora por la entrada(input) a
continuación se procesan para producir una salida
(output) resultados. Vea siguiente figura [1]
[1]
Organización de una computadora
Organización física de una computadora
Organización física de una computadora
Dispositivos de Entrada/Salida
Periféricos
Hardware/Software

 Hardware. Son las partes tangibles internas y externas que


conforman el equipo de cómputo.

 Software. Es software es la parte intangible del equipo.


Son programas compuestos por instrucciones y datos, que
permiten dar instrucciones al equipo y ejecutar acciones
para obtener resultados.
HARDWARE

 Memoria
Memoria Primaria o RAM

 Conocida como real o primaria, es


normalmente volátil. Memoria interna de la
computadora que permite almacenar datos
y programas, que cuenta con direcciones
accesibles por los programas y que pueden
cargarse en los registros para su posterior
ejecución o procesamiento
Software

Lenguajes de Programación
Programas
Sistemas
Unidades de medidas de almacenamiento
Unidad central de procesos o cpu

Dirige y controla el proceso de


información realizado por la
computadora.
Procesador
El microprocessor

Es el cerebro de la computadora.
Procesa la Información
Controla la operación de la
computadora
Controla el procesamiento de
los datos
Si es uno es CPU (central
Process Unit)
Memoria Secundaria
Memorias sec. internas y externas
COMPUTADORA PERSONAL
Representación de la información
representación de texto

Los caracteres que se utilizan en computación suelen agruparse en


cinco categorías:

1. Caracteres alfabéticos (letras mayúsculas y minúsculas, en una


primera versión del abecedario inglés).
A, B, C, D, E, ... X, Y, Z, a, b, c, ... , X, Y, Z

2. Caracteres numéricos (dígitos del sistema de numeración).


0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sistema decimal
Representación de la información
representación de texto

3. Caracteres especiales (símbolos ortográficos y matemáticos no


incluidos en los grupos ante- riores).
{ } Ñ ñ ! ? & > # ç ...

4. Caracteres geométricos y gráficos (símbolos o módulos con los


cuales se pueden representar cuadros, figuras geométricas, iconos, etc.
— — | | | ♠ 􏰀 ...
5. Caracteres de control (representan órdenes de control como el
carácter para pasar a la siguien- te línea [NL] o para ir al comienzo de una
línea [RC, retorno de carro, «carriage return, CR»] emitir un pitido en el
terminal [BEL], etc.).
Representación de la información
representación de texto

Los códigos más utilizados en la actualidad son: EBCDIC, ASCII y Unicode.

Código EBCDIC (Extended Binary Coded Decimal Inter Change Code). Este
código utiliza n = 8 bits de forma que se puede codificar hasta m = 28 = 256
símbolos diferentes.
Código ASCII (American Standard Code for Information Interchange).
El código ASCII básico utiliza 7 bits y permite representar 128
Código Unicode. Este código utiliza un patrón único de 16 bits para representar
cada símbolo, que permite 216 bits o sea hasta 65.536 patrones de bits
(símbolos) diferentes.
1. Sistemas numéricos 1/24
Sistemas de numeración y cambio de base

Un sistema de numeración en base b utiliza para representar los números un alfabeto


compuesto por b símbolos o cifras
Ejemplos:
b = 10 (decimal) {0,1,2,3,4,5,6,7,8,9}
b = 16 (hexadecimal) {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
b = 2 (binario) {0,1}
El número se expresa mediante una secuencia de cifras:
N  ... n4 n3 n2 n1 n0 n-1 n-2 n-3 ...
El valor de cada cifra depende de la cifra en sí y de la posición que ocupa en la
secuencia
1. Sistemas numéricos 2/24
Sistemas de numeración y cambio de base 2/4

El valor del número se calcula mediante el polinomio:


N  ...+ n3·b3 + n2·b2 + n1·b1 +n0· b0 +n-1·b-1 ...

N   n ·b
i
i
i

Ejemplos:
3278,5210 = 3 · 103 + 2 · 102 + 7 · 101 +
+ 8 · 100 + 5 · 10-1 + 2 · 10-2

175,3728 = 1· 82 + 7 · 81 + 5 · 80 + 3 · 8-1 +
+ 7 · 8-2 + 2 · 8-3 = 125,488281210
1. Sistemas numéricos 3/24
Sistemas de numeración y cambio de base 3/4
Conversión decimal - base b

Método de divisiones sucesivas entre la base b


Para números fraccionarios se realizan multiplicaciones sucesivas por la base b.
Consideración de restos mayores que 9 y Error de truncamiento

Ejemplos:

2610 = 110102

0,187510 = 0,00112

26,187510 = 11010,00112
1. Sistemas numéricos 4/24
Sistemas de numeración y cambio de base 4/4
Rango de representación: Conjunto de valores representable. Con n cifras en la base b
podemos formar bn combinaciones distintas. [0..bn-1]

Sistema de numeración en base dos o binario


b = 2 (binario) Decimal Binario
{0,1} 0 000
1 001
Números binarios del 0 al 7 2 010
3 011
4 100
5 101
6 110
Ejemplos: 7 111
1101002 = (1· 25) + (1· 24) + (1 · 22) =
= 25 + 24 + 22 = 32 + 16 + 4 = 5210
0,101002= 2-1 + 2-3 = (1/2) + (1/8) = 0,62510
10100,0012 = 24 + 22 + 2-3 = 16 + 4 +(1/8)
= 20,12510
1. Sistemas numéricos 5/24
Aritmética binaria

Operaciones básicas

A B A+B A B A*B
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 (1) 1 1 1

A B A–B A B A/B
0 0 0 0 0 --
0 1 1 (1) 0 1 0

1 0 1 1 0 --

1 1 0 1 1 1
1. Sistemas numéricos 6/24
Aritmética binaria 2/2
Ejemplos
Sumas y restas

Multiplicaciones

División
1. Sistemas numéricos 7/24
Sistemas de codificación y representación de números

Octal
b = 8 (octal) {0,1,2,3,4,5,6,7}
Correspondencia con el binario
8 = 23  Una cifra en octal
corresponde a 3 binarias
Ejemplos
10001101100.110102 = 2154.648
537.248 = 101011111.0101002
Conversión Decimal - Octal

760.3310  1370.25078
1. Sistemas numéricos 8/24
Sistemas de representación y codificación de números 2/18
Hexadecimal
b = 16 (hexadecimal)
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,}
Correspondencia con el binario
16 = 24  Una cifra en hexadecimal
corresponde a 4 binarias
Hexadecimal Decimal Binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
1. Sistemas numéricos 9/24
Sistemas de representación y codificación de números 3/18

Ejemplos
10010111011111.10111012 = 25DF.BAH

Conversión Decimal - Hexadecimal


4373.7910  1115.CA3D16

4373 16
117 273 16
53 113 17 16
5 1 1 1
1. Sistemas numéricos 12/24
Sistemas de representación y codificación de números 6/18
Código BCD - Binary Coded Decimal
Dígitos decimales codificados en binario
Decimal BCD natural BCD exceso 3 BCD Aiken BCD 5421
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1
2 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
3 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0
6 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1
7 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0
8 1 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1
9 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 0

BCD natural tiene pesos 8421

BCD Aiken tiene pesos 2421

Ejemplo
9 8 3 2 510 = 1001 1000 0011 0010 0101BCD-natural

9 8 3 2 510 = 1111 1110 0011 0010 1011BCD-Aiken


1. Sistemas numéricos 13/24
Sistemas de representación y codificación de números 7/18
Representación de números enteros
Es necesario la representación del signo
Se utiliza una cantidad determinada de bits (n)
Signo y magnitud (SM)

El signo se representa en el bit más a la izquierda del dato. Bit (n-1)


En el resto de los bits se representa el valor del número en binario natural. Bits (n-
2)..0
Doble representación del 0.
n=6
1010 = 001010SM -410 = 100100SM

010 = 000000SM 010 = 100000SM

n=4

-710 = 1111SM -1410 = no representable


1. Sistemas numéricos 14/24
Sistemas de representación y codificación de números 8/18
Complemento a la base menos uno
Los valores positivos se representan en SM.
Los valores negativos se obtienen restando la magnitud del número a la base menos
uno.
Convierte las restas en sumas.
Doble representación del 0.
n=3 -6310 = 936C9  936 = 999 - 63
Ejemplos Base 10
-1610 = 983C9  983 = 999 - 16
n=4 -1610 = 9983C9  9983 = 9999 - 16

Operación: 77 - 63
077C9
77 +
936C9
-63
(1)013
14 + 1
014C9
1.1 Lenguaje de Programación
cuaderno -_-
¿Que es un lenguaje de programación?

 Es un lenguaje formal diseñado para


realizar procesos que pueden ser llevados a cabo
por máquinas como las computadoras.

 Los leguajes de programación sirven para escribir


programas que permitan la comunicación
usuario/máquina.
1.2 Programas

 El software (los programas) son una serie de


instrucciones que indican las operaciones que
debe realizar el hardware.

 El software se divide en dos grandes grupos:


software del sistema y software de aplicaciones.
 Software de Sistema
Conjunto de programas indispensables para que la
máquina funcione se denominan programas del sistema,
por ejemplo el sistema operativo.
 Software de Aplicaciones
Son desarrollados para realizar una utilidad específica,
por ejemplo, editores, hojas de cálculo, antivirus, etc.
Clasificación de Lenguajes de Programación

Por su Nivel de abstracción


Por su Ejecución
Por su Paradigma
Por Nivel de abstracción

 Bajo Nivel
Máquina (0,1) y ensamblador (ADD,MOV)
 Mediano Nivel
C
 Alto Nivel
C, C++,Java, C#, Visual Basic, etc.
Por su forma Ejecución

Lenguajes Compilados

Lenguajes Interpretados
Compilados (compiladores)

 Antes de poder utilizarse el programa debe


utilizarse un traductor llamado “compilador” que
se encarga de traducir (“compilar”) el programa
original (“código fuente”) al programa
equivalente escrito en lenguaje de máquina o
ensamblador (“binario”). Los binarios son los
programas ejecutables y los únicos necesarios
para el funcionamiento del programa.
Interpretados (intérprete)

 Cada vez que se usa el programa debe


utilizarse un traductor llamado “intérprete”
que se encarga de traducir (“interpretar”) las
instrucciones del programa original (“código
fuente”) a código máquina según van siendo
utilizadas. Para el funcionamiento del
programa siempre es necesario disponer del
código original y del intérprete.
Interpretados (intérprete)
Por su Paradigma

 Un paradigma de programación representa


un enfoque particular o filosofía para la
construcción del software. Si bien puede
seleccionarse la forma pura de estos
paradigmas a la hora de programar, en la
práctica es habitual que se mezclen, dando
lugar a la programación multi-paradigma.
1.3 Técnicas de Programación
Técnicas de Programación

1) Modular
2) Descendente o Top Down
3) Estructurada
1.4 Proceso para el desarrollo de
programas y algoritmos
Proceso de desarrollo de programas

Diseño
Planteamiento Análisis
Pruebas

Desarrollo
Mantenimiento Implantación Codificación y
pruebas
Fases en la resolución de problemas
(Joyanes)

Codificación,
Diseño del
Análisis compilación y
algoritmo
ejecución

Mantenimiento
y Depuración Verificación
documentación
Metodología de la programación

 La metodología necesaria para resolver problemas


mediante programas.
 Su eje central es el algoritmo.
 Es el conjunto de métodos, principios y reglas que
guían al desarrollo sistemático de soluciones
(programas) a problemas algorítmicos.
1.5 Metodología para el diseño de algoritmos
Algoritmo

 Esun método para resolver problemas


mediante una serie de pasos precisos,
definidos y finitos. El término
proviene de la traducción al latín de
Mohammed AlKhôWarîzmi matemático
y astrónomo árabe del siglo
IX.(Joyanes,2008)
Algoritmo

“Formalmente se define un algoritmo


como un conjunto de pasos,
procedimientos o acciones que nos
permiten alcanzar un resultado o
resolver un problema” (Cairó,2005)

Término usado en matemáticas, ciencias de la computación, y disciplinas


relacionadas
según el diccionario de la Real
Academia, “es una secuencia o conjunto
ordenado de operaciones o pasos que
permite hallar la solución de un
problema”.
Características de un algoritmo

 Preciso o concreto e indicar el orden de


realización de cada paso.
 Definido. Si se sigue n veces da el mismo
resultado.
 Finito.Deber terminar en algún momento,
no. finito de pasos.
Algoritmia (UCC)

 Ciencia que trata del estudio de los algoritmos.

 Ciencia que nos permite evaluar el efecto que


tienen diferentes factores externos sobre los
algoritmos disponibles, de tal modo que sea
posible seleccionar el que más se ajuste a
nuestras circunstancias particulares.
Padres de la algoritmia (Joyanes,2008)

 El término algoritmo proviene de la traducción al latín de


Mohammed AlKhôWarîzmi matemático y astrónomo árabe
del siglo IX que alcanzó gran reconocimiento por enunciar
las reglas paso a paso para operaciones aritméticas
básicas (+,-,*,/) para números decimales.

 Euclides, gran matemático griego que desarrolló un


método para encontrar el máximo común divisor de dos
números
Resolución de problemas

Joyanes

Diseño del Programa de


Problema
algoritmo computadora
Etapas en el desarrollo de un algoritmo
(Baeza)
Fase de análisis

 Enésta etapa de análisis del proceso de


programación se determina QUE HACE el
programa.

En ésta fase se analiza el problema y se


especifica lo más detalladamente las
especificaciones (requisitos)
Conceptos: Ing. Software, Ing. de
Requisitos
Requisitos (en sistemas)

 Los requisitos determinan lo que hará el sistema (cómo


funcionará)
 Restricciones sobre su operación e implementación
 La elicitación, análisis y especificación de los requisitos es
el proceso de estudio de las necesidades de los usuarios
para llegar a una definición de los requisitos del sistema.
Definición del problema. Responder:

 ¿Queentradas se requieren ?(tipo y


cantidad)
 ¿Cual es la salida deseada ?(tipo y cantidad)
 ¿Qué método produce la salida deseada?
Partes de un algoritmo

La definición de un algoritmo debe describir


tres partes: Entrada, Proceso y Salida.

En el algoritmo para una receta de cocina se tendrá:

Entrada. Ingredientes y utensilios


Proceso: elaboración de la receta de cocina
Salida: terminación del platillo
Ejer. Equipo. Determine la entrada, proceso y
salida en forma gral. para los siguientes
sistemas:
 Venta de boletos de avión
 Manejador de correo electrónico
 Control escolar
 Cajero automático
 Consulta médica
Fase de Diseño

 Enésta etapa de diseño del proceso de


programación se determina CÓMO HACE el
programa la tarea solicitada.
Métodos eficaces para el diseño

 Los métodos más eficaces se basan en la


estrategia divide y vencerás.
 La resolución del problema complejo se realiza
dividiendo el problema en subproblemas y a su
vez éstos en otros de nivel más bajo, hasta que
pueda ser implementada una solución en la
computadora. Éste método se conoce como
diseño descendente (top –down ) o modular.
Estrategia divide y vencerás
Refinamiento sucesivo

 Esel proceso de romper el problema en


cada etapa y expresar cada paso en forma
más detallada.
Ejercicio. Elija uno de los 5 ejercicios previos
y defina los pasos en forma detallada.
Las estructuras desde los dos puntos de vista se
representan de la siguiente forma:

El diseño descendente se representa así:


 Cada subprograma es resuelto mediante un
módulo (subprograma) que tienen un solo punto
de entrada un solo punto de salida.
 Un programa principal (el módulo de más alto
nivel) llama a subprogramas (módulos de nivel
más bajo) que a su vez pueden llamar a otros
subprogramas. Se dice que tienen un diseño
modular y su programación es programación
modular.
Ejercicio. Del ejercicio anterior divídalo
en módulos específicos.

 Identifiquepor cada módulo punto(s)


de entrada, acciones o pasos (proceso)
y salida.
 Realice un diagrama jerárquico de los
módulos
Módulos (subprograma)

Los módulos pueden ser:


 Planteados

 Codificados

 Comprobados

 Depurados

Independientemente, incluso por diferentes


programadores y combinarlos entre si.
Proceso

1. Programar un módulo
2. Comprobar el módulo
3. Depurar el módulo (si es necesario)
4. Combinar el módulo con los anteriores.
Diseño del algoritmo

 Al proceso que convierte los resultados del


análisis del problema en un diseño modular
con refinamientos sucesivos que permiten
una posterior traducción a un lenguaje se
denomina diseño del algoritmo.
(Es independiente del lenguaje de programación en el que
se vaya a codificar)
Recordemos:  El proceso implica la ejecución
de los siguientes pasos hasta
que el programa se termina:
 Los módulos pueden ser
planeados, codificados, 1. Programar un modulo.
comprobados y depurados 2. Comprobar el modulo.
independientemente y a 3. Si es necesario, depurar el
continuación combinarlos entre modulo.
si.
4. Combinar el modulo con
los módulos anteriores.

El proceso que convierte los resultados del análisis del problema en


un diseño modular con refinamientos sucesivos que permitan una
traducción posterior a un lenguaje se denomina diseño del
algoritmo.
1.6 Herramientas de diseño

 Pseudocódigo
 Diagramasde Flujo
 Diagramas Nassi-Schneiderman (NS)
Pseudocódigo. En esencia, el pseudocódigo
se puede definir como un
Es una herramienta de lenguaje de especificaciones
de algoritmos.
programación en la
que las instrucciones
se escriben en palabras Las palabras reservadas
similares al ingles o básicas se representan en
letras negritas minúsculas.
español, que facilitan
tanto la escritura como
la lectura de
programas.
Entrada/
Terminal
Salida Un diagrama de flujo (flowchart) es
una representación grafica de un
algoritmo.
Subprograma

Los símbolos utilizados han sido


Decisión
No normalizados por el Instituto
Norteamericano de Normalización
Proceso (ANSI), y los mas frecuentemente
empleados se muestran en la figura
2.2.
Si

Conectore
s
Figura 2.2. símbolos mas utilizados en
los diagramas de flujo. (Aguilar, 2008).
Software para diagramas de flujo
(ejemplos)

 PSeInt
 DFD
 Raptor
Pseudocódigo en PSeInt
Pseudocódigo en PSeInt (subprogramas)
Diagrama de flujo en DFD
Ejemplo diagrama Nassi-Schneiderman
Simbología de Diagramas de Flujo
Pseudocódigo. Palabras clave

El algoritmo empieza con la palabra inicio y termina con la


palabra fin.
1.7 Tipos de datos

 Simples (ocupan una casilla)


 Numéricos (enteros, reales)
 Lógicos (booleanos)
 Carácter
 Enumerados (no en todos los leng.)
 Estructurados
 Arreglos, cadenas de caracteres, registros,
archivos, apuntadores
Ejemplos
 Numéricos:
 Enteros: 1512 9 -543 1676 -14789

 Reales: 67.0 -73.568 16000.54 -15.1416

 Alfanuméricos
caracteres:
‘A’ ‘c’ ‘$’ ‘@’ ‘!’ ‘Á’
Cadenas:
“Av. Del Charro” “Jorge Volpi” “688-48-00” “$9#7”
 Lógicos
booleanos (verdadero, falso) (true,false)

Ejercicio: Tomando en consideración los


datos que se desean guardar a continuación,
identificar el tipo de dato adecuado.
Determine el tipo adecuado
Entero Real Carac- Cadena booleano Enumera- Arreglo Registro
ter do

Clave
Costo
Matrícula

colores
impuesto

Activo
Fecha
inscrito
Entero Real Carac- Cadena booleano Enumera- Arreglo Registro
ter do

Estatura
Sexo
Datos-
libro
CP
Dirección

Precio
Edo(1/0)
Días de la
semana
1.8 Identificadores, constantes,
variables
 Identificadores (casillas de memoria accesibles por identificador)
 Reglas para identificadores:
Iniciar con una letra
continuar con letras (a..Z )o números (0..9) o _
Identificador descriptivo, corto (longitud)
No espacios ni símbolos especiales (#,!,$...), palabras
reservadas del diseño o lenguaje
(if, while, inicio, begin, …), Ñ,ñ
Constantes

 Datosque no cambian su valor durante


la ejecución de un programa pueden
ser de cualquier tipo de dato. Se
recomienda identificarlas con
mayúsculas para su fácil distinción.
Constantes con nombre (simbólica)

BASE ERROR PI SIGLAS


5 “ Se generó un error” 3.1416 “UACJ”

IVA
Nombres representativos de su función
0.16

Constantes sin nombre (literal)


100 0 1 999
Variables

 Datosque pueden cambiar su valor


durante la ejecución de un programa
pueden ser de cualquier tipo de dato.
Se recomienda identificarlas con
minúsculas y unir palabras con guion
bajo. Cada palabra puede iniciar con
mayúscula.
Nombres representativos de su función

costo edad Nombre


99.30 18 “Manuel Gómez Morín”

Sucursal Contador Acumulador telefono


‘A’ 0 0 “ 6-88-48-00”

Edo bandera Centinela


True false verdadero
1.9 Expresiones

Las expresiones son combinaciones de constantes, variables,


símbolos de operación, paréntesis y nombres de funciones
especiales. Las expresiones son utilizados en el diseño y
codificación de programas y siguen las misma idea que las
utilizadas en notación matemática solo varía la simbología usada.
Ejemplo evaluar 𝑎2 + 𝑏 2 = 𝑐 2
equivale a ( a**2 + b **2 )= (c **2) o sqr( a) + sqr(b )= sqr(c)
cuadrado(a) + cuadrado(b)= cuadrado(c)
1. 9 Expresiones Aritméticas

%
() operador asociativo de mayor prioridad

^o

+ – . Se refiere a operador binario


http://slideplayer.es/slide/1489482/
Realice paso a paso las siguientes exp.

a) 3 + 6 * 14
b) 8 + 7 * 3 + 4 *6
c) -4 * 7 + 2 ^ 3 / 4 – 5
d) 2 * ( ( 8 div 5) + (4 * ( 5 – 3 ) ) % ( 8 + 5 – 2))
e) (-4 * 7 + 2 ** 3 / 4 – 5) + (8 + 7 * 3 + 4 *6 )
Ejercicio. Realice paso a paso las sig.
operaciones

a. 7+5–6
b. 9 + 7 * 8 - 36 / 5
c. 7 * 5 ** 3 / 4 div 3
d. 7 * 8 *(160 mod 3 ** 3) div 5 * 13 - 28
e. 15 / 2 * (7 + (68 – 15 * 33 + (45 **2/16) / 3 ) / 15 ) +
19
Operadores incremento/decremento
Repasando

++x
Incrementa x en 1 y luego usa el valor de x en la correspondiente expresión
x++
Usa el valor de x en la expresión en que se encuentra y después la incrementa en
1
--x
Decrementa x en 1 y luego usa el valor de x en la correspondiente expresión
x--
Usa el valor de x en la expresión en que se encuentra y después la decrementa
en 1
Operadores relacionales

(Cairo)
Operadores lógicos o booleanas
(George Boole)
Expresiones lógicas

Pueden contener:
 Números, constantes, variables y
operadores relacionales. Ver ejemplos en el
pizarrón.
Operadores lógicos. Jerarquía (Cairo)

Operador lógico Jerarquía Expresión lógica Significado


NO NOT mayor No P No P
No es cierto que P
Es FALSO que P
Y AND PyQ P ^Q
P sin embargo Q

O OR menor PoQ PoQ


o P o Q o ambas
Mínimo P o Q
Jerarquía correspondiente a operadores
(artiméticos,lógicos y relacionales)

 (Cairo). () es un operador asociativo. Las prioridades pueden cambiar en los


lenguajes.
Ejemplos: expresiones lógicas con
operadores relacionales
Resuelva en su libreta paso a paso los 3 ejemplos, numerando cada
paso y respetando la jerarquía de operadores. Compruebe su resultado.

Valores Expresión Resultado


falso/verdadero
A= 5 B=16 (A**2) > (B * 2)
X= 6 B=7.8 (X*5+B ** 3/4)<=(X**3 div B)

Nota. Cuando se usan los operadores de relación con los operadores lógicos,
falso es menor que verdadero.
Valores Expresión Resultado
A= 5 B=16 (A**2) > (B * 2)

Valores Expresión Resultado


X= 6 B=7.8 (X*5+B ** 3/4)<=(X**3 div B)
La operación de asignación

La operación de asignación permite asignar valor


a una variable, ésta operación de asignación es
conocida como instrucción o sentencia de
asignación en los leng. de programación. El
formato es:
<Nombre de la variable>  <expresión>

En algunos lenguajes de programación (C,C++,Java) el


símbolo usado es =
Ejemplos. Identifique el tipo de variable de
acuerdo al valor asignado

Variable  0 CP  32800
Precio_neto  999.99 apellido  ‘Andrade’
letra  ´Z´ X  (A = B) and (B<>C)
contador  0 IVA  0.16
radio  15.5 dia ´L´
sexo  ´F´ dia ‘Lunes’
Valor  (ap+1) % max
Ejemplos:

 contador contador + 1
 Acumulador acumulador + valor
 valorN+2
 MNT 3 +14+8
 cocientedato div 5
 Vlogica 8 < 4
 rango_f (N<1) o (N>5)
 rango_d (N>=1) o (N<=5)
Convierta en expresiones aritméticas
algorítmicas las sig. exp algebraicas
Funciones internas

 Las funciones internas , incorporadas o estándar facilitan


las operaciones cuando se requiere un determinado
número de operadores especiales y varias instrucciones
para realizar una operación. Por ejemplo la función raiz2
(sqrt) calcula la raíz cuadrada de un número positivo y log
y log10 determinan el logaritmo y logaritmo decimal de un
valor. Existen diferentes funciones matemáticas
incorporadas en los lenguajes de diseño y de
programación.
Escritura de algoritmos

1. Analizar el planteamiento del problema


2. Identificar entradas (variables, constantes, tipos)
3. Identificar proceso (s). Operaciones a realizar estructuras de control
4. Identificar salidas. Tener claros los resultados que debe arrojar el algoritmo
5. Escribir algoritmo.
Diseñar usando un leng. de diseño (pseudocódigo o diagrama)
6. Probar. Pruebas de escritorio
7. Refinar
Estructura Gral. en pseudocódigo

Algoritmo <nombre>
Algorithm <name>
<definición de var>
<define var>
Inicio
Begin (or Start)
<instrucción(es) >
<instrucción(es) >

Fin
End
Declaración y definición de variables

Algoritmo <nombre> Algorithm <name>


Definir Define
entero nombre_var1 int nombre_var1
carácter nombre_var2 char nombre_var2
flotante nombre_var3 float nombre_var3
cadena nombre_var4 string nombre_var4

Inicio Begin (or Start)


<instrucción(es) > <instrucción(es) >

Fin End
Asignación de valores a variables con = o 
Algoritmo <nombre>
Definir
entero nombre_var1
carácter nombre_var2
flotante nombre_var3
cadena nombre_var4

Inicio
entero nombre_var1=0
carácter nombre_var2=‘ a‘
flotante nombre_var3 = 3.7
cadena nombre_var4 = “Hola”

<instrucción(es) >

Fin
Flujo Secuencial
Estructura Selectiva Simple

if <condición> then
si <condición> entonces
<instrucción(es)>
<instrucción(es)>
endif
finsi

V
condición

acción
Estructura Selectiva Doble

Si <condición> entonces if <condición> then


<instrucción(es)> <instrucción(es)>
Sino else
<instrucción(es)> <instrucción(es)>
FinSi endif
Selectiva múltiple

Switch <valor> do
Según <valor> Hacer
case <valor 1> : <instruc.>
caso <valor 1> : <instruc.>
case <valor 2> : <instruc.>
caso <valor 2> : <instruc.>
case <valor n> : <instruc.>
caso <valor n> : <instruc.>
default: <instruc.>
por defecto: <instruc.>
EndSwitch
FinSegún
Referencias

 Cairo, Osvaldo. Metodología de la Programación, algoritmos, diagramas de


flujo y programas. Alfaomega, tercera edición.
 Carrera, Hernández, Algoritmos y Estructura de Datos I, Universidad
Veracruzana, dcb.fi-c.unam.mx/users/alejandromra/Secuencial.pdf
 Joyanes, Aguilar. Fundamentos de Programación, editorial Mc Graw Hill,
cuarta edición.
 Baeza, Ricardo. Algoritmia, Universidad de Chile, Depto. de Ciencias de la
computación, https://users.dcc.uchile.cl/~rbaeza/inf/algoritmia.pdf
 UCC. Algoritmia. Universidad Cooperativa de Colombia.
https://cienciasbasicasdeingenieria.wikispaces.com/Algoritmia

Potrebbero piacerti anche