SlideShare una empresa de Scribd logo
1 de 45
Fundamentos de
 Programación

 Alex Belleza Porras

 a_leo2005@hotmail.com.pe
 abellezap@ucvlima.edu.pe
OBJETIVOS
 Conocer conceptos previos
 Aprender   las    diferentes técnicas para
  solucionar      los problemas mediante
  algoritmos, para luego tener la capacidad de
  plasmarlos mediante el uso de algún
  lenguaje de programación.
 Conocer el entorno de Eclipse.
¿Qué es la computadora?
Es una maquina electrónica digital capaz de
procesar datos a partir de un grupo de
instrucciones denominado programa, la finalidad es
entregar una información resultante.
¿Cuáles son las partes de una
computadora?
Partes del hardware
1. Unidad de entrada. Que es la sección de
  recepción de la computadora: obtiene
  información    (datos   y programas        de
  computadora) y lo coloca a disposición de las
  demás unidades para que sea procesada. La
  información se introduce por medio del
  teclado o del Mouse (ratón). Otros
  dispositivos pueden ser los escáneres, los
  lápices ópticos, las pantallas touch screen,
  cámaras, etc.


Partes del hardware
2. Unidad de salida. La computadora muestra las
  respuestas a través de esta unidad, estas
  respuestas son el resultado del procesamiento
  que realiza la computadora con los datos que
  hemos introducido. Por ejemplo mediante un
  dispositivo de entrada como el teclado,
  podemos escribir palabras la cuales las
  podremos observar por un dispositivo de salida
  como el monitor o la pantalla.
 Otros dispositivos de salida son también la
  impresora, los parlantes, tarjetas de video.
Partes del Hardware
3. Unidad de memoria. También se la conoce
  como memoria RAM, es el almacén primario
  de la computadora por lo que es
  relativamente de baja capacidad. Esta
  memoria es la más importante de la
  computadora, porque guarda información
  necesaria para que la computadora pueda
  arrancar y funcionar, en otras palabras
  guarda información de todos los programas
  que se ejecutan en una computadora
  incluyendo al Sistema Operativo.
Partes del Hardware
4. Unidad aritmética y lógica (ALU). Esta es
  la parte de la computadora en donde se
  realizan los cálculos. sumas o restas. Aquí
  están también los mecanismos de decisión
  que permiten a la computadora, por ejemplo,
  comparar dos elementos de la unidad de
  memoria para determinar si son iguales o no.
Partes del Hardware
5. Unidad central de procesamiento (CPU). Es
  el cerebro de la computadora, pues es el
  coordinador de la máquina y la parte encargada
  de supervisar el funcionamiento de las otras
  secciones. La CPU le dice a la unidad de
  entrada cuándo debe leerse información para
  introducirla en la unidad de memoria, le dice a la
  ALU cuando la información de la unidad de
  memoria debe utilizarse en los cálculos y le dice
  la unidad de salida cuando debe enviar la
  información que está es la unidad de memoria a
  ciertos dispositivos de salida.
Partes del Hardware
6. Unidad de almacenamiento secundario.
  Esta es el almacén de largo plazo y de alta
  capacidad    de    la   computadora.   Los
  programas y datos que nos están siendo
  utilizados   por    las   otras   unidades
  normalmente se colocan en dispositivos de
  almacenamiento secundario hasta que
  necesiten, posiblemente horas, días, meses
  o incluso años después. El acceso es más
  lento comparado con el de la memoria
  primaria o memoria RAM.
Partes del Software
Programa
 Un programa es un conjunto de instrucciones
  lógicas que le dicen a la computadora que
  debe hacer, además un programa debe
  satisfacer las necesidades de los usuarios
  utilizando   eficientemente los    recursos
  disponibles.
Partes del Software
 Los programas que escribiremos más adelante
  serán utilizando un lenguaje de programación
  muy popular como lo es JAVA
Código Fuente
 Le daremos el nombre de código fuente a los
  programas que escribamos en un determinado
  lenguaje de programación, que simplemente
  estará compuesto por instrucciones escritas por
  un programador. El código fuente no constituye
  software propiamente dicho pero es una
  instancia mediante la cual se llega al Software.
