Sei sulla pagina 1di 39

L. I . A.

Karina Ibarra
Ruiz
E-mail: lia.kida01@hotmail.com
 1.1 Máquina de Von Neumann y concepto de
algoritmo
 1.2 Lenguajes de programación
 1.3 Datos, tipos de datos y operaciones
básicas
 1.4 Constantes y variables
 1.5 Expresiones
 1.6 Entrada y salida de información

 2.1 Pseudocódigo
 2.2 Diagramas de flujo
 ¿Qué es una computadora?
 Es un dispositivo electrónico utilizado
para procesar información y obtener
información. Los datos se introducen de
alguna forma en la computadora para
producir una salida.
 Está divido en hardware y software.
 ¿Qué es un programa?
 Conjunto de instrucciones que hacen
funcionar una
Programa
computadora.
 El hardware sin Computadora

software no es más

que hierros viejos. Datos de Entrada Datos de Salida


 El programa debe encontrarse en memoria
principal para poder ejecutarse.
 Un programa que se encuentra en
ejecución recibe el nombre de proceso.
 Niklaus Wirth dijo: Programa =

Algoritmos + Estructura de Datos.


 Conjunto finito ordenado de pasos que nos llevan a la

solución de un problema.

 Se puede ver a un algoritmo como una receta de cocina

 Cocinar un huevo:
 Romper cascaron con cuidado
 Freír el huevo
 Poner sal

 Que pasa si el conjunto de instrucciones es infinito … pues

nunca acabaríamos y por lo tanto no comeríamos.

 Que pasa si no fuera ordenado:


 Poner sal
 Freír el huevo
 Romper cascaron con cuidado
 Un mismo problema puede ser resuelto a través de una
gran infinidad de algoritmos: todos cocinamos los huevos
de diferentes formas (aunque la esencia es la misma).
 Un algoritmo puede ser tan sencillo o complejo
dependiendo de las capacidades de una computadora.
 La instrucción de un algoritmo pueden ser varias
instrucciones de otros.
 Los algoritmos se pueden agrupar para resolver nuevos
problemas.
 Otras características de los algoritmos es la generalidad y
que poseen una entrada y salida.
 Un lenguaje sirve para comunicar dos entidades: emisor y

receptor.

 El lenguaje humano no es entendible por las computadoras; éstas

sólo entienden 0 y 1 (lenguaje binario).

 Lenguaje máquina: 01011100.

 Lenguaje humano: La casa es roja.

 El lenguaje que utilizan las computadoras es un lenguaje formal

diferente del natural que utilizan las personas, el cual está lleno

de ambigüedades.

 Se solicita estudiante inútil presentarse sin referencias.

 Juan vio a una muchacha con un telescopio.


 El niño juega con la pelota
 La pelota juega con el niño
 Dejo mis vienes a mi sobrino Juan no a mi hermano Luís
tampoco jamás se pagará la cuenta al sastre de ningún
modo para los jesuitas todo lo dicho es mi deseo
 Se introducen los algoritmos a una computadora
siguiendo una sintaxis específica.
 Existen dos tipos de lenguajes debido a su nivel de
abstracción: lenguajes de bajo nivel(más parecidos al
lenguaje máquina) y lenguajes de alto nivel (más
parecidos al lenguaje humano).
 Los datos es la unidad de información con la
que trabaja una computadora
 Los tipos de datos son la forma en como se
almacena la información en una
computadora.
 Los tipos de datos se definen como:
básicos, complejos y definidos
por el usuario.
 Numéricos:
Enteros (1, 5, -5)
Reales (1.1, 2.5x103, -0.5)
 Caracteres:
letras (a, Z, “, 0)
 Lógicos: verdadero o falso
 Los tamaños de los tipos depende de la arquitectura de la
computadora. Por ejemplo en microprocesadores con
palabras de 32 bits, los enteros pueden ser de 16 o 32 bits,
las cadenas pueden ser de 8 bits si se representan en
código ASCII o de 16 si son Unicode.
 Los tipos complejos son los arreglos y las estructuras.
 Los arreglos son una colección de datos del mismo tipo.
Pueden ser de varias dimensiones: vector (1dimensión),
matriz (2 dimensiones), etc.
 Vector = 1, -5, 7, 9
 Cadena = Hola mundo
 Matriz = 1 4 -9
2 -3 0
 Las estructuras es una colección de diversos tipos de datos
que se manejan como una unidad
 Paciente = nombre (cadena), edad (entero)
 Algunos lenguajes definen otros tipos de
datos.
 Los usuarios pueden definir alias de otros
datos, manejar subrangos, enumeraciones,
utilizar tipos ya definidos dentro de otros
tipos, etc.
 Carros = honda, ford, mercedes, etc.
 Instrucción es una operación realizada por la
unidad de control
 Operación: acción que lleva acabo la ALU
 Operaciones aritméticas: sumas, restas,
multiplicaciones, divisiones.
 Operaciones lógicas: comparaciones y tomas
de decisiones
 La prioridad define el orden en que se
ejecutan las operaciones. La prioridad va de
arriba-abajo y de izquierda a derecha
 Prioridad de operadores aritméticos:

() Agrupación

*, /

+, -
Operadores lógicos: Operadores Relacionales:
 AND Conjunción  > Mayor que
 OR Exclusión  < Menor que
 NOT Negación  = Igual que
 >= Mayor o igual que
 <= Menor o igual que
 <> Distinto que
 == Igual que
