Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Documentos relacionados
Programación 1 Tema 3. Información, datos, operaciones y expresiones

Examen escrito de Programación 1

Elementos de un programa en C

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

Estructuras de Datos Declaraciones Tipos de Datos

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

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

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

FUNDAMENTOS DE INFORMÁTICA

Hoja de ejercicios del Tema 3

Lenguajes de programación

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.

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

Lección 2 Introducción al lenguaje C

Estructuras de control

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Lenguaje de programación C. Introducción

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

Tema: Arreglos de Objetos en C++.

Tema: Clases y Objetos en C++.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Programación Estructurada

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Fundamentos de Programación 2017-I

Tema 2 Introducción a la Programación en C.

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

ALMACENAMIENTO PERSISTENTE DE DATOS

Instrucciones de control

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

Java para no Programadores

Estructuras de Control 3

Tema 2. El lenguaje JAVA

Elementos léxicos del lenguaje de programación Java

El lenguaje C. 1. Identificadores, constantes y variables

Introducción a los Computadores

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

Tema 3. Tipos de datos simples

Principios de Computadoras II

LENGUAJE. Tema 2 Elementos de un programa

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

5. Sentencias selectivas o condicionales

Universidad de Managua

Características de Lenguajes de Scripts

INTRODUCCIÓN AL LENGUAJE C++

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Programación. Test Autoevaluación Tema 3

ANEXO XVII DE LA RESOLUCION N

Tema: Sobrecarga de Operadores.

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

Computadora y Sistema Operativo

Introducción al Lenguaje de Programación C

Programación básica C++

Estructuras de Control

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Tema: Punteros a Objetos. Puntero this.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Tema: Tabla de Símbolos

Manual de turbo pascal

Tema 4: Estructuras de Control Estructura y Contenidos

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

4. Operadores Operador asignación

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

Sintaxis básica, variables y 7pos

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.

Introducción a C++ y Code::Blocks

Elementos léxicos del lenguaje de programación C

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Capítulo 6. Introducción a la POO

Programación En Lenguaje C

Tema 7. Generación de código

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

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