Partes del Software
Sistema Operativo
 Es el programa más importante que se
  ejecuta en una computadora. Cualquier
  computadora de propósito general debe
  operar con un sistema operativo para
  lograr ejecutar otros programas. El
  sistema operativo ejecuta las tareas
  básicas, como de reconocer entradas
  desde el teclado, enviar mensajes a
  pantalla, manteniendo rastro de los
  archivos y directorios en el disco, y
  controlar los dispositivos periféricos como
  las impresoras.
Entradas                           Salidas
                    Computadora

Datos de entradas                 Datos de salida,
e instrucciones                   información
Tipos de Lenguajes



     LENGUAJES DE MAQUINA

     LENGUAJE DE ALTO NIVEL.
LENGUAJE DE MAQUINA:

Son aquellos que están
                                        0000110
escritos en lenguajes            HOLA   0100100
                                        1000101
directamente inteligibles por           0011001
la maquina (computadora).
Sus instrucciones son
cadenas binarias (cadenas o
series de caracteres dígitos 0
y 1) que especifican una
operación.
LENGUAJE DE ALTO NIVEL:

Son los mas utilizados por los
programadores. Es independiente
de la maquina, es decir, no
dependen del diseño del Hw o de la
computadora.
Son portables o transportables. Lo
que significa que pueden ser
ejecutados con poca o ninguna
modificación en diferentes tipos de
computadora.
Instrucciones tales como: READ, WRITE, PRINT,
OPEN,ETC.
¿Qué es un Dato?
Es un conjunto de símbolos utilizados para
expresar: un valor numérico, un hecho, un
objeto o una idea, para ser objeto de
tratamiento.
¿Qué es información?
•Es la transformación de los elementos
procesados.
•Los datos de entrada se convierten en
información significativa.
Organización Lógica de la
Computadora - SOFTWARE
CLASIFICACIONES DEL SW

1.   Sistemas Operativos
2.   Lenguajes de Programación
3.   SW de uso general
4.   SW de aplicaciones
Lenguaje de Programación
Es una técnica estándar de comunicación que
permite expresar las instrucciones que han de ser
ejecutadas en una computadora.

Consiste en un conjunto de reglas sintácticas y
semánticas que definen un programa informático
Programa
Es un conjunto de instrucciones sencillas escritas
en un lenguaje de programación, que al recogidas
por un interprete son traducidas para poder ser
ejecutadas.

Conjunto de instrucciones que el computador debe
ejecutar para solucionar un problema determinado
Compilador
•Un compilador es un programa que lee el
programa escrito en un lenguaje fuente y lo traduce
a otro programa equivalente llamado lenguaje
objeto.
•Es un traductor que convierte un texto escrito en
un lenguaje fuente de alto nivel en un programa
objeto en código maquina
    Lenguaje de                         Programa en
     Programa      Compilador            Lenguaje
      Fuente                               Objeto


                  Error y diagnostico
Algoritmo
•Método para resolver un problema, mediante una
serie de pasos precisos.
•Existe diferentes formas de dar solucion a un
mismo problema.
Características de un algoritmo
•Preciso: Indica un orden de realización de cada
paso a realizar.
•Definido: Si se sigue un algoritmo mas de una vez
se obtiene el mismo resultado.
•Finito: Todo algoritmo tiene un inicio y un fin, es
decir debe tener un numero finito de pasos.
Pasos a seguir en la construcción de
un algoritmo
La definición de un algoritmo debe describir tres
partes:
   •Entrada
   •Proceso
   •Salida
Fases para la Resolución de
Problemas
 Análisis
 Diseño
 Implementación
                                Al ejecutar un programa
     Codificación              se pueden producir tres
                                tipos de errores:
     Compilación y ejecución   • Errores de Compilación
     Verificación              • Errores de Ejecución
                                • Errores Lógicos
     Depuración
     Documentación
Herramientas de programación
 Diagramas de flujo
 Pseudocódigos
 Diagrama NASSI-SCHNEIDERMAN(N-S).
