Fundamentos de Programación

Slides:



Advertisements
Presentaciones similares
Fundamentos de la Programación Estructurada
Advertisements

Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.

CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
PARCIAL 2. LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE LAS CUALES SE COMUNICAN.
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
LÓGICA DE PROGRAMACIÓN UNIDAD III. INTRODUCCIÓN AL LENGUAJE C.
1 Control de Flujo Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
Computación I :: Prof. Yeniffer Peña Introducción al C Presentación Computación I.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Programación de Algoritmos Autor: Luis Eduardo Villavicencio Prof.: Ing. Danilo Jaramillo.
Programación I :: Prof. Yeniffer Peña Conceptos Avanzados de Programación Presentación.
Computación I :: Prof. Yeniffer Peña Introducción al C Presentación Computación I.
PROGRAMACIÓN I CENTRO DE ESTUDIOS INTEGRADOS EL MARISCAL - CEIM Ing. Luisa Fernanda Arenas Castañeda Feb 6 de 2016.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
Lenguaje de Programacio Python Presentado por Jubel Crispán Materia Informatica Educativa.
Taller de Java Universidad de los Andes
Tema 6: Elementos de programación adicionales
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
¿Cómo almacenar datos dentro del computador?
Estructuras de Control.
Actividad #2 Los algoritmos
Subject: Programming Methodology
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
Conceptos básicos de programación
Fundamentos de programación
METODOLOGÍA DE LA PROGRAMACIÓN
Programación I MC Beatriz Beltrán Martínez
Tema 4 Elementos para el Desarrollo de Algoritmos
Leccion 5: Escogiendo un Tipo de Variable
Tema 2 Variables y cálculos
Bucles y estructuras de decisión
Tema 6. Conceptos básicos de programación Clase 1
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
LÓGICA DE PROGRAMACIÓN
Unidad 3. Introducción a la programación
Tema 4 Elementos para el Desarrollo de Algoritmos
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Lenguaje C.
Hardware Description Language
Curso de iniciación al trabajo con MatLab 7.0
Diego Hernández R Pascal Variables Diego Hernández R
El Lenguaje C: Elementos Básicos
Tema 6 Clasificación de algoritmos
Características de “C”
Metodología de la Programación
Tema 5 Representación y Técnicas de Diseño de Algoritmos
ESTRUCTURAS DE DATOS Docente: Ing. Yesika Medina
Programación I MC José Andrés Vázquez Flores
Tema 3: Operadores Antonio J. Sierra.
Bucles y estructuras de decisión
Introducción a la Estadística Informática
Estructuras de Control
Fundamentos de la programación
Curso de Programación Estructurada
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial
Expresiones algorítmicas
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Diego Hernández R Pascal Variables Diego Hernández R
JAVA: elementos básicos
Informática Ingeniería en Electrónica y Automática Industrial
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
Programación Estructurada
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

Fundamentos de Programación Metodología de la Programación 09/11/2018 5:22

Tema 2 Metodología de la Programación Objetos de un programa Tipos de datos Expresiones Partes principales de un programa Pseudocódigo Estructura de un algoritmo expresado en pseudocódigo/C Identificadores estándar de tipos de datos Clasificación de las instrucciones Instrucciones primitivas Instrucciones de control alternativas Instrucciones de control repetitivas Elementos auxiliares de un programa 09/11/2018 5:22

1. Objetos de un programa Un objeto es Cualquier dato o código que ocupa memoria direccionable. Se caracteriza por Nombre. Palabra creada por el programador (ej. edad_1) Tipo. Valores que puede tomar, operaciones que se permiten realizar y ocupación de memoria (ej. numérico entero) Valor. Elemento que se le asigna (ej. 21) 09/11/2018 5:22

1. Objetos de un programa Constante. Variable. Objeto cuyo valor permanece invariable a lo largo de la ejecución de un programa. Variable. Objeto cuyo valor puede ser modificado a lo largo de la ejecución de un programa. 09/11/2018 5:22