Pseudolenguaje. (1 byte) (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio n 1 [MIN(C)..

Programación Avanzada

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

Introducción al laboratorio de Programación I

INTRODUCCIÓN AL LENGUAJE C

Introducción a Java LSUB. 30 de enero de 2013 GSYC

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

INFORMATICA I EJERCICIOS PROPUESTOS Buscar en el diccionario Qué es INFORMÁTICA?, Qué es

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

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Preliminares. Tipos de variables y Expresiones

Prof. Dr. Paul Bustamante

1. Computadores y programación

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

TEMA 4. ESTRUCTURAS DE CONTROL

Unidad II: Análisis semántico

FUNDAMENTOS DE PROGRAMACIÓN

1 Estructura básica de un programa C++

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Transcripción:

Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1

Léxico, sintaxis y semántica de un lenguaje #include <iostream> #include <iomanip> using namespace std; /* * Pre: r >= 0.0 * Post: Escribe por pantalla, en una misma línea, el valor del radio <r> * y de la longitud de una circunferencia de radio <r> */ void circunferencia (double r) { // Define el valor de la constante trigonométrica PI const double PI = 3.1416; // Presenta los valores del radio y la longitud de la circunferencia cout << fixed << setprecision(2) << setw(7) << r << setprecision(3) << setw(16) << 2.0 * PI * r << endl; }... 2

Léxico, sintaxis y semántica de un lenguaje #include <iostream> #include <iomanip> using namespace std;... /* * Pre: * Post: Escribe por pantalla el radio y la longitud de tres * circunferencias */ int main() { // Escribe el encabezamiento del listado de resultados cout << setw(7) << "Radio" << setw(20) << "Circunferencia" << endl; cout << setw(7) << "=====" << setw(20) << "==============" << endl; // Escribe el radio y la longitud de tres circunferencias circunferencia(1.234); circunferencia(5.0112); circunferencia(11.5178); // El programa termina normalmente devolviendo un valor 0 return 0; } 3

Léxico, sintaxis y semántica de un lenguaje natural o de un lenguaje de programación Léxico: Y eso qué es? Sintaxis: Y eso qué es? Semántica: Y eso qué es? 4

Léxico: Léxico, sintaxis y semántica de un lenguaje Vocabulario o conjunto de palabras y símbolos válidosde un idioma o lenguaje. Sintaxis: Y eso qué es? Semántica: Y eso qué es? 5

#include <iostream> #include <iomanip> using namespace std; Léxico: Comentarios Espacios en blanco Palabras reservadas Identificadores Delimitadores Separadores Operadores /* * Pre: r >= 0.0 * Post: Escribe por pantalla, en una misma línea, el valor del radio <r> * y de la longitud de una circunferencia de radio <r> */ void circunferencia (double r) { // Define el valor de la constante trigonométrica PI const double PI = 3.1416; // Presenta los valores del radio y la longitud de la circunferencia cout << fixed << setprecision(2) << setw(7) << r << setprecision(3) << setw(16) << 2.0 * PI * r << endl; }... 6

... /* * Pre: * Post: Escribe por pantalla el radio y la longitud de tres * circunferencias */ int main() { // Escribe el encabezamiento del listado de resultados cout << setw(7) << "Radio" << setw(20) << "Circunferencia" << endl; cout << setw(7) << "=====" << setw(20) << "==============" << endl; // Escribe el radio y la longitud de tres circunferencias circunferencia(1.234); circunferencia(5.0112); circunferencia(11.5178); // El programa termina normalmente devolviendo un valor 0 return 0; } 7

Léxico: Léxico, sintaxis y semántica de un lenguaje Vocabulario o conjunto de palabras y símbolos válidosde un idioma o lenguaje. Sintaxis: Parte de la gramática que enseña a coordinar y unir las palabras o símbolos para formar oraciones y expresar conceptos. Conjunto de reglas que definen las secuencias correctas de los elementos léxicos de un lenguaje de programación. Semántica: Y eso qué es? 8

#include <iostream> #include <iomanip> using namespace std; Sintaxis: Estructura del texto (de las secuencias de símbolos que lo componen) /* * Pre: r >= 0.0 * Post: Escribe por pantalla, en una misma línea, el valor del radio <r> * y de la longitud de una circunferencia de radio <r> */ void circunferencia (double r) { // Define el valor de la constante trigonométrica PI const double PI = 3.1416; // Presenta los valores del radio y la longitud de la circunferencia cout << fixed << setprecision(2) << setw(7) << r << setprecision(3) << setw(16) << 2.0 * PI * r << endl; }... 9

... /* * Pre: * Post: Escribe por pantalla el radio y la longitud de tres * circunferencias */ int main() { // Escribe el encabezamiento del listado de resultados cout << setw(7) << "Radio" << setw(20) << "Circunferencia" << endl; cout << setw(7) << "=====" << setw(20) << "==============" << endl; // Escribe el radio y la longitud de tres circunferencias circunferencia(1.234); circunferencia(5.0112); circunferencia(11.5178); // El programa termina normalmente devolviendo un valor 0 return 0; } 10

Léxico: Léxico, sintaxis y semántica de un lenguaje Vocabulario o conjunto de palabras y símbolos válidosde un idioma o lenguaje. Sintaxis: Parte de la gramática que enseña a coordinar y unir las palabras o símbolos para formar oraciones y expresar conceptos. Conjunto de reglas que definen las secuencias correctas de los elementos léxicos de un lenguaje de programación. Semántica: Perteneciente o relativo al significado de las palabras yoraciones. 11

#include <iostream> #include <iomanip> using namespace std; Semántica: Significado del texto y de las frases (secuencias de símbolos) que lo componen /* * Pre: r >= 0.0 * Post: Escribe por pantalla, en una misma línea, el valor del radio <r> * y de la longitud de una circunferencia de radio <r> */ void circunferencia (double r) { // Define el valor de la constante trigonométrica PI const double PI = 3.1416; // Presenta los valores del radio y la longitud de la circunferencia cout << fixed << setprecision(2) << setw(7) << r << setprecision(3) << setw(16) << 2.0 * PI * r << endl; }... 12

... /* * Pre: * Post: Escribe por pantalla el radio y la longitud de tres * circunferencias */ int main() { // Escribe el encabezamiento del listado de resultados cout << setw(7) << "Radio" << setw(20) << "Circunferencia" << endl; cout << setw(7) << "=====" << setw(20) << "==============" << endl; // Escribe el radio y la longitud de tres circunferencias circunferencia(1.234); circunferencia(5.0112); circunferencia(11.5178); // El programa termina normalmente devolviendo un valor 0 return 0; } 13

Léxico de un lenguaje de programación: símbolos Palabras clave o palabras reservadas del lenguaje: asm auto bool break case cath char class const const_cast continue default delete do... Identificadores: Operadores: Delimitadores, separadores y finalizadores: Constantes o literales: 14

Léxico de un lenguaje de programación: símbolos Palabras clave o palabras reservadas del lenguaje: asm auto bool break case cath char class const const_cast continue default delete do... Identificadores: std main cout circunferencia r PI... Operadores: Delimitadores, separadores y finalizadores: Constantes o literales: 15

Léxico de un lenguaje de programación: símbolos Palabras clave o palabras reservadas del lenguaje: asm auto bool break case cath char class const const_cast continue default delete do... Identificadores: std main cout circunferencia r PI... Operadores: + * / > >= ==!= = ++ % &&... Delimitadores, separadores y finalizadores: Constantes o literales: 16

Léxico de un lenguaje de programación: símbolos Palabras clave o palabras reservadas del lenguaje: asm auto bool break case cath char class const const_cast continue default delete do... Identificadores: std main cout circunferencia r PI... Operadores: + * / > >= ==!= = ++ % &&... Delimitadores, separadores y finalizadores:, ;. { } ( ) [ ]... Constantes o literales: 17

Léxico de un lenguaje de programación : símbolos Palabras clave o palabras reservadas del lenguaje: asm auto bool break case cath char class const const_cast continue default delete do... Identificadores: std main cout circunferencia r PI... Operadores: + * / > >= ==!= = ++ % &&... Delimitadores, separadores y finalizadores:, ;. { } ( ) [ ]... Constantes o literales: 1670 0.4731 14.5e10 true false H + H + Error en la linea 54... 18

en rojo: operadores Sintaxis: notación BNF o notación de Backus Naur en rojo: operadores Metasímbolos utilizados: <nombre_regla> ::= expresión (definición de una regla) Pepi54to (expresión literal) exp1 exp2 (expresión alternativa) <nombre_regla> (sustituir por la expresión asociada) ( expresión ) (una sola vez) { expresión } (cero o más veces) [ expresión ] (cero o una vez) Podemos definir la sintaxis de bit, vocal, secuencia_binaria y código: <bit> ::= 0 1 <vocal> ::= A E I O U <secuencia_binaria> ::= <bit> { <bit> } <código> ::= <vocal> { <vocal> <bit> } <vocal> { <secuencia_binaria> } 19

Sintaxis: notación BNF o notación de Backus Naur Vamos a definir la sintaxis de un identificador en C++: <mayúsc> ::= A B C... X Y Z <minúsc> ::= a b c... x y z <dígito> ::= 0 1 2 3 4 5 6 7 8 9 <identificador> ::= ( <mayúsc> < minúsc > _ ) { <mayúsc> < minúsc > <dígito> _ } Ejercicio. Escribir una lista variada de identificadores C++ correctos y una lista variada de secuencias de caracteres que no puedan serlo, indicando las causas en cada caso. Por cierto: Quiénes son Peter Naur y John Backus? Debieras consultadlo ya que son personalidades destacadas en el mundo de la Informática 20

Sintaxis de algunas instrucciones Sintaxis de un bloque de instrucciones en C++: <bloque> ::= "{" { <declaración> } { <instrucción> } "}" Ejemplo de un bloque: { } int aux = uno; uno = otro; otro = aux; 21

Sintaxis de algunas instrucciones Sintaxis de una instrucción condicional en C++: <instruccionif> ::= "if" "(" <condicion> ")" ( <instruccion> <bloque> ) { "else if" "(" <condicion> ")" ( <instruccion> <bloque> ) } [ "else" ( <instruccion> <bloque> ) ] Ejemplo de una instrucción condicional: if (x > 0) { y = x * y; } else { y = x + y; } 22

Cómo ejecutar un programa Algunas ideas importantes Compilación (traducción) del código fuente (un texto) a código binario (código máquina), construcción de una aplicación (código máquina) y ejecución de ésta en la maquina (computador). Es el caso de los programas escritos en C++. Interpretación del código fuente (análisis + ejecución de cada instrucción del código fuente). Esquemas mixtos: compilación a un código intermedio (ejemplo: a código de la Máquina Virtual Java o JVM) e interpretación de éste. Computador Máquina programable de tratamiento de información Consta de: Procesador(es) o unidad(es) central(es) de proceso (CPU) y unidad(es) aritmético lógicas (ALU) Memoria para el almacenamiento de datos y programas Dispositivos periféricos: pantalla, teclado, impresora, plotter, dispositivos de almacenamiento, altavoces, micrófonos, joysticks, etc. Conectividad a redes 23

Sistema operativo Algunas ideas importantes (cont.) Conjunto de programas que facilitan la utilización del computador: Acceso de usuarios Seguridad y protección Almacenamiento y gestión de ficheros o archivos Edición, puesta a punto y ejecución de programas Etc., etc. Y controlan el funcionamiento interno del computador optimizando su rendimiento: Gestiona los programas en ejecución (asignación de recursos y ordenación de tareas) Gestiona el uso de la memoria por los diferentes programas en ejecución Gestiona el acceso a ficheros por los diferentes programas en ejecución Controla el uso de dispositivos periféricos por los diferentes programas en ejecución Etc., etc. 24

Algunas ideas importantes (cont.) Entorno de programación (IDE) Programa o conjunto de programas que facilitan el trabajo de los programadores Permite el desarrollo y la puesta a punto de programas: Edición del texto de un programa (programa fuente) Compilación o interpretación de programas Construcción de programas ejecutables y de bibliotecas Depuración y ejecución de un programa En las prácticas de esta asignatura utilizaremos el entorno de programación CodeLite 25

26