Diferencia entre revisiones de «Usuario:ManuelRomero/preferencias/Scratch/DescripcionEntorno»

De WikiEducator
Saltar a: navegación, buscar
(Qué es programar)
Línea 60: Línea 60:
 
#realizarlo y analizo los resultados viendo posibles mejoras que puedo aplicar
 
#realizarlo y analizo los resultados viendo posibles mejoras que puedo aplicar
 
</div>
 
</div>
 +
 +
 +
=Conceptos básicos en la programación=
 +
<br>
 +
{{Objetivos|
 +
*A continuación y aprovechando como ejemplo de lenguaje de programación '''''Scratch''''' vamos a analizar brevemente los elementos  que intervienen en un programa de alto nivel.
 +
{{Reflexion|
 +
;Los programas los ejecuta el ordenador elemento binario que solo sabe de 1's y 0's
 +
;Los programas los escribimos las personas en un lenguaje compresible para nosotros
 +
*Evidentemente de alguna forma hay que pasar de uno a otro de forma automática}}
 +
}}
 +
===Algunas conceptos  importantes que ya veremos===
 +
<br>
 +
{{Definiciones|algoritmo,Lenguaje de programación, niveles de lenguajes, compiladores, interpretados}}
 +
<br>
 +
;Programa
 +
Un programa va a ser un conjunto de instrucciones que se ejecutan para resolver un problema planteado
 +
[[Imagen:programa1.png]]
 +
===Tipos de estructuras en la ejecución de un programa===
 +
;Instrucciones de estructuras  secuenciales
 +
;Estructuras Seleectivas
 +
;Estructuras repetitivas
 +
 +
 +
 +
 +
 +
=== Estructura secuencial ===
 +
Consiste en poner una instrucción detrás de otras. El orden de ejecución es secuncial y en orden (Excepción a esta regla los procesadores fuera de orden e instrucciones independientes).
 +
<br/>
 +
[[Archivo:secuencial.png]]
 +
 +
:Son órdenes directas que se ejecutan una detras de otras
 +
:Correspondes a estructuras secuancial
 +
;Tipos de instrucciones secuenciales
 +
*En los leguajes a nivel básico tenemos las siguietnes instrucciones secuenciales
 +
*Cuando estudiemos Javascript analizaremos cada una de ellas
 +
#Inicio/fin
 +
#leer/escribir
 +
#declaracion
 +
#asignacion
 +
 +
;Instrucciones secuenciales en scratch
 +
*En scratch tenemos las instrucciones en grupos como ya hemos visto
 +
[[gruposInstruccionesScratch.png]]
 +
Las instrucciones secuenciales pueden ser:
 +
;Movimientos
 +
;Apariencia
 +
;Sonido
 +
;Lapiz
 +
;Datos
 +
 +
 +
 +
==== Instrucción de declaración ====
 +
Sirve para declarar elementos dentro del programa
 +
En un programa se pueden declarar
 +
#variables
 +
#constantes
 +
#subprogramas (funciones, procedimientos. En terminología OO métodos)
 +
 +
==== instrucción de asignación ====
 +
Consiste en asignar un valor a una variable
 +
'''a = valor'''
 +
La parte de la izquierda siempre será una variable ''posición de memoria donde almacenaré el valor''
 +
'''valor '''se puede expresar de diferentes maneras:
 +
* '''literal''' Directamente aporto el '''valor''', '''constante o identificador de variable '''que directamente me da el valor.
 +
* '''expresión''' ==> es un predicado con operadores que es evaluado y de su evaluación obtengo un valor. En función de los operadores las expresiones serán de diferente tipo
 +
** e''xpresiones booleanas o lógicas('' operador booleano AND, OR, NOT). Su evaluación me da un valor booleano (VEDAD o FALSO)
 +
** ''expresiones aritméticas ''operadores (+,-,*,/,MOD,) (SU EVALUACIÓN ME DA UN NÚMERO)
 +
** ''expresiones de comparación ''(=,>,<,>=,<=,!=) (Su evaluación me dá un valor booleano VERDAD o FALSO)
 +