1. Objetos de un programa Variables. El concepto de variable es una abstracción del concepto de celda de memoria. Sus atributos son: Nombre o identificador Hace referencia al área de memoria ligada a la variable. Los caracteres permitidos para la construcción de este nombre dependen del lenguaje de programación usado. Tipo Conjunto de valores que puede tomar, así como las operaciones permitidas. Ámbito Conjunto de instrucciones en el que aparece la variable. Tiempo de vida Intervalo en el que el área de memoria está ligado a la variable. Valor Información almacenada en el área de memoria ligada a la variable. 09/11/2018 5:22

1. Objetos de un programa Ejemplo. El siguiente algoritmo calcula el área de un círculo (en metros cuadrados) y la longitud de la circunferencia (en metros) conociendo el radio expresado en milímetros. 09/11/2018 5:22

// Programa: Circulo [PSEUDOCÓDIGO] Entorno: Constantes PI = 3.141592 Variables radio: real longitud, area : real Algoritmo: Escribir(“Introducir radio (en milímetros): “) Leer (radio) radio  radio / 1000 longitud  2 * PI * radio area  PI * radio * radio Escribir(“Área(metros cuadrados): “,area) Escribir(“Longitud(metros): “, longitud) FinAlgoritmo

// Programa: Circulo [C] #include <stdio.h> int main(void) { float const PI=3.141592; float radio, longitud, area; // ***************************************************** printf(“Introducir radio (en milímetros): “); scanf(“%f”,&radio); radio /= 1000; longitud = 2 * PI * radio; area = PI * radio * radio; printf(“Área(metros cuadrados): %f“,area); printf(“Longitud(metros): %.2f“, longitud); getchar(); } 09/11/2018 5:22

2. Tipos de datos. El tipo de un objeto especifica la clase de valores o caracteres que pueden asignarse al objeto. El rango de un tipo de datos numérico es el conjunto formado por todas sus cantidades representables, y viene determinado por el formato de representación en memoria. 09/11/2018 5:22

2. Tipos de datos. 09/11/2018 5:22

2. Tipos de datos Tipos de datos simples. Ejemplos. Entero (int) 3 -35000 Real (float o double) -1.5 2x10-4 (2E-4) Carácter (char) ‘a’ ‘?’ ‘Y’ ‘8’ Lógico Falso o Verdadero (0/1) Puntero Una dirección de memoria 09/11/2018 5:22

2. Tipos de datos Rango. Tipos numéricos enteros Desde Hasta   Desde Hasta Entero corto (char) 1 byte sin signo (binario puro) 28 – 1 = 255 con signo (compl. a 2) -27 = -128 27 – 1 = 127 Entero (short int) 2 bytes 216 – 1 = 65535 -215 = -32768 215 – 1 = 32767 Entero largo (int) 4 bytes 232 – 1 = 4*109 -231 = -2147*106 231 –1 = 2147*106 –1 Rango. Tipos numéricos enteros 09/11/2018 5:22

Real doble precisión “largo” (long double) 2. Tipos de datos   Desde Hasta Real simple precisión (float) 32 bits 3.4E-38 3.4E+38 Real doble precisión (double) 64 bits 1.7E-308 1.7E+308 Real doble precisión “largo” (long double) 80 bits 3.4E-4932 1.1E+4932 Rango. Tipos numéricos reales 09/11/2018 5:22

2. Tipos de datos Alfanuméricos. El conjunto de caracteres representado depende del código que utilice la computadora, generalmente el ASCII (código estándar americano para intercambio de información) de 8 bits, por lo que se almacenan en un byte u octeto. Siguen un orden: ... 0 1 ... 9 ... A B ... Z ... a b c ... z ... ñ Ñ ... Se representan, en un programa, encerrados entre apóstrofes. (ej. ‘H’) Unidos forman cadenas de caracteres. 09/11/2018 5:22

2. Tipos de datos Lógicos. Es un tipo de datos que sólo puede tener dos valores o estados: verdadero o falso. Se almacena en memoria mediante un octeto de ceros (0000 0000) para el valor FALSO, y cualquier otro valor (por ejemplo, 0000 0001) para el valor CIERTO. 09/11/2018 5:22

2. Tipos de datos Punteros. Es un tipo de datos que sólo puede almacenar la dirección de memoria de otro objeto. En C es imprescindible su uso para el paso por referencia a funciones. 09/11/2018 5:22

