Sei sulla pagina 1di 29

Conceptos Iniciales

Resumen

IIC1103 - Introducción a la Programación -


Sección 1
Introducción
Conceptos Iniciales

Carla Vairetti
cvairetti@gmail.com
Pontifı́cia Universidad Católica

16 de Marzo de 2010

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Resumen

Esquema

1 Conceptos Iniciales
Definiciones Básicas

2 Resumen

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Resumen

Esquema

1 Conceptos Iniciales
Definiciones Básicas

2 Resumen

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Esquema

1 Conceptos Iniciales
Definiciones Básicas

2 Resumen

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
Un problema suele ser un asunto del que se espera una solución.
Lo cual requiere destreza.

Programar es la disciplina para solucionar problemas utilizando el


computador como herramienta.
CUIDADO !!:
Las soluciones no son únicas.
Algunas son mejores que otras.
No evaluamos eficiencia en este curso.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
Un problema suele ser un asunto del que se espera una solución.
Lo cual requiere destreza.

Programar es la disciplina para solucionar problemas utilizando el


computador como herramienta.
CUIDADO !!:
Las soluciones no son únicas.
Algunas son mejores que otras.
No evaluamos eficiencia en este curso.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Pasos para encontrar una solución

Para llegar desde el problema a la solución, podemos identificar


varios pasos:
Encontrar el problema.
Describir el problema (detalles).
Identificar entradas y salidas.
Distinguir los elementos que intervienen en la solución y
caracterizarlos.
Escribir el algoritmo no ambiguo que solucione el problema.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
El lenguaje de programación debe ser parte de la solución, no
parte del problema.

Un computador facilita el trabajo de un ser humano.


Ej: multiplicar números.
¿ Qué se hace para obtener una solución ?
Diseñar (Pensar) un algoritmo.
El programador codifica este algoritmo en un Lenguaje de
Programación que el computador sea capaz de entender.
Se ejecuta el programa codificado en el computador.
El computador entrega resultado.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
El lenguaje de programación debe ser parte de la solución, no
parte del problema.

Un computador facilita el trabajo de un ser humano.


Ej: multiplicar números.
¿ Qué se hace para obtener una solución ?
Diseñar (Pensar) un algoritmo.
El programador codifica este algoritmo en un Lenguaje de
Programación que el computador sea capaz de entender.
Se ejecuta el programa codificado en el computador.
El computador entrega resultado.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
Algoritmo: secuencia finita de pasos (no ambiguos) para dar
solución a un problema.

Se utiliza en Informática, cocina, vida cotidiana, ..., etc.


Existen variedad de técnicas para diseñar algoritmos.
Ej. algoritmos paralelos, probabilı́sticos, divide y vencerás, ...,
etc.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
Un algoritmo nace en respuesta a la aparición de un determinado
problema. Una algoritmo esta compuesto de una serie finita de
pasos que convergen en la solución de un problema, pero además
estos pasos tienen un orden especı́fico.

Ejemplo: considere el algoritmo que se elaborarı́a para el problema


o situación de levantarse todas las mañanas para ir al trabajo:
1 Salir de la cama
2 Quitarse el pijama
3 Ducharse
4 Vestirse
5 Desayunar
6 Arrancar el automóvil para ir al trabajo o tomar transporte.
Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1
Conceptos Iniciales
Definiciones Básicas
Resumen

Definiciones Básicas

Definición
Un algoritmo nace en respuesta a la aparición de un determinado
problema. Una algoritmo esta compuesto de una serie finita de
pasos que convergen en la solución de un problema, pero además
estos pasos tienen un orden especı́fico.

Ejemplo: considere el algoritmo que se elaborarı́a para el problema


o situación de levantarse todas las mañanas para ir al trabajo:
1 Salir de la cama
2 Quitarse el pijama
3 Ducharse
4 Vestirse
5 Desayunar
6 Arrancar el automóvil para ir al trabajo o tomar transporte.
Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1
Conceptos Iniciales
Definiciones Básicas
Resumen