*'''Función o método''' que retorna dicho valor: Es un bloque de ejecución ''independiente'' que o bien lo escribo yo en otra parte de este bloque o bien ya está disponibles en el conjunto de funciones o bilbiotecas o API que el entorno me ofrece para utilizar directamente. Por ejemplo antes hemos escrito el método '''calculaEdad...'''
 +
 +
==== Instrucciones de leer/escribir ====
 +
En realidad aquí depende de los lenguajes, algunos como Pascal y Modula tiene dentro del lenguaje una instrucción para visualizar un texto por la pantalla y otra para leerlo del teclado y asignárselo a una variable. Otros (la mayoría), como Java, C, python,... esta funcionalidad nos la brinda una función de una biblioteca que previamente debe ser cargada. Otros como PHP tienen ambas cosas echo (parte del lenguaje), print función del sistema, ambas para visualizar caracteres por pantalla. En general con cualquier lenguaje podremos:
 +
visualizar(”cadena de caracteres , valor de variable” + variable+”expresion)
 +
y para leer un valor que el usuario introduzca por el teclado y almacenarlo en una variable
 +
leer(variable);
 +
Un Ejemplo algoritmicamente quedaría
 +
<source lang=java>
 +
void MiPrograma
 +
principio
 +
visualizar (“Introduce tu edad”);
 +
leer edad;
 +
visualizar (“Tu edad es de”+ edad);
 +
fin
 +
</source>

Revisión de 03:26 9 feb 2016

Volver




El entorno de trabajo

EntornoScracht.png

Qué es programar

  • Programar es resolver un problema de una manera concreta
  • Es dar instrucciones para que se realice un determinado algoritmo
  • Es interesante hablar de estos conceptos, si bien los trataremos mas adelante pero los necesitamos desde el principio


Icon key points.gif

Puntos clave

Programar Es algo tan cotidiano y normal que nos pasa desapercibido




Icon define.gif

Definición

  • La programación consiste en encontrar un algoritmo que resuelva un problema planteado


  • Simplemente el no saber que continuamente estamos realizando algoritmos es una falta de conscieciencia de ello , ya que lo hacemos de forma automática continuamente


Icon casestudy.gif

Ejemplo

*Lavar dientes
  • Cruzar la carretera


  • Resolver problemas es algo habitual y contidiano
  • Lo hacemos sin ser conscientes de lo que estamos haciendo
  • A veces lo hacen sin saber como lo han hecho
  • Es una invitación a la reflexión, a la tranquilidad a la hora de hacer algo



Icon key points.gif

Puntos clave

  • QUÉ QUIERO HACER
  • CÓMO LO VOY A HACER
  • PUES VENGA VAMOS A HACERLO



Pautas a la hora de hacer un programa
  • Vamos a ver sobre la marcha los conceptos, si bien en el siguiente tema los formalizaremos
  1. primero saber qué quiero hacer
  2. buscar información para ver cómo lo puedo hacer
  3. realizarlo y analizo los resultados viendo posibles mejoras que puedo aplicar


Conceptos básicos en la programación



Icon objectives.jpg

Objetivos

  • A continuación y aprovechando como ejemplo de lenguaje de programación Scratch vamos a analizar brevemente los elementos que intervienen en un programa de alto nivel.


Icon reflection.gif

Reflexión

Los programas los ejecuta el ordenador elemento binario que solo sabe de 1's y 0's
Los programas los escribimos las personas en un lenguaje compresible para nosotros
  • Evidentemente de alguna forma hay que pasar de uno a otro de forma automática