3. Expresiones Una expresión es la representación de un cálculo necesario para la obtención de un resultado, es decir, devuelve un valor como resultado de evaluarse. Una expresión consta de operadores (símbolos que denotan las operaciones) y operandos (objetos sobre los que actúan los operadores) y toma un valor que será el resultado de la ejecución de las operaciones indicadas. 09/11/2018 5:22

3. Expresiones Tipos de expresiones: Aritméticas Si el resultado es de tipo numérico. Lógicas o booleanas Si el resultado es de tipo lógico (Verdadero o Falso). Carácter o alfanuméricas Si el resultado es de tipo carácter. 09/11/2018 5:22

3. Expresiones + - * / % Operadores (C) < > <= >= == ! = Aritméticos Relacionales Lógicos Alfanuméricos + - * / % < > <= >= == ! = ! (not) && (and) || (or) + (en algunos lenguajes como Java o Pascal) 09/11/2018 5:22

3. Expresiones Orden de prioridad de operadores (en la mayoría de lenguajes de programación) Paréntesis (comenzando por los más internos). Signo. Potencias (si existe este operador). Productos y divisiones. Sumas y restas. Concatenación (de cadenas, si existe). Relacionales. Negación (NOT). Conjunción (AND). Disyunción (OR). 09/11/2018 5:22

4. Partes principales de un programa Un programa puede considerarse como una secuencia lógica de acciones (instrucciones) que manipulan un conjunto de objetos (datos) para obtener unos resultados. Bloque de declaraciones (Entorno del programa) Identificación y características de los objetos del programa (constantes, variables, tablas, registros, ...) necesarios para almacenar información. Bloque de instrucciones (Especificación del algoritmo) Conjunto de operaciones que se han de realizar para la obtención de los resultados deseados. Estas operaciones (instrucciones) se ejecutarán, desde la primera a la última, de una en una, salvo que determinadas instrucciones de control indiquen lo contrario. 09/11/2018 5:22

5. Pseudocódigo Lenguaje de especificación de algoritmos. Lenguaje intermedio entre el lenguaje natural y el lenguaje de programación de alto nivel. Permite el diseño del programa sin depender de ningún lenguaje de programación. 09/11/2018 5:22

5. Pseudocódigo Instrucciones de entrada/salida. Todo pseudocódigo debe posibilitar: Descripción de tipos de datos, constantes, variables, expresiones, archivos y otros objetos. Instrucciones de entrada/salida. Instrucciones de proceso. Sentencias de control del flujo de ejecución. Acciones compuestas. 09/11/2018 5:22

6. Estructura de un algoritmo representado en pseudocódigo En líneas generales ... Programa <nombre del programa> Entorno <descripción de los objetos> Algoritmo <lista de instrucciones> FinAlgoritmo 09/11/2018 5:22

De forma detallada ... Programa <nombre del programa> Entorno Constantes <identificador de constante> = <valor> ... Tipos <tipo definido por el usuario> = <tipo (simple | estructurado | de usuario)> Variables <identificador de variable> : <tipo (simple | estructurado | definido por el usuario)> Algoritmo <instrucción 1> <instrucción 2> ... FinAlgoritmo 09/11/2018 5:22

Reglas para la construcción de identificadores Deben comenzar por un carácter de subrayado o por un carácter alfabético en mayúscula o en minúscula. Resto de caracteres: letras, números o símbolos de subrayado. Longitud variable dependiente del lenguaje   En C, las mayúsculas y las minúsculas tienen un tratamiento diferente. No puede coincidir con una palabra reservada. No debe tener el mismo nombre que una función. 09/11/2018 5:22

Ejemplo [PSEUDOCÓDIGO] Programa MiPrimerPrograma Entorno /*Bloque de declaraciones*/ Constantes IVA = 0.16 Variables base_imponible : entero total_factura : real Algoritmo /*Bloque de instrucciones*/ Escribir (“Introduzca la base imponible: “) Leer (base_imponible) total_factura  base_imponible + base_imponible * IVA Escribir (“TOTAL FACTURA: “, total_factura) FinAlgoritmo 09/11/2018 5:22

Ejemplo [C] #include <stdio.h> #define IVA 0.16 int main(void) { /*Bloque de declaraciones*/ int base_imponible; float total_factura;; /*Bloque de instrucciones*/ printf(“Introduzca la base imponible: “); scanf(“%d”,&base_imponible); total_factura = base_imponible + base_imponible * IVA; printf (“TOTAL FACTURA: %f“, total_factura); getchar(); } 09/11/2018 5:22