Diagramas de Flujo
Pseudocódigo




Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el
       paso de codificación final (esto es, la traducción a un lenguaje de
                      programación) relativamente fácil.
   El pseudocódigo nació como un lenguaje similar al inglés y era un medio
     representar básicamente las estructuras de control de programación
  estructurada. Se considera un primer borrador, dado que el pseudocódigo
  tiene que traducirse posteriormente a un lenguaje de programación. Cabe
 señalar que el pseudocódigo no puede ser ejecutado por una computadora.
El diagrama N-S de Nassi-
                                                                   Las palabras
     Schneiderman                                                reservadas más
                                                                  utilizadas son:

                                                                      Inicio
                                                                        Fin
                                                                       Leer
                                                                     Escribir
                                                                    Mientras
                                                                     Repita
El diagrama N-S o también conocido como diagrama de Chapín
es una técnica de especificación de algoritmos que combina la
                                                                     Hasta
descripción textual, propia del pseudocódigo, con la                  Para
representación gráfica del diagrama de flujo.                     Incrementar
El diagrama N-S cuenta con un conjunto limitado de símbolos       Decrementar
para representar los pasos del algoritmo, por ello se apoya en       Hacer
expresiones del lenguaje natural; sin embargo, dado que el          Función
lenguaje natural es muy extenso y se presta para la                  Entero
ambigüedad, solo se utiliza un conjunto de palabras, a las que         Real
se denomina palabras reservadas.
                                                                    Caracter
                                                                    Cadena
                                                                     Lógico
                                                                    Retornar
Simbología utilizada en los
diagramas de flujo
                   Representa el inicio y el final



                   Entrada y Salida



                     Procesos de Cualquier Tipo




                    Decisión




         El diagrama de flujo de datos
Simbología utilizada en los diagramas de flujo

                                            Línea de Flujo




             Decisión Múltiple
                                              Línea




                                             Conector entre dos puntos
                                             del organigrama



                                             Llamada a una subrutina o un
                                             Proceso



             Conector

                                             Pantalla



                                              Impresora



                                              Teclado



            El diagrama de flujo de datos
A


        E
R
    A
Calculando el área de un triangulo
•Lo que voy a obtener es el área del triangulo, a
ello le llamamos salida.
•Lo que necesito conocer para calcular el área del
triangulo es mínimo la base y la altura, a ello le
llamamos entrada.
•Para obtener la salida buscamos(el area) gracias a
los datos de entrada(base y altura)lo podemos
calcular con la formula: A=(b*h)/2,a ello le
llamamos proceso.
Entradas                      Salidas
             PROCESO


 Base(b)      A= (b*h)
     Y           ----------     Área
 Altura(h)          2
Pseudocódigo
•Utiliza un lenguaje de comunicación propio como
el ingles, español entre otros.
•La ventaja del pseudocódigo es que en la
planificación del programa, el programador se
concentra en la lógica sin preocuparse en las
reglas de un lenguaje de programación especifico.
Inicio
         Leer (Base, Altura)
         Área= Base*Altura
               ------------------
                       2
         Escribir Área
Fin
Pseudocódigo Mejorado
Inicio
         var: base,altura : entero
         var: area : real
         Escribir(“Ingresar Base y Altura)
         Leer(base,altura)
         area(base*altura)/2
         Escribir(“La base es ”,area)
Fin
Inicio


  Leer
  B, H


       B*H
 A
        2


Escribir
A


Fin
EJERCICIOS:

     Desarrolle los algoritmos utilizando las 3
     herramientas de diseño.



1.   Un algoritmo que sume dos números.

2.   Un algoritmo que calcule la edad promedio
     de 3 alumnos.
DESARROLLANDO PSEUDOCODIGOS
Para dar solución lógica a las
siguientes situaciones
Intercambia la posición de las ranas verdes con las ranas
café.
Ayuda al granjero a cruzar al lobo, la oveja y los repollos al otro lado. Recuerda:
Los lobos comen ovejas y las ovejas comen repollos.
Bibliografía
DISEÑO DE PROGRAMACION
(Julio Vásquez Paragulla)

