SlideShare una empresa de Scribd logo
1 de 19
Conceptos
fundamentales
Estilo de programación
 La importancia de usar un estilo de programación para el desarrollo de un
programa es vital para la comprensión, lectura y escritura; considerando
que los programas profesionales se lee muchas más veces de las que se
escriben.
 La legibilidad de un programa no depende sólo de las características del
lenguaje de programación, sino del estilo en que ésta escrito es lo que
determina en gran medida su legibilidad.
 Uno de los principales aspectos en los que se juega un papel muy
importante en la legibilidad de los programas es en el del mantenimiento
del software; es decir la modificación del código con la finalidad de
corregir errores o añadir nuevas opciones o funcionalidades.
 A diferencia de la sintaxis del lenguaje de programación,
que son reglas fijas que obligatoriamente hay que seguir,
un estilo de programación, está constituido por
directrices que ayudan a obtener programas legibles. Es
por esto que, si bien no existen estilos absolutamente
correctos o incorrectos, es aconsejable la adopción, de
una manera sistemática, de un conjunto de norma para la
escritura de programas.
Ejemplos de estilos
 Estilo en java
 Estilo en C
Evaluación de expresiones
X = A / B - C + D * E - A * C
EXPRESIÓN
Operandos Operadores Delimitadores
 5 operandos A,B,C,D,E
Pueden ser cualquier variable o constante válida del lenguaje. Los valores de las
variables deben ser coherentes con las operaciones que se realicen con ellas.
 6 operadores /,-,+,*,-,*
Describen las operaciones que se realizan entre las
variables, pueden ser aritméticos, lógicos,
relacionales.
 Orden en el que se deben realizar las
operaciones, cada lenguaje debe definir
exactamente dicho orden
Si A = 4, B = C = 2, D = E = 3 =>
 El orden en el que se deben realizar las
operaciones se especifica mediante: prioridades
o paréntesis
 El lenguaje define prioridades para los operadores
 El programador puede cambiar las prioridades mediante ( )
 A igual prioridad, evaluación de izquierda a derecha
 La prioridad de los operadores no es relevante
La expresión se puede evaluar realizando un recorrido de
izquierda a derecha, apilando los operandos y evaluando los
operadores utilizando los operandos adecuados extraídos de
la pila y apilando el resultado intermedio para repetir el
proceso.
Definición de funciones
Función: es un bloque de instrucciones que realiza
tareas bien definidas. Todo programa en C consta de
una o más funciones. La ejecución de un programa en C
siempre comienza por la función. Cuando se ejecuta
una función el control pasa al punto donde esta inicia.
Una vez finalizada su ejecución, se devuelve el control
al punto desde el que se hizo la llamada a la función.
1) PROTOTIPO DE UNA FUNCIÓN. tiene la sintaxis:
 tipo nombre(parámetro 1, parámetro 2, ...parámetro N );
donde :
tipo: es el tipo de valor devuelto por la función. Los
procedimientos son tipo void.
 nombre: es el nombre de la función
 parámetros: conjunto de argumentos, separados por comas y
encerrados entre
 paréntesis. Los parámetros son opcionales, en caso de que no
se especifiquen,
enseguida del nombre de la función se escribe un par de
paréntesis vacíos. El prototipo de la función va seguido de ;
Tipos de Datos
 Una definición muy simple:
El tipo de un dato es el conjunto de valores que puede tomar durante el
programa. Si se le intenta dar un valor fuera del conjunto se producirá
un error.
 La asignación de tipos a los datos tiene dos objetivos principales:
-Por un lado, detectar errores en las operaciones
-Por el otro, determinar cómo ejecutar estas operaciones
Clasificaciones en los tipos de datos
 Existen muchas clasificaciones para los tipos de datos, y dependiendo de la
fuente que mires, te mostrarán una u otra. A continuación tienes una de las
posibles clasificaciones:
-Dinámicos
-Estáticos
-Tipo cadena
-Estructurados
-Simples
-Ordinales
-No ordinales
Tipo simple
 Realmente de los tipos simples veremos los más básicos, que
son: integer, boolean, char y real. Además, las cadenas de caracteres, los
llamados strings.
Tipos de datos en Haskell
 Bool (boleano)
 Char (caracter)
 String (cadena de caracteres)
 Int (enteros de precisión fija)
 Integer (enteros de precisión arbitraria)
 Float (reales de simple precisión)