Algunas conceptos importantes que ya veremos


  • Tipo de dato conjunto de valores para los cuales hay definidos una serie de operaciones
  • Variable posición de menoria o registro identificado con un nombre (identificador)cuyo contenido va a almacenar un valor de un determinado tipo que puede ser modificado durante la ejecución de un programa
  • Constante poscición de memoria o registro identificado con un nombre cuyo valor no puede ser modificado durante la ejecución de un programa
  • Instruccion operacción que indica al procesador la acción que tiene que realizar, siendo ésta una de las características del procesador su set de instrucciones
  • Estructura de control Establecen el flujo de ejecución de un programa. Es decir las instrucciones se va a establecer dentro del programa. Un programa visto como un conjunto de instrucciones deberá tener unas determinadas estructuras de control que me permitan establecer el flujo de ejecución del mismo. En mayo de 1.966, dos matemáticos 'Bôhm y Jacopini' demostraron que un programa que algorítmicamente tuviera solución puede ser escrito utilizando solamente tres tipos de estructuras de control
  • Sentencias o estructuras de control:
  1. Sentencias secuenciales
  2. Sentencias iterativas o repetitivas
  3. Sentencias selectivas


Programa

Un programa va a ser un conjunto de instrucciones que se ejecutan para resolver un problema planteado Programa1.png

Tipos de estructuras en la ejecución de un programa

Instrucciones de estructuras secuenciales
Estructuras Seleectivas
Estructuras repetitivas



Estructura secuencial

Consiste en poner una instrucción detrás de otras. El orden de ejecución es secuncial y en orden (Excepción a esta regla los procesadores fuera de orden e instrucciones independientes).
Secuencial.png

Son órdenes directas que se ejecutan una detras de otras
Correspondes a estructuras secuancial
Tipos de instrucciones secuenciales
  • En los leguajes a nivel básico tenemos las siguietnes instrucciones secuenciales
  • Cuando estudiemos Javascript analizaremos cada una de ellas
  1. Inicio/fin
  2. leer/escribir
  3. declaracion
  4. asignacion
Instrucciones secuenciales en scratch
  • En scratch tenemos las instrucciones en grupos como ya hemos visto

gruposInstruccionesScratch.png Las instrucciones secuenciales pueden ser:

Movimientos
Apariencia
Sonido
Lapiz
Datos


Instrucción de declaración

Sirve para declarar elementos dentro del programa En un programa se pueden declarar

  1. variables
  2. constantes
  3. subprogramas (funciones, procedimientos. En terminología OO métodos)

instrucción de asignación

Consiste en asignar un valor a una variable

a = valor

La parte de la izquierda siempre será una variable posición de memoria donde almacenaré el valor valor se puede expresar de diferentes maneras:

  • literal Directamente aporto el valor, constante o identificador de variable que directamente me da el valor.
  • expresión ==> es un predicado con operadores que es evaluado y de su evaluación obtengo un valor. En función de los operadores las expresiones serán de diferente tipo
    • expresiones booleanas o lógicas( operador booleano AND, OR, NOT). Su evaluación me da un valor booleano (VEDAD o FALSO)
    • expresiones aritméticas operadores (+,-,*,/,MOD,) (SU EVALUACIÓN ME DA UN NÚMERO)
    • expresiones de comparación (=,>,<,>=,<=,!=) (Su evaluación me dá un valor booleano VERDAD o FALSO)
  • Función o método que retorna dicho valor: Es un bloque de ejecución independiente que o bien lo escribo yo en otra parte de este bloque o bien ya está disponibles en el conjunto de funciones o bilbiotecas o API que el entorno me ofrece para utilizar directamente. Por ejemplo antes hemos escrito el método calculaEdad...

Instrucciones de leer/escribir

En realidad aquí depende de los lenguajes, algunos como Pascal y Modula tiene dentro del lenguaje una instrucción para visualizar un texto por la pantalla y otra para leerlo del teclado y asignárselo a una variable. Otros (la mayoría), como Java, C, python,... esta funcionalidad nos la brinda una función de una biblioteca que previamente debe ser cargada. Otros como PHP tienen ambas cosas echo (parte del lenguaje), print función del sistema, ambas para visualizar caracteres por pantalla. En general con cualquier lenguaje podremos:

visualizar(”cadena de caracteres , valor de variable” + variable+”expresion)

y para leer un valor que el usuario introduzca por el teclado y almacenarlo en una variable

leer(variable);

Un Ejemplo algoritmicamente quedaría

void MiPrograma
principio
 visualizar (“Introduce tu edad”);
 leer edad;
 visualizar (“Tu edad es de”+ edad);
fin