Más contenido relacionado

La actualidad más candente

Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacionMichele André
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónJeckson Loza
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionMIKE_INK_RM
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Sol Hernández
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmosluisce03
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionalesfaisury21
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuencialesLeany González
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmojohan stoker
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmosMagda Fernandez
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clasedaosma
 

La actualidad más candente (20)

Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Clase pseint
Clase pseintClase pseint
Clase pseint
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmo
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmos
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 

Destacado

Lógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain OviedoLógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain Oviedosullinsan
 
Programación desde cero en C# en español
Programación desde cero en C# en españolProgramación desde cero en C# en español
Programación desde cero en C# en españolAnyelo Grullon Mata
 
Libro de Oracle 11g
Libro de Oracle 11gLibro de Oracle 11g
Libro de Oracle 11gGuiro Lin
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónDesarrolloWeb.com
 
Como diseñar un sistema de ventas
Como diseñar un sistema de ventasComo diseñar un sistema de ventas
Como diseñar un sistema de ventasBien Pensado
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosAidil Sanchez
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Libro tecnica de programacion
Libro tecnica de programacionLibro tecnica de programacion
Libro tecnica de programacionMarialix Quintero
 

Destacado (14)

Lógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain OviedoLógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain Oviedo
 
Algoritmos programacion Libro
Algoritmos programacion LibroAlgoritmos programacion Libro
Algoritmos programacion Libro
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Programación desde cero en C# en español
Programación desde cero en C# en españolProgramación desde cero en C# en español
Programación desde cero en C# en español
 
C sharp
C sharpC sharp
C sharp
 
Libro de Oracle 11g
Libro de Oracle 11gLibro de Oracle 11g
Libro de Oracle 11g
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la Programación
 
Ejercicios de arreglo
Ejercicios de arregloEjercicios de arreglo
Ejercicios de arreglo
 
Como diseñar un sistema de ventas
Como diseñar un sistema de ventasComo diseñar un sistema de ventas
Como diseñar un sistema de ventas
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventarios
 
Proyecto Inventario
Proyecto Inventario Proyecto Inventario
Proyecto Inventario
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Libro tecnica de programacion
Libro tecnica de programacionLibro tecnica de programacion
Libro tecnica de programacion
 

Similar a Algoritmos (20)

Software
SoftwareSoftware
Software
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Fase3 t1-introduccion- a-la- programacion new
Fase3 t1-introduccion- a-la- programacion newFase3 t1-introduccion- a-la- programacion new
Fase3 t1-introduccion- a-la- programacion new
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Conceptos Basicos Programacion
Conceptos Basicos ProgramacionConceptos Basicos Programacion
Conceptos Basicos Programacion
 
Software y Hardware
Software y HardwareSoftware y Hardware
Software y Hardware
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
9º Algoritmos
9º Algoritmos9º Algoritmos
9º Algoritmos
 

Más de Alex

Triptiko
TriptikoTriptiko
TriptikoAlex
 
Triptiko20
Triptiko20Triptiko20
Triptiko20Alex
 
Computadora
ComputadoraComputadora
ComputadoraAlex
 
Partes de un computadora
Partes de un computadoraPartes de un computadora
Partes de un computadoraAlex
 
Las tics
Las ticsLas tics
Las ticsAlex
 
Las tics
Las ticsLas tics
Las ticsAlex
 
Las tics
Las ticsLas tics
Las ticsAlex
 
Ejerciciosdecálculodemagnitudes
EjerciciosdecálculodemagnitudesEjerciciosdecálculodemagnitudes
EjerciciosdecálculodemagnitudesAlex
 
Ppt
PptPpt
PptAlex
 
Tics
TicsTics
TicsAlex
 
Sesion03
Sesion03Sesion03
Sesion03Alex
 
Sesion02
Sesion02Sesion02
Sesion02Alex
 
Semana02 2
Semana02 2Semana02 2
Semana02 2Alex
 
Semana02
Semana02Semana02
Semana02Alex
 
Semana01 1
Semana01 1Semana01 1
Semana01 1Alex
 