Resolución de Problemas
Pasos para lograr resolver cualquier problema:
1 Análisis del Problema: en este paso se define el problema, se
lo comprende y se lo analiza con todo detalle.
2 Diseño del Algoritmo: se debe elaborar un algoritmo que
refleje paso a paso la resolución del problema.
3 Resolución del Algoritmo en la computadora: se debe
codificar el algoritmo.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Resolución de Problemas
Pasos para lograr resolver cualquier problema:
1 Análisis del Problema: en este paso se define el problema, se
lo comprende y se lo analiza con todo detalle.
2 Diseño del Algoritmo: se debe elaborar un algoritmo que
refleje paso a paso la resolución del problema.
3 Resolución del Algoritmo en la computadora: se debe
codificar el algoritmo.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Resolución de Problemas
Pasos para lograr resolver cualquier problema:
1 Análisis del Problema: en este paso se define el problema, se
lo comprende y se lo analiza con todo detalle.
2 Diseño del Algoritmo: se debe elaborar un algoritmo que
refleje paso a paso la resolución del problema.
3 Resolución del Algoritmo en la computadora: se debe
codificar el algoritmo.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Resolución de Problemas
Pasos para lograr resolver cualquier problema:
1 Análisis del Problema: en este paso se define el problema, se
lo comprende y se lo analiza con todo detalle.
2 Diseño del Algoritmo: se debe elaborar un algoritmo que
refleje paso a paso la resolución del problema.
3 Resolución del Algoritmo en la computadora: se debe
codificar el algoritmo.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Formas de expresar un algoritmo:


Existen diferentes formas para expresar un algoritmo que solucione
nuestro problema:
Lenguaje Natural: es lo primero que surge en nuestra mente.
Puede ser ambiguo.
Ejemplo: “Agregar una dosis de agua”
Lenguaje de Programación: es el medio de comunicación
entre el hombre y la máquina.
Ejemplos: Java, C, C++, Python, Ada, Haskell, etc.
En este curso se utilizaremos JAVA como lenguaje de
programación.

Definición
Cada dı́a existen problemas más diversos y complejos y los
lenguajes de programación deben ser capaz de adaptarse y entregar
eficiencia en la ejecución.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Formas de expresar un algoritmo:


Existen diferentes formas para expresar un algoritmo que solucione
nuestro problema:
Lenguaje Natural: es lo primero que surge en nuestra mente.
Puede ser ambiguo.
Ejemplo: “Agregar una dosis de agua”
Lenguaje de Programación: es el medio de comunicación
entre el hombre y la máquina.
Ejemplos: Java, C, C++, Python, Ada, Haskell, etc.
En este curso se utilizaremos JAVA como lenguaje de
programación.

Definición
Cada dı́a existen problemas más diversos y complejos y los
lenguajes de programación deben ser capaz de adaptarse y entregar
eficiencia en la ejecución.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Formas de expresar un algoritmo:


Existen diferentes formas para expresar un algoritmo que solucione
nuestro problema:
Lenguaje Natural: es lo primero que surge en nuestra mente.
Puede ser ambiguo.
Ejemplo: “Agregar una dosis de agua”
Lenguaje de Programación: es el medio de comunicación
entre el hombre y la máquina.
Ejemplos: Java, C, C++, Python, Ada, Haskell, etc.
En este curso se utilizaremos JAVA como lenguaje de
programación.

Definición
Cada dı́a existen problemas más diversos y complejos y los
lenguajes de programación deben ser capaz de adaptarse y entregar
eficiencia en la ejecución.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Formas de expresar un algoritmo:


Existen diferentes formas para expresar un algoritmo que solucione
nuestro problema:
Lenguaje Natural: es lo primero que surge en nuestra mente.
Puede ser ambiguo.
Ejemplo: “Agregar una dosis de agua”
Lenguaje de Programación: es el medio de comunicación
entre el hombre y la máquina.
Ejemplos: Java, C, C++, Python, Ada, Haskell, etc.
En este curso se utilizaremos JAVA como lenguaje de
programación.

