µ-c: Manual de referencia del lenguaje Micro-C

Tamaño: px
Comenzar la demostración a partir de la página:

Download "µ-c: Manual de referencia del lenguaje Micro-C"

Transcripción

1 µ-c: Manual de referencia del lenguaje Micro-C Introducción Este manual de referencia describe en detalle el lenguaje Micro-C, para ser implementado como proyecto de los cursos de Compíladores I y II en la Universidad Tecnológica Centroamericana (UNITEC), campus Tegucigalpa. Debe notarse que la definición contiene algunas imprecisiones, ambigüedades o errores que el implementador (alumno) debe resolver. Preguntas y observaciones pueden ser dirigidas al Prof. Egdares Futch al correo efutch arroba gmail punto com. Convenciones léxicas Micro-C es case sensitive, es decir que las letras mayúsculas y minúsculas se tratan como caracteres diferentes. Comentarios y caracteres ignorados Comentario son secuencias de caracteres dentro de un par de secuencias de /*... */ pareados. Los comentarios pueden extender sobre varias líneas, pero los comentarios anidadados no se reconocen, es decir que el primer encontrado */ dentro de un comentario lo cierra. Los comentarios son ignorados. Otros caracteres ignorados incluyen el newline, la tabulación horizontal, el CR, y el espacio blanco. Tokens Las secuencias de caracteres encerrados dentro de dos apóstrofes (') son símbolos terminales. Cualquier otra secuencia de caracteres denota el nombre de una clase léxica, p.e. letra (véase abajo). En secciones posteriores utilizaremos las definiciones léxicas siguientes: letra = ' _ ' ' a ' ' b '... ' z ' ' A ' ' B '... ' Z ' dígito = ' 0 ' ' 1 '... ' 9 ' Observe que el carácter del underscore (_) está tratado como una letra. 1

2 Identificadores Manual de referencia Micro-C Un identificador es una secuencia finita de letras y de dígitos que comienza con una letra o un símbolo de subrayado (underscore). La longitud máxima de los caracteres es de 12 caracteres. identificador = (letra underscore) (letra dígito) *. Constantes numéricas Un integer_constant es una secuencia de dígitos: integer_constant = digit+ Una constante numérica se debe separar de un identificador o de una palabra clave. Las constantes numéricas deben aceptar únicamente números positivos y negativos de 16 bits representados en complemento a dos. Adicionalmente, el compilador debe permitir el ingreso de constantes numéricas hexadecimales, en formato normal de C (0xFB, 0xAD, etc.). Constantes de caractér Un char_constant se define como una comilla simple de apertura ( ), un carácter ASCII extendido imprimible y una comilla simple de cierre. Strings constantes Una constante de string es una secuencia de los caracteres incluidos dentro de dos comillas dobles ("). Una constante de string puede incluir la secuencia \ " que representa un carácter de comilla doble en la secuencia en la cual ocurre, tal que no termina el string. La secuencia \n representa el carácter del NEWLINE, mientras que la secuencia \ \ representa el carácter del backslash y se puede incluir en un string también. Una secuencia consistente de un backslash seguido por cualquier caracter a excepción de 'n', ' \ ', o ' " ' es ilegal. Por consiguiente, un string constante no debe extenderse más allá del extremo de la línea. Un par de /*... */dentro de un string constante no se trata como comentario. Operadores add_op = ' + ' ' - ' mul_op = ' * ' '/' eq_op = ' = = ' '! = ' rel_op = ' < ' ' < = ' ' > = ' ' > ' 2

3 Otros símbolos Otro símbolos que aparecen en la gramática abajo se denotan dentro de comillas dobles. Las palabras reservadas están además marcadas en negrita. Los tokens que fueron definidos arriba se imprimen en negrilla. Gramática de Micro-C translation_unit -> external-declaration translation_unit external-declaration external-declaration -> function-definition declaration function_definition -> function_def_header function_body function_def_header -> return_type identifier "(" parameters _def ")" return_type -> type "void" parameters_def -> parameter_def_list "void" parameter_def_list -> type identifier parameter_def_list "," type identifier function_body -> "" declarations statement_list "" declarations -> declarations declaration λ declaration -> variable_declaration function_declaration variable_declaration -> type identifier_list ";" function_declaration -> return_type identifier "(" parameters _decl ")" ";" parameters_decl -> parameter_decl_list parameter_decl_list "," "..." "void" parameter_decl_list -> parameter_decl_spec parameter_decl_list "," parameter_decl_spec parameter_decl_spec -> type identifier "char" "*" identifier statement_list -> statement_list statement statement statement -> expression ";" "return" ";" "return" expression ";" "while" "(" expression ")" statement "if" "(" expression ")" statement "if" "(" expression ")" statement "else"statement "" statement_list "" break ; continue ; expression -> equality_expression "=" equality_expression equality_expression 3

4 equality_expression -> relational_expression eq_op relational_expression relational_expression relational_expression -> simple_expression rel_op simple_expression simple_expression simple_expression -> simple_expression add_op term term term -> term mul_op factor factor factor -> constant identifier "(" expression ")" add_op factor identifier "(" expression_list ")" identifier "(" ")" constant -> string_constant numeric_constant char_constant numeric_constant -> integer_constant expression_list -> expression expression_list "," expression identifier_list -> identifier identifier_list "," identifier type -> "int" "char" Detalles de implementación El lenguaje µ-c es un subconjunto pequeño del lenguaje de programación C. Cualquier programa correcto escrito en µ-c debe compilar correctamente con un compilador de ANSI C. Tipos de datos el µ-c ofrece dos tipos de datos del estándar (predefinido): integer y char Bloques El µ-c sigue las reglas usuales de scoping. Las funciones pueden ser recursivas. Cada identificador de variable o de función se debe declarar antes de su uso. Expresiones Hay cuatro operadores de aritmética binaria: +, -, *,/. + y - tienen precedencia más baja que *, y /. Además, + y - pueden ser utilizados como operadores unarios. Con argumentos de tipo entero, cada operación devuelve resultado entero. Hay seis operadores relacionales binarios: <, < =, ==,! =, > =, >. Los tipos se manejan como arriba. Los operadores de igualdad (= = y!=) tienen precedencia más baja que los otros operadores relacionales. 4

5 Las expresiones de asignación se hacen por medio del operador de asignación (=) que es de una precedencia más baja que los operadores relacionales. Statements El µ-c tiene cinco diferentes statements: expresión, retorno, while, if, y bloque. La semántica de cada statement es igual que en C. Todos los parámetros son pasados a las funciones por valor. Biblioteca de runtime para I/O El µ-c proporciona versiones simples de dos funciones de I/O de la biblioteca estándar de C: printf y scanf. scanf requiere un parámetro, el cual es una secuencia de formato (una constante de string) que puede ser " %d" o " %c" solamente. La función retorna el entero o char leído del stdin. printf acepta uno o dos parámetros. Esta función se utiliza para escribir el valor de una expresión (entera o char) o de una constante de string. El primer parámetro es una secuencia de formato (una constante de string) que puede contener una sola conversión %d o %c (para imprimir un % se escribe %%). El segundo parámetro (si existe) se imprime de acuerdo a lo especificado por el directivo de conversión especificado en el primer parámetro. Ejemplos Cálculo de una expresión simple /* * Programa de prueba #1 */ int main( void ) int i, j; i = scanf("%d"); /* lea i */ j = 9 + i * 8; /* evalue j */ printf( "Resultado es %d\n", j ); /* imprima j */ 5

6 Llamada simple a función /* * Programa de prueba #2 */ int count( int n ); int main( void ) int i, sum; i = scanf( "%d", &i); /* lea i */ sum = count(i); /* llame a count */ printf( "%d\n", sum ); /* imprima resultados */ int count( int n ) int i, sum; i = 1; sum = 0; while ( i <= n ) sum = sum + i; i = i + 1; return sum; Una función recursiva simple /* * Cálculo recursivo del factorial */ int factorial( int n ) if ( n <= 1 ) return 1; else return n * factorial( n - 1 ); int main( void ) int n, fact; printf( "Ingrese un entero: " ); n = scanf( "%d"); /* lea i */ fact = factorial( n ); /* llame a factorial */ printf( "Factorial de %d ", n ); printf( "es %d\n", fact ); 6

7 Adiciones a incluir Manual de referencia Micro-C Para diferenciar los proyectos, se agregará una característica adicional que cada alumno deberá incluir en la especificación base del lenguaje. Para saber qué característica le corresponde, deberá obtener el módulo 3 de su número de cuenta, de acuerdo a la siguiente tabla: Módulo 3 del número de Característica a incluir cuenta del estudiante 0 Uso de arreglos, incluyendo declaración y uso. 1 Incorporación del statement repeat-until. 2 Uso de structs, incluyendo declaración y uso de miembros. Puntos de evaluación La evaluación del proyecto se basa en la detección de errores y la generación de código correcto. Para reportar los errores encontrados en el código fuente, se deberá imprimir al menos el número de línea y columna así como una descripción útil del error encontrado. El compilador deberá detenerse al encontrar el primer error. Los puntos que serán evaluados para obtener la calificación del proyecto son los siguientes: Implantación de la librería de runtime en assembler. Detección de errores léxicos, incluyendo los referentes a comentarios, rango de enteros y strings. Ningún identificador deberá ser declarado dos veces en el mismo ámbito Ningún identificador podrá ser usado sin haberse declarado previamente El programa fuente deberá tener un procedimiento llamado main, sin parámetros Chequeo de tipos en expresiones, de acuerdo a lo establecido en este manual. El número y tipos de los argumentos en las llamadas a funciones y procedimientos deberá ser igual a los declarados. Un statement return no debe retornar un valor a menos que se encuentre dentro de una función que haya sido declarada que retorna un valor. La expresión en un return debe tener el mismo tipo de la función donde esté contenida Los statements break y continue solo pueden aparecer dentro de bloques contenidos en statements while (o en repeat-until). Generación de código intermedio por medio de AST. Generación de código MIPS Opcional para extra crédito: al menos dos optimizaciones simples. 7

8 Opcional para extra crédito: IDE que permita cargar archivos fuente y compilarlos directamente. 8

µ-c: Manual de referencia del lenguaje Micro-C

µ-c: Manual de referencia del lenguaje Micro-C µ-c: Manual de referencia del lenguaje Micro-C Introducción Este manual de referencia describe en detalle el lenguaje Micro-C, para ser implementado como proyecto de los cursos de Compíladores I y II en

Más detalles

Tema: Compilador Micro C

Tema: Compilador Micro C Compiladores. Guía 13 1 Tema: Compilador Micro C Contenido Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores En esta guía se modificará el resultado de las guías anteriores para integrar

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas. LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

Elementos léxicos del lenguaje de programación C

Elementos léxicos del lenguaje de programación C Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * / undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No

Más detalles

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison LABORATORIO DE PROCESADORES DE LENGUAJE Curso: 2008-2009 Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison Planteamiento del problema En esta práctica se trata de realizar, mediante el

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación 1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }

Más detalles

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres 1. Fundamentos de cadenas y caracteres Cadena de caracteres Los caracteres son bloques de construcción fundamentales para los programas fuente. Un programa puede contener constantes de carácter. Una constante

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

PROGRAMACIÓN UNIDADES

PROGRAMACIÓN UNIDADES PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

INICIACIÓN A LA PROGRAMACIÓN EN C

INICIACIÓN A LA PROGRAMACIÓN EN C INICIACIÓN A LA PROGRAMACIÓN EN C Estructura de un programa sencillo en lenguaje c: Librería estándar de entrada salida Llave de apertura para delimitar el cuerpo de la función Llave de cierre para delimitar

Más detalles

Programación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí

Programación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Programación Básica Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Objetivo del Curso Estudiar y aplicar los conceptos básicos de programación estructurada en un lenguaje de

Más detalles

Operadores y Expresiones

Operadores y Expresiones Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los

Más detalles

funciones printf scanf

funciones printf scanf FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones

Más detalles

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES. APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20% UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Uso avanzado de punteros

Uso avanzado de punteros Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6

Más detalles

Normas de estilo para la codificación de programas

Normas de estilo para la codificación de programas Normas de estilo para la codificación de programas v.1.0 11/09/97 12.17 Departamento de Informática e Ingeniería de Sistemas Centro Politécnico Superior Universidad de Zaragoza María de Luna 3 50015, Zaragoza

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores La función printf Índice de contenidos Introducción...2 La función printf...2

Más detalles

PROGRAMACION / Clave: 11214

PROGRAMACION / Clave: 11214 PRACTICA 10. Programas en DevC++ 1.- Programa que imprima las tablas de multiplicar del 1 al 10, se deberá hacer una pausa entre tabla y tabla de multiplicar. 2.- Programa que se repita N cantidad de veces

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar

Más detalles

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C

MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C Antes de comenzar a desarrollar aplicaciones podemos crear el programa en cualquier editor de textos, solo hay que guardarlo con la extensión X.c

Más detalles

Introducción al Lenguaje de Programación C

Introducción al Lenguaje de Programación C Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado

Más detalles

Datos y tipos de datos

Datos y tipos de datos Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

Sintaxis básica, variables y 7pos

Sintaxis básica, variables y 7pos Contenidos Sintaxis básica, variables y 7pos Curso de Programación en Java! Sintaxis básica! Variables y 7pos! Entrada/Salida básica! Operadores y expresiones Jesús Montes Sánchez jmontes@fi.upm.es Estructura

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

PROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX

PROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX PROCESADORES DE LENGUAJE Ingeniería Informática Especialidad de Computación Tercer curso Segundo cuatrimestre Departamento de Informática y Análisis Numérico Escuela Politécnica Superior de Córdoba Universidad

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Tema 3 Constantes, Variables y Tipos

Tema 3 Constantes, Variables y Tipos Tema 3 Constantes, Variables y Tipos Contenidos 1. Definiciones. 1.1 Variables y Constantes. 1.2 Identificadores. 2. Declaración de Variables en un Programa en C. 3. Tipos de Datos. 3.1 Clasificación.

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

Java para programadores

Java para programadores Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos

Más detalles

El Lenguaje de Programación C

El Lenguaje de Programación C El Lenguaje de Programación C C es un lenguaje de alto nivel que permite a) describir un modelo de los datos del problema (como vimos en los ejs.): declaración de variables y de sus tipos de datos b) describir

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

OPERADORES Y EXPRESIONES

OPERADORES Y EXPRESIONES OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Práctica de constantes, expresiones y operadores. Programación en C 1

Práctica de constantes, expresiones y operadores. Programación en C 1 Práctica de constantes, expresiones y operadores Programación en C 1 Definición de variables (II) Las variables (automáticas) no inicializadas tienen cualquier valor. Una variable (automática) se inicializa

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Resumen de Sintaxis en C

Resumen de Sintaxis en C 1 Tipos, operadores y expresiones Resumen de Sintaxis en C Identificadores: Formados por letras, números y '_'. Los primeros 31 caracteres son significativos (dependiente del compilador). Las mayúsculas

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Pág. N. 1 Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Familia: Editorial: Autor: Tecnología de la Información y Computación Macro Manuel Torres Remon ISBN: 978-612-304-101-4 N. de

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en

Más detalles