7. Identificadores estándar de tipos de datos Tipos de Datos Simples Identificador de Tipo ( C ) numérico entero int, short int, long int, char numérico real float, double, long double lógico no existe en C, sí en C++ (bool) un sólo carácter char 09/11/2018 5:22

8. Clasificación de las instrucciones Instrucciones primitivas. Se ejecutan de forma inmediata De asignación De entrada De salida Instrucciones de control. Controlan el orden de ejecución de otras instrucciones Alternativas Repetitivas 09/11/2018 5:22

9. Instruccione s primitivas Asignación Lectura Escritura scanf (“especificador_tipo”,&<vble>); printf(<lista de expresiones-con_especificadores_de_tipo>); <vble> = <expresion>; 09/11/2018 5:22

9. Instrucciones primitivas Asignación Suponiendo la declaración int a,b; Valor de a a=14; 25 14 sin valor b=3; Valor de b a=b*8+1; 2 3 sin valor b--; 09/11/2018 5:22

9. Instrucciones primitivas Lectura / Escritura a 47 9 47 25 scanf(“%d”,&a); Dispositivo E scanf(“%d”,&b); b 1 47;9 Bye 1 printf(“%d”,b%2); 2 9 printf(“%d;%d%s”,a,b,“Bye”); Dispositivo S 09/11/2018 5:22

10. Instrucciones alternativas Alternativa Simple <expresión lógica> V <lista de instrucciones> 09/11/2018 5:22

10. Instrucciones alternativas Alternativa simple (if ...) a 47 b 9 1 if (b == 9 && a < 0) b += 10; if (a > b) printf (“1”); 09/11/2018 5:22

10. Instrucciones alternativas Alternativa Doble F <expresión lógica> V <lista de instrucciones 1> <lista de instrucciones 2> 09/11/2018 5:22

10. Instrucciones alternativas Alternativa doble (if... else ...) a 47 b 9 2 if (a – 40 == 7) { b += 10; printf(“2”); } else printf(“1”); 19 09/11/2018 5:22

10. Instrucciones alternativas Alternativa múltiple (switch ...) a switch (a) { case 1: b++; break; case 20: case 40: b--; break; default: b += 10; printf(“1”) } 1 47 b 29 19 09/11/2018 5:22

11. Instrucciones repetitivas Testeo antes de la iteración (while) <cuerpo del bucle> <expresión lógica> V 09/11/2018 5:22

11. Instrucciones repetitivas Repetitiva while a -2 36 scanf(“%d”,&a); while (a != 0) { printf(“%d”,a*(-2)); } -2 36 47 -72 -72 4 09/11/2018 5:22

11. Instrucciones repetitivas Testeo después de la iteración (do … while) <cuerpo del bucle> V <expresión lógica> 09/11/2018 5:22

11. Instrucciones repetitivas Repetitiva do … while a 36 -2 do { scanf(“%d”,&a); printf(“%d”,a*(-2)); } while (a!=0); 36 47 -2 -72 4 -72 4 -72 09/11/2018 5:22

11. Instrucciones repetitivas Repetitiva Para a for (a=1;a<=3;a++) printf(“%d”,a * 5); 1 2 3 47 5 10 15 5 5 10 09/11/2018 5:22

12. Elementos auxiliares Contador Acumulador Interruptor a = 0; // Inicialización a = a + 1; // Incremento (a++; ++a;) Acumulador a = 0; // Inicialización acum. sumas a = a + valor; // Acumulación suma (a+=valor) a = 1; // Inicialización acum. producto a = a * valor; // Acumulación producto (a*=valor) Interruptor b = 1; // O cualquier valor distinto de 0 if (a > 0) b = 0; // O tb. b = !b; 09/11/2018 5:22

12. Elementos auxiliares Sangría if (a > 0) b = 1; else { b = 2; c = 9; } Comentarios /* Esto es un comentario */ Acciones compuestas Una acción compuesta es aquella que ha de ser realizada dentro del algoritmo, pero que aún no está resuelta en términos de acciones simples y sentencias de control. 09/11/2018 5:22