Semana03
Semana03Semana03
Semana03Alex
 
Semana02
Semana02Semana02
Semana02Alex
 
Paper
PaperPaper
PaperAlex
 
Funciones logica
Funciones logicaFunciones logica
Funciones logicaAlex
 
Practica de Windows 7
Practica de Windows 7Practica de Windows 7
Practica de Windows 7Alex
 

Más de Alex (20)

Triptiko
TriptikoTriptiko
Triptiko
 
Triptiko20
Triptiko20Triptiko20
Triptiko20
 
Computadora
ComputadoraComputadora
Computadora
 
Partes de un computadora
Partes de un computadoraPartes de un computadora
Partes de un computadora
 
Las tics
Las ticsLas tics
Las tics
 
Las tics
Las ticsLas tics
Las tics
 
Las tics
Las ticsLas tics
Las tics
 
Ejerciciosdecálculodemagnitudes
EjerciciosdecálculodemagnitudesEjerciciosdecálculodemagnitudes
Ejerciciosdecálculodemagnitudes
 
Ppt
PptPpt
Ppt
 
Tics
TicsTics
Tics
 
Sesion03
Sesion03Sesion03
Sesion03
 
Sesion02
Sesion02Sesion02
Sesion02
 
Semana02 2
Semana02 2Semana02 2
Semana02 2
 
Semana02
Semana02Semana02
Semana02
 
Semana01 1
Semana01 1Semana01 1
Semana01 1
 
Semana03
Semana03Semana03
Semana03
 
Semana02
Semana02Semana02
Semana02
 
Paper
PaperPaper
Paper
 
Funciones logica
Funciones logicaFunciones logica
Funciones logica
 
Practica de Windows 7
Practica de Windows 7Practica de Windows 7
Practica de Windows 7
 