Evaluación de expresiones en lenguaje
Haskell
 Operadores de igualdad y orden
(>) mayor que
(¸) mayor o igual que
(<) menor que
(·) menor o igual que
(==) igual a
(6=) distinto de
Funciones
 Ya que Haskell es un lenguaje funcional, podemos esperar que las funciones
jueguan un papel esencial, como veremos seguidamente. Es esta sección,
trataremos varios aspectos de las funciones en Haskell.
 add :: Integer -> Integer -> Integer
add x y = x + y
 La bien conocida función map constituye un ejemplo perfecto
 map :: (a->b) -> [a] -> [b]
map f [] = []
map f (x:xs) = f x : map f xs
 La función map es polimórfica y su tipo indica claramente que su primer
argumento es una función; nótese que las dos a's deben ser instanciadas al
mismo tipo (e igualmente para las b's). Como ejemplo de uso de map, podemos
incrementar
los elementos de una lista:
map (add 1) [1,2,3] => [2,3,4]
 Los operadores infijos son también funciones, y pueden definirse a través
de ecuaciones.
 Por ejemplo, tenemos la siguiente definición para el operador de
concatenación:
(++) :: [a] -> [a] -> [a]
[] ++ ys = ys
(x:xs) ++ ys = x : (xs++ys)
 Más interesante es la función numsFrom:
numsFrom n = n : numsFrom (n+1)
de forma que numsFrom n es la lista infinita de los enteros a partir de n. Con ésta
podemos construir una lista infinita de cuadrados:
squares = map (^2) (numsfrom 0)
 take, takeWhile, filter, y otras.

Más contenido relacionado

La actualidad más candente

Ejercicios
EjerciciosEjercicios
EjerciciosTensor
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2David Tuarez
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos ProgramasPaulo Guerra Terán
 
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
 
Operadores Fundamentos de la Programacion
Operadores Fundamentos de la ProgramacionOperadores Fundamentos de la Programacion
Operadores Fundamentos de la Programacionjosarta
 
Trabajo De Matematicas
Trabajo De MatematicasTrabajo De Matematicas
Trabajo De Matematicasguest6a9621
 
Tema 7
Tema 7Tema 7
Tema 7UH
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instruccionesrcarrerah
 
Programacion grado 10
Programacion grado 10Programacion grado 10
Programacion grado 10Ruth Guerrero
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representaciónBenjamin Medina Ramirez
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionManuelDorante65
 

La actualidad más candente (17)

Ejercicios
EjerciciosEjercicios
Ejercicios
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2
 
Funciones
FuncionesFunciones
Funciones
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
Progra
PrograProgra
Progra
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
 
Operadores Fundamentos de la Programacion
Operadores Fundamentos de la ProgramacionOperadores Fundamentos de la Programacion
Operadores Fundamentos de la Programacion
 
Trabajo De Matematicas
Trabajo De MatematicasTrabajo De Matematicas
Trabajo De Matematicas
 
Unidad 2 Principios de programación
Unidad 2 Principios de programaciónUnidad 2 Principios de programación
Unidad 2 Principios de programación
 
Tema 7
Tema 7Tema 7
Tema 7
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Programacion grado 10
Programacion grado 10Programacion grado 10
Programacion grado 10
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representación
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacion
 
Grupo 03
Grupo 03Grupo 03
Grupo 03
 

Destacado

Diapositivas
DiapositivasDiapositivas
Diapositivasalonso204
 
Jerry schwab 2016 combined
Jerry schwab 2016 combinedJerry schwab 2016 combined
Jerry schwab 2016 combinedJerry Schwab
 
عرفي الأكسدة
عرفي الأكسدةعرفي الأكسدة
عرفي الأكسدةentesar alenzi
 
Finalnaya prezentatsia konditerskaya
Finalnaya prezentatsia konditerskayaFinalnaya prezentatsia konditerskaya
Finalnaya prezentatsia konditerskayaАйжан Жумаш
 
The-Bolt-Winter-Spring-2015
The-Bolt-Winter-Spring-2015The-Bolt-Winter-Spring-2015
The-Bolt-Winter-Spring-2015Asim Riaz
 
INSTRUMENTS USED IN ENDODONTICS
INSTRUMENTS USED IN ENDODONTICSINSTRUMENTS USED IN ENDODONTICS
INSTRUMENTS USED IN ENDODONTICSDr. Vishal Gohil
 
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢM
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢMPHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢM
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢMSoM
 
THOÁI HÓA KHỚP GỐI
THOÁI HÓA KHỚP GỐITHOÁI HÓA KHỚP GỐI
THOÁI HÓA KHỚP GỐISoM
 

Destacado (14)

ResumeExport (1)
ResumeExport (1)ResumeExport (1)
ResumeExport (1)
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Flujograma
FlujogramaFlujograma
Flujograma
 
Documento 1
Documento 1Documento 1
Documento 1
 
Jerry schwab 2016 combined
Jerry schwab 2016 combinedJerry schwab 2016 combined
Jerry schwab 2016 combined
 
174
174174
174
 
عرفي الأكسدة
عرفي الأكسدةعرفي الأكسدة
عرفي الأكسدة
 
Finalnaya prezentatsia konditerskaya
Finalnaya prezentatsia konditerskayaFinalnaya prezentatsia konditerskaya
Finalnaya prezentatsia konditerskaya
 
The-Bolt-Winter-Spring-2015
The-Bolt-Winter-Spring-2015The-Bolt-Winter-Spring-2015
The-Bolt-Winter-Spring-2015
 
Final 480 assignment
Final 480 assignmentFinal 480 assignment
Final 480 assignment
 
Geografi
GeografiGeografi
Geografi
 
INSTRUMENTS USED IN ENDODONTICS
INSTRUMENTS USED IN ENDODONTICSINSTRUMENTS USED IN ENDODONTICS
INSTRUMENTS USED IN ENDODONTICS
 
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢM
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢMPHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢM
PHÁC ĐỒ ĐIỀU TRỊ BỆNH TRẦM CẢM
 
THOÁI HÓA KHỚP GỐI
THOÁI HÓA KHỚP GỐITHOÁI HÓA KHỚP GỐI
THOÁI HÓA KHỚP GỐI
 

Similar a Conceptos fundmentales

Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage cLorena Sanchez
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfcarlosquiza2
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c Liz O
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacionConfesorAD
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Jennybeatriz1
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Bryangio2002
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Material sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdfMaterial sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdfSistemadeEstudiosMed
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomezalejitaacg
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)alejandra985
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)alejandra985
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- PseudocódigoYenny Salazar
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseintLeidyEspinoza6
 