Definición
Cada dı́a existen problemas más diversos y complejos y los
lenguajes de programación deben ser capaz de adaptarse y entregar
eficiencia en la ejecución.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Existen diferentes paradigmas, entre ellos están:


Lenguaje Imperativo o Procedural.
Lenguajes Funcionales.
Lenguajes Lógicos.
Lenguajes Orientados a Objetos.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Lenguaje Imperativo o Procedural


Consiste en una secuencia de instrucciones que deben ser
ejecutadas y que producen un determinado resultado
“deseado”.
Incorporan sentencias como: ciclos, asignaciones, flujos de
control, ...,etc
Algunos lenguajes imperativos: C, Perl, Algol, Ada, Pascal
Lenguajes Lógicos
El programador, parar solucionar un problema, todo lo que
tiene que hacer es describirlo vı́a axiomas y
reglas de deducción.
Ejemplo: PROLOG

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Lenguaje Imperativo o Procedural


Consiste en una secuencia de instrucciones que deben ser
ejecutadas y que producen un determinado resultado
“deseado”.
Incorporan sentencias como: ciclos, asignaciones, flujos de
control, ...,etc
Algunos lenguajes imperativos: C, Perl, Algol, Ada, Pascal
Lenguajes Lógicos
El programador, parar solucionar un problema, todo lo que
tiene que hacer es describirlo vı́a axiomas y
reglas de deducción.
Ejemplo: PROLOG

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Lenguajes Funcionales
Están constituidos únicamente por definiciones de funciones,
entendiendo éstas no como subprogramas clásicos de un
lenguaje imperativo, sino como funciones puramente
matemáticas, basado en lógica.
Ejemplo: Haskell, Scheme
Lenguajes Orientados a Objetos
Se introducen los conceptos de objetos, clases y métodos.
La idea de la POO es poseer un conjunto de objetos que se
comunican y colaboran entre sı́ para dar solución a un
problema.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Lenguajes Funcionales
Están constituidos únicamente por definiciones de funciones,
entendiendo éstas no como subprogramas clásicos de un
lenguaje imperativo, sino como funciones puramente
matemáticas, basado en lógica.
Ejemplo: Haskell, Scheme
Lenguajes Orientados a Objetos
Se introducen los conceptos de objetos, clases y métodos.
La idea de la POO es poseer un conjunto de objetos que se
comunican y colaboran entre sı́ para dar solución a un
problema.

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Los lenguajes de programación se ajustan a reglas sintácticas y


semánticas:
Sintaxis: estudia las formas en que se combinan las palabras
(o sı́mbolos).
Semántica: aspectos del significado o interpretación del
significado de un determinado sı́mbolo, palabra, lenguaje o
representación formal.

Ejemplo
Casa - Hogar
Sintácticamente diferentes.
Semáticamente iguales

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Definiciones Básicas
Resumen

Paradigmas de lenguajes de programación

Los lenguajes de programación se ajustan a reglas sintácticas y


semánticas:
Sintaxis: estudia las formas en que se combinan las palabras
(o sı́mbolos).
Semántica: aspectos del significado o interpretación del
significado de un determinado sı́mbolo, palabra, lenguaje o
representación formal.

Ejemplo
Casa - Hogar
Sintácticamente diferentes.
Semáticamente iguales

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Resumen

Resumen

Problema – Solución
Pasos necesarios para llegar a la solución.
Algoritmo
Lenguaje natural vs. Lenguaje de programación.
Paradigmas de lenguajes de programación.
Sintaxis vs. Semántica

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1


Conceptos Iniciales
Resumen

Consultas

Carla Vairetti IIC1103 - Introducción a la Programación - Sección 1

Potrebbero piacerti anche