Algoritmos

  • 1. Fundamentos de Programación Alex Belleza Porras a_leo2005@hotmail.com.pe abellezap@ucvlima.edu.pe
  • 2. OBJETIVOS  Conocer conceptos previos  Aprender las diferentes técnicas para solucionar los problemas mediante algoritmos, para luego tener la capacidad de plasmarlos mediante el uso de algún lenguaje de programación.  Conocer el entorno de Eclipse.
  • 3. ¿Qué es la computadora? Es una maquina electrónica digital capaz de procesar datos a partir de un grupo de instrucciones denominado programa, la finalidad es entregar una información resultante.
  • 4. ¿Cuáles son las partes de una computadora?
  • 5. Partes del hardware 1. Unidad de entrada. Que es la sección de recepción de la computadora: obtiene información (datos y programas de computadora) y lo coloca a disposición de las demás unidades para que sea procesada. La información se introduce por medio del teclado o del Mouse (ratón). Otros dispositivos pueden ser los escáneres, los lápices ópticos, las pantallas touch screen, cámaras, etc. 
  • 6. Partes del hardware 2. Unidad de salida. La computadora muestra las respuestas a través de esta unidad, estas respuestas son el resultado del procesamiento que realiza la computadora con los datos que hemos introducido. Por ejemplo mediante un dispositivo de entrada como el teclado, podemos escribir palabras la cuales las podremos observar por un dispositivo de salida como el monitor o la pantalla.  Otros dispositivos de salida son también la impresora, los parlantes, tarjetas de video.
  • 7. Partes del Hardware 3. Unidad de memoria. También se la conoce como memoria RAM, es el almacén primario de la computadora por lo que es relativamente de baja capacidad. Esta memoria es la más importante de la computadora, porque guarda información necesaria para que la computadora pueda arrancar y funcionar, en otras palabras guarda información de todos los programas que se ejecutan en una computadora incluyendo al Sistema Operativo.
  • 8. Partes del Hardware 4. Unidad aritmética y lógica (ALU). Esta es la parte de la computadora en donde se realizan los cálculos. sumas o restas. Aquí están también los mecanismos de decisión que permiten a la computadora, por ejemplo, comparar dos elementos de la unidad de memoria para determinar si son iguales o no.
  • 9. Partes del Hardware 5. Unidad central de procesamiento (CPU). Es el cerebro de la computadora, pues es el coordinador de la máquina y la parte encargada de supervisar el funcionamiento de las otras secciones. La CPU le dice a la unidad de entrada cuándo debe leerse información para introducirla en la unidad de memoria, le dice a la ALU cuando la información de la unidad de memoria debe utilizarse en los cálculos y le dice la unidad de salida cuando debe enviar la información que está es la unidad de memoria a ciertos dispositivos de salida.
  • 10. Partes del Hardware 6. Unidad de almacenamiento secundario. Esta es el almacén de largo plazo y de alta capacidad de la computadora. Los programas y datos que nos están siendo utilizados por las otras unidades normalmente se colocan en dispositivos de almacenamiento secundario hasta que necesiten, posiblemente horas, días, meses o incluso años después. El acceso es más lento comparado con el de la memoria primaria o memoria RAM.
  • 11. Partes del Software Programa  Un programa es un conjunto de instrucciones lógicas que le dicen a la computadora que debe hacer, además un programa debe satisfacer las necesidades de los usuarios utilizando eficientemente los recursos disponibles.
  • 12. Partes del Software  Los programas que escribiremos más adelante serán utilizando un lenguaje de programación muy popular como lo es JAVA Código Fuente  Le daremos el nombre de código fuente a los programas que escribamos en un determinado lenguaje de programación, que simplemente estará compuesto por instrucciones escritas por un programador. El código fuente no constituye software propiamente dicho pero es una instancia mediante la cual se llega al Software.
  • 13. Partes del Software Sistema Operativo  Es el programa más importante que se ejecuta en una computadora. Cualquier computadora de propósito general debe operar con un sistema operativo para lograr ejecutar otros programas. El sistema operativo ejecuta las tareas básicas, como de reconocer entradas desde el teclado, enviar mensajes a pantalla, manteniendo rastro de los archivos y directorios en el disco, y controlar los dispositivos periféricos como las impresoras.
  • 14. Entradas Salidas Computadora Datos de entradas Datos de salida, e instrucciones información
  • 15. Tipos de Lenguajes LENGUAJES DE MAQUINA LENGUAJE DE ALTO NIVEL.
  • 16. LENGUAJE DE MAQUINA: Son aquellos que están 0000110 escritos en lenguajes HOLA 0100100 1000101 directamente inteligibles por 0011001 la maquina (computadora). Sus instrucciones son cadenas binarias (cadenas o series de caracteres dígitos 0 y 1) que especifican una operación.
  • 17. LENGUAJE DE ALTO NIVEL: Son los mas utilizados por los programadores. Es independiente de la maquina, es decir, no dependen del diseño del Hw o de la computadora. Son portables o transportables. Lo que significa que pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de computadora. Instrucciones tales como: READ, WRITE, PRINT, OPEN,ETC.
  • 18. ¿Qué es un Dato? Es un conjunto de símbolos utilizados para expresar: un valor numérico, un hecho, un objeto o una idea, para ser objeto de tratamiento.
  • 19. ¿Qué es información? •Es la transformación de los elementos procesados. •Los datos de entrada se convierten en información significativa.
  • 20. Organización Lógica de la Computadora - SOFTWARE CLASIFICACIONES DEL SW 1. Sistemas Operativos 2. Lenguajes de Programación 3. SW de uso general 4. SW de aplicaciones
  • 21. Lenguaje de Programación Es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un programa informático
  • 22. Programa Es un conjunto de instrucciones sencillas escritas en un lenguaje de programación, que al recogidas por un interprete son traducidas para poder ser ejecutadas. Conjunto de instrucciones que el computador debe ejecutar para solucionar un problema determinado
  • 23. Compilador •Un compilador es un programa que lee el programa escrito en un lenguaje fuente y lo traduce a otro programa equivalente llamado lenguaje objeto. •Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en código maquina Lenguaje de Programa en Programa Compilador Lenguaje Fuente Objeto Error y diagnostico
  • 24. Algoritmo •Método para resolver un problema, mediante una serie de pasos precisos. •Existe diferentes formas de dar solucion a un mismo problema.
  • 25. Características de un algoritmo •Preciso: Indica un orden de realización de cada paso a realizar. •Definido: Si se sigue un algoritmo mas de una vez se obtiene el mismo resultado. •Finito: Todo algoritmo tiene un inicio y un fin, es decir debe tener un numero finito de pasos.
  • 26. Pasos a seguir en la construcción de un algoritmo La definición de un algoritmo debe describir tres partes: •Entrada •Proceso •Salida
  • 27. Fases para la Resolución de Problemas  Análisis  Diseño  Implementación Al ejecutar un programa  Codificación se pueden producir tres tipos de errores:  Compilación y ejecución • Errores de Compilación  Verificación • Errores de Ejecución • Errores Lógicos  Depuración  Documentación
  • 28. Herramientas de programación  Diagramas de flujo  Pseudocódigos  Diagrama NASSI-SCHNEIDERMAN(N-S).
  • 30. Pseudocódigo Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil. El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.
  • 31. El diagrama N-S de Nassi- Las palabras Schneiderman reservadas más utilizadas son: Inicio Fin Leer Escribir Mientras Repita El diagrama N-S o también conocido como diagrama de Chapín es una técnica de especificación de algoritmos que combina la Hasta descripción textual, propia del pseudocódigo, con la Para representación gráfica del diagrama de flujo. Incrementar El diagrama N-S cuenta con un conjunto limitado de símbolos Decrementar para representar los pasos del algoritmo, por ello se apoya en Hacer expresiones del lenguaje natural; sin embargo, dado que el Función lenguaje natural es muy extenso y se presta para la Entero ambigüedad, solo se utiliza un conjunto de palabras, a las que Real se denomina palabras reservadas. Caracter Cadena Lógico Retornar
  • 32. Simbología utilizada en los diagramas de flujo Representa el inicio y el final Entrada y Salida Procesos de Cualquier Tipo Decisión El diagrama de flujo de datos
  • 33. Simbología utilizada en los diagramas de flujo Línea de Flujo Decisión Múltiple Línea Conector entre dos puntos del organigrama Llamada a una subrutina o un Proceso Conector Pantalla Impresora Teclado El diagrama de flujo de datos
  • 34. A E R A
  • 35. Calculando el área de un triangulo •Lo que voy a obtener es el área del triangulo, a ello le llamamos salida. •Lo que necesito conocer para calcular el área del triangulo es mínimo la base y la altura, a ello le llamamos entrada. •Para obtener la salida buscamos(el area) gracias a los datos de entrada(base y altura)lo podemos calcular con la formula: A=(b*h)/2,a ello le llamamos proceso.
  • 36. Entradas Salidas PROCESO Base(b) A= (b*h) Y ---------- Área Altura(h) 2
  • 37. Pseudocódigo •Utiliza un lenguaje de comunicación propio como el ingles, español entre otros. •La ventaja del pseudocódigo es que en la planificación del programa, el programador se concentra en la lógica sin preocuparse en las reglas de un lenguaje de programación especifico.
  • 38. Inicio Leer (Base, Altura) Área= Base*Altura ------------------ 2 Escribir Área Fin
  • 39. Pseudocódigo Mejorado Inicio var: base,altura : entero var: area : real Escribir(“Ingresar Base y Altura) Leer(base,altura) area(base*altura)/2 Escribir(“La base es ”,area) Fin
  • 40. Inicio Leer B, H B*H A 2 Escribir A Fin
  • 41. EJERCICIOS: Desarrolle los algoritmos utilizando las 3 herramientas de diseño. 1. Un algoritmo que sume dos números. 2. Un algoritmo que calcule la edad promedio de 3 alumnos.
  • 42. DESARROLLANDO PSEUDOCODIGOS Para dar solución lógica a las siguientes situaciones
  • 43. Intercambia la posición de las ranas verdes con las ranas café.
  • 44. Ayuda al granjero a cruzar al lobo, la oveja y los repollos al otro lado. Recuerda: Los lobos comen ovejas y las ovejas comen repollos.