Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Fundamentos de programación 2A

No description
by

maria salas

on 6 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Fundamentos de programación 2A

aritmética de los datos
Fundamentos de programación

funciones y programas
aritmética de los números
aritmética de cadenas
aritmética de imagenes
Todo Lenguaje de Programación tiene tipos de datos fundamentales, otro ejemplo:
las imágenes.
Procesamiento de Imágenes
en Mathematica
En DrRacket una imagen es un
rectángulo de pixeles
cuyo
punto ancla
es el superior izquierdo.
El teachpack 2htdp/image provee las siguientes operaciones:
La aritmética de los booleanos
Todo Lenguaje de Programación tiene tipos de datos fundamentales, otro ejemplo:
los booleanos
.
Sólo hay dos posibles valores: T
rue y False.
Mathematica y DrRacket proveen tres operaciones básicas: la negación (
not
), la conjunción (
and
), y la disyunción (
or
). La semántica de estas operaciones se describe fácilmente en unas
tablas de verdad
:
predicados y condicionales: uso de booleanos
¿recuerda las funciones matemáticas?
¿como se usa (ejecuta, corre) un programa?
Usar (correr, ejecutar) un programa es invocar la
función principal.
composición de funciones
¿que es un programa?
De forma general, podemos decir que un programa es un conjunto de definiciones de funciones, una principal y otras auxiliares.
LOS lenguajes de programación PERMITEN DEFINIR FUNCIONES...
Ejemplo: área de un rectángulo
los lenguajes de programación también permiten invocar funciones
Definición
programación unidireccional
El programa recibe una entrada, se ejecuta, y devuelve una salida.
Durante su ejecución
no interactúa
con el usuario.
composición de funciones
Combinación de invocación a
funciones auxiliares
para lograr el resultado deseado
Condicionales y funciones
Los condicionales
son expresiones que dependiendo de la verificación o no de una
condición booleana
, ejecutan uno u otro cálculo.
programación interactiva
El programa se ejecuta, y su comportamiento depende de la
interacción
con el usuario. En general, la interacción se presenta a través de diferentes dispositivos como el teclado, el ratón, una palanca de mando,...
programando con datos de longitud fija
Todo Lenguaje de Programación tiene tipos de datos fundamentales, otro ejemplo:
las cadenas

"esto es una cadena de texto".
En Mathematica y en DrRacket una cadena es una
secuencia de caracteres
entre comillas dobles
Ej. "Hola" "mundo"
Operaciones de ejemplo con cadenas en DrRacket, cuál es la función en Mathematica?:
Los predicados
son funciones que devuelven booleanos. Son muy útiles para programar.

De igualdad de valores de un tipo especifico: =, string=?, image=?, boolean=?,...
Qué hace la función Head en Mathematica

De comparación: <;<=; >;>=; string <=?; string >=?

Los condicionales
son expresiones que dependiendo de la verificación o no de una
condición booleana
, ejecutan uno u otro cálculo. DrRacket provee la expresión
if
para ello:
(if cond exp1 exp2)
Invocación
ENTRADA
SALIDA
What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?-- Alan Perlis, Epigrams in Programming
Todo Lenguaje de Programación tiene tipos de datos fundamentales, por ejemplo
los números.
En Mathematica y DrRacket los números son
exactos
o inexactos.
Los números
naturales, enteros y racionales
tienen una representación exacta Ej.-56,3.4,2/3.
Los números irracionales tienen una representación inexacta Ej. (2)^(1/2).



Operaciones que provee el lenguaje, entre otras: +, -, *, /, abs, add1, ceiling, denominator, exact->inexact, .
Constantes típicas: pi, e.

string-append: Consume dos o más cadenas y las concatena.
string-length: Calcula la longitud (número de caracteres) de una cadena.
string-ith: Devuelve la cadena de un caracter con el i-ésimo caracter de la cadena de entrada (contando desde 0).
number->string: Devuelve la cadena correspondiente al número de entrada.
substring: Extrae la subcadena que empieza en i y termina en j- 1 de la cadena de entrada.
De creación de figuras básicas : circle, elipse, line, rectangle,text, triangle, regular-polygon.
De consulta de propiedades de la imagen: image-width,image-height.
De composición de figuras: overlay, underlay, beside, above y variaciones.
Para escenas animadas e imágenes de juegos: empty-scene, place-image, add-line.
Cómo se define la función en Mathematica?
Ver video
Usted necesita hacer el presupuesto mensual para ir a la universidad, sus gastos son los siguientes : transporte 3000, comida 5000 y fotocopias 3000. Usted quiere ahorrar y por eso piensa ir en bicicleta y llevar la comida desde su casa; sin embargo usted no puede ir en bicicleta todos los días, dado que dos días a la semana tiene clase de 7 am y no alcanza a llegar temprano y un día de la semana sale muy tarde de la universidad. La comida si puede ahorrar todos los días, cuál sería el ahorro del estudiante en un mes?
El dueño de un cine tiene total libertad para fijar los precios de las boletas. Sin embargo tiene un dilema con el precio de las boletas. Cuanto mayor sea el precio menos personas asisten, es decir menos personas pueden pagar los boletos.

El propietario quiere determinar la relación precisa entre el precio de un boleto y el total de la asistencia. Así que decidió tomar algunos datos y encontró lo siguiente: a un precio de $ 5000 por boleto asisten 120 personas a la presentación. Si se disminuye el precio en ($ 100) incrementa la asistencia, pues asisten 15 personas más. Sin embargo el aumento de la asistencia tiene asociado un costo mayor. Cada presentación le cuesta al propietario en total $ 180.000 y por cada asistente adicional el costo incrementa en ($ 40). El propietario le gustaría saber cómo obtener la mayor ganancia, su misión si decide aceptarla es hacer un programa que solucione el dilema precio-asistencia.
La ganancia es la diferencia entre los ingresos y los costos.
Los ingresos se genera exclusivamente por la venta de entradas. Es el producto del precio de la entrada y el número de asistentes.
Los costos se componen de dos partes: una parte fija ($ 180000) y una parte variable que depende del número de asistentes.
Por último, el dilema especifica cómo el número de asistentes depende del precio del billete.

Contratos, cabeceras y propósito
Cuerpo de las funciones
Primer Paso
Solución al dilema
Su misión si decide aceptarla es diseñar una función que dada una cadena de texto como entrada devuelva su representación binaria de la siguiente manera: todas las letras entre a y m son 1 y entre n, z y espacio son 0. por ejemplo: "hola mundo" -> 1011010010
Simple y complejo
ver video
Full transcript