Python guia01 1
Python guia01 1Python guia01 1
Python guia01 1zeta2015
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 

Similar a Conceptos fundmentales (20)

Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacion
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Material sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdfMaterial sobre sintaxis de programación.pdf
Material sobre sintaxis de programación.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Practica
PracticaPractica
Practica
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseint
 
Python guia01 1
Python guia01 1Python guia01 1
Python guia01 1
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeInt
 
Semana 02 software libre maxima
Semana 02 software libre maximaSemana 02 software libre maxima
Semana 02 software libre maxima
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 

Conceptos fundmentales

  • 2. Estilo de programación  La importancia de usar un estilo de programación para el desarrollo de un programa es vital para la comprensión, lectura y escritura; considerando que los programas profesionales se lee muchas más veces de las que se escriben.  La legibilidad de un programa no depende sólo de las características del lenguaje de programación, sino del estilo en que ésta escrito es lo que determina en gran medida su legibilidad.  Uno de los principales aspectos en los que se juega un papel muy importante en la legibilidad de los programas es en el del mantenimiento del software; es decir la modificación del código con la finalidad de corregir errores o añadir nuevas opciones o funcionalidades.
  • 3.  A diferencia de la sintaxis del lenguaje de programación, que son reglas fijas que obligatoriamente hay que seguir, un estilo de programación, está constituido por directrices que ayudan a obtener programas legibles. Es por esto que, si bien no existen estilos absolutamente correctos o incorrectos, es aconsejable la adopción, de una manera sistemática, de un conjunto de norma para la escritura de programas.
  • 4. Ejemplos de estilos  Estilo en java  Estilo en C
  • 5. Evaluación de expresiones X = A / B - C + D * E - A * C EXPRESIÓN Operandos Operadores Delimitadores  5 operandos A,B,C,D,E Pueden ser cualquier variable o constante válida del lenguaje. Los valores de las variables deben ser coherentes con las operaciones que se realicen con ellas.
  • 6.  6 operadores /,-,+,*,-,* Describen las operaciones que se realizan entre las variables, pueden ser aritméticos, lógicos, relacionales.  Orden en el que se deben realizar las operaciones, cada lenguaje debe definir exactamente dicho orden Si A = 4, B = C = 2, D = E = 3 =>  El orden en el que se deben realizar las operaciones se especifica mediante: prioridades o paréntesis
  • 7.  El lenguaje define prioridades para los operadores  El programador puede cambiar las prioridades mediante ( )  A igual prioridad, evaluación de izquierda a derecha  La prioridad de los operadores no es relevante La expresión se puede evaluar realizando un recorrido de izquierda a derecha, apilando los operandos y evaluando los operadores utilizando los operandos adecuados extraídos de la pila y apilando el resultado intermedio para repetir el proceso.
  • 8. Definición de funciones Función: es un bloque de instrucciones que realiza tareas bien definidas. Todo programa en C consta de una o más funciones. La ejecución de un programa en C siempre comienza por la función. Cuando se ejecuta una función el control pasa al punto donde esta inicia. Una vez finalizada su ejecución, se devuelve el control al punto desde el que se hizo la llamada a la función.
  • 9. 1) PROTOTIPO DE UNA FUNCIÓN. tiene la sintaxis:  tipo nombre(parámetro 1, parámetro 2, ...parámetro N ); donde : tipo: es el tipo de valor devuelto por la función. Los procedimientos son tipo void.  nombre: es el nombre de la función  parámetros: conjunto de argumentos, separados por comas y encerrados entre  paréntesis. Los parámetros son opcionales, en caso de que no se especifiquen, enseguida del nombre de la función se escribe un par de paréntesis vacíos. El prototipo de la función va seguido de ;
  • 10. Tipos de Datos  Una definición muy simple: El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.
  • 11.  La asignación de tipos a los datos tiene dos objetivos principales: -Por un lado, detectar errores en las operaciones -Por el otro, determinar cómo ejecutar estas operaciones
  • 12. Clasificaciones en los tipos de datos  Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuación tienes una de las posibles clasificaciones: -Dinámicos -Estáticos -Tipo cadena -Estructurados -Simples -Ordinales -No ordinales
  • 13. Tipo simple  Realmente de los tipos simples veremos los más básicos, que son: integer, boolean, char y real. Además, las cadenas de caracteres, los llamados strings.
  • 14. Tipos de datos en Haskell  Bool (boleano)  Char (caracter)  String (cadena de caracteres)  Int (enteros de precisión fija)  Integer (enteros de precisión arbitraria)  Float (reales de simple precisión)
  • 15. Evaluación de expresiones en lenguaje Haskell  Operadores de igualdad y orden (>) mayor que (¸) mayor o igual que (<) menor que (·) menor o igual que (==) igual a (6=) distinto de
  • 16. Funciones  Ya que Haskell es un lenguaje funcional, podemos esperar que las funciones jueguan un papel esencial, como veremos seguidamente. Es esta sección, trataremos varios aspectos de las funciones en Haskell.  add :: Integer -> Integer -> Integer add x y = x + y  La bien conocida función map constituye un ejemplo perfecto  map :: (a->b) -> [a] -> [b] map f [] = [] map f (x:xs) = f x : map f xs
  • 17.  La función map es polimórfica y su tipo indica claramente que su primer argumento es una función; nótese que las dos a's deben ser instanciadas al mismo tipo (e igualmente para las b's). Como ejemplo de uso de map, podemos incrementar los elementos de una lista: map (add 1) [1,2,3] => [2,3,4]
  • 18.  Los operadores infijos son también funciones, y pueden definirse a través de ecuaciones.  Por ejemplo, tenemos la siguiente definición para el operador de concatenación: (++) :: [a] -> [a] -> [a] [] ++ ys = ys (x:xs) ++ ys = x : (xs++ys)
  • 19.  Más interesante es la función numsFrom: numsFrom n = n : numsFrom (n+1) de forma que numsFrom n es la lista infinita de los enteros a partir de n. Con ésta podemos construir una lista infinita de cuadrados: squares = map (^2) (numsfrom 0)  take, takeWhile, filter, y otras.