Tablas de verdad:
 AND es verdadera si todos los predicados son
verdaderos
 OR es verdadera si al menos un predicado es
verdadero
 NOT es verdadero si el argumento es falso
Existe una relación uno a uno entre un valor
lógico y binario: verdadero(1), falso (0)
 ENT(x) Parte entera de un número
 ABS(x) Valor absoluto
 SEN(x) Seno
 COS(x) Coseno
 TAN(X) Tangente
A POT B Potencia de un número
A MOD B Residuo de una división
A DIV B Parte entera de una división
 Variable es una posición de memoria en la
computadora cuyo contenido puede variar
durante la ejecución de un programa. La
mayoría de los resultados intermedios se
guardan en variables
 Constante es una posición de memoria en
una computadora cuyo contenido no cambia
en el transcurso de la ejecución del
programa.
Una expresión es la combinación de dos o más
operadores para obtener un resultado.
Existen diversos tipos de expresiones: de
asignación, lógicas y aritméticas; las cuales se
pueden combinar entre sí para formar expresiones
complejas
Expresiones de asignación

A <- 10;
Expresión aritmética

4+3/2*5 (¿Cuál es el resultado?)


Expresión lógica

5 >= 4 Falso
A = (5+2)/(4*3) Asignación y aritmética
B = c+5 Asignación (utilizando otra variable)
 (A+3) > (B-1) AND s=0 Aritmética y Lógica
A = suma (1,2) Asignación del resultado de
una función
 Todos los algoritmos tienen una entrada y
una salida; a su vez, toda computadora tiene
una entrada y una salida.
 Dispositivo de entrada: teclado, ratón,
escáner, micrófono, etc.
 Dispositivos de salida: monitor,

impresora, bocinas, etc.


 Un algoritmo puede ser visto como una caja
negra en donde dada una entrada, se realiza
un proceso y se entrega como salida un
proceso.
  Siguiendo nuestra receta de cocina la
entrada son los ingredientes y la salida el
platillo preparado.
Datos de Entrada
 Ingredientes:

Huevo
Algoritmo
Sal
Aceite
Datos de Salida
 Es una manera de expresar un algoritmo en
un lenguaje común, el cual puede ser
español (como en nuestro caso), inglés, etc.
 La ventaja de utilizar pseudocódigo es que su
implementación es casi directa en

cualquier lenguaje de programación

de alto nivel.
 Entrada:

num1, num2 : números enteros


 Salida:

suma: número entero con el resultado de


sumar num1 y num2
 Inicio

suma <- num1 + num2


 Fin
 DECLARACIONES:

num1, num2, suma: enteros


 INICIO

LEER num1 //Entradas


LEER num2
suma <- num1 + num2 //Procesos
IMPRIMIR suma //Salidas
 FIN
program Suma;
uses
crt;
var
num1, num2, suma: integer;
begin
write(‘Introduce el número 1?’); {entradas}
read(num1);
write(‘Introduce el número 2?’);
read(num2);
suma := num1 + num2; {procesos}
writeln(‘El resultado de la suma es: ’, suma);
{salidas}
end.
#include <stdio.h>
int main(void)
{
int num1, num2, suma;
printf(“Introduce el número 1?”);
/*Entradas*/
scanf(“%d”, num1);
printf(“Introduce el número 2?”);
scanf(“%d”, num2);
suma = num1 + num2 /*Procesos*/
printf(“El resultado de la suma es %d”,
suma); /*Salidas*/
return 0;
}
import java.io.*
public class Suma
{
private int num1, num2, suma;
public static void main(String args)
{
System.out.println(“Introduce el número1?”);
num1 = System.in.readInt();
System.out.println(“Introduce el número2?”);
num2 = System.in.readInt();
suma = num1 + num2;
System.out.printl(“El resultado de la suma es: ” +
suma);
}
}
using System;
namespace suma
{
public class suma
{
private int num1, num2, suma;
public static void(string args[])
{
Console.write(“Introduce el primer número?”);
num1 = Console.readInt();
Console.write(“Introduce el segundo
número?”)
num2 = Console.readInt();
suma = num1 + num2;
Console.writeln(“El resultado de la suma es: {0}”,
suma);
}
}
}
 Encontrar el mayor de 3 números.
 Determinar el número máximo de una serie.
 Verificar si un entero positivo es primo.
 Determinar el número primo mayor que un
número.
 Calcular el área de un rectángulo.
 Calcular las raíces de una ecuación
cuadrática.
 Es una manera gráfica de especificar un
algoritmo.
 Tiene como ventaja que se puede visualizar
de mejor manera un algoritmo.
 La desventaja radica en que para algoritmos
demasiado grandes se vuelve complejo

hacer el seguimiento
 Está es la nomenclatura más estandarizada.
Existen elementos para actividades que casi
no se utilizan, lectura de tarjetas perforadas,
escritura en cintas.
Impresora
Proceso Decisión

Procedimiento Entrada/ Teclado


Salida

Conec
Almacenamiento Inicio/Fin tor
Secundario
 Investigar otros métodos para especificar
algoritmos cómo:

Diagramas de Warnier

Diagramas NS

Tablas de decisión

Árboles de decisión

Potrebbero piacerti anche