Programación 1 (01) Prof. Flor Narciso ve) Prof

Slides:



Advertisements
Presentaciones similares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Advertisements

¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
LENGUAJES DE PROGRAMACIÓN Y ALGORITMOS
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Computadoras y programación
Lenguajes de programación
DESARROLLO DE PROGRAMAS
UNIDAD II: ALGORITMOS Y LENGUAJES
CONCEPTOS BASICOS DE PROGRAMACION
MANUAL EXPRESS DE C J.M.sevilla.
INSTITUTO TECNOLOGICO DE MINATITLAN
Introducción a la Programación
Lenguaje de Programación C
Programación I Teoría I
Profesor: Ing. Matías Vallerga Ayudante: Lic. Cristian Kenny
Técnico en programación de Software
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Introducción al Lenguaje C (ANSI)
Programación 1 Introducción
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
METODOLOGIA DE LA PROGRAMACION
Funciones en lenguaje C
Tema 6. Conceptos básicos de programación
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
Asignatura: Computadores
ALGORITMOS Y ESTRUCTURAS DE DATOS
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
Introducción a la programación en C
Fundamentos de Programación
Lenguaje C.
Proceso de información en la computadora
M.C. Meliza Contreras González
Estructura de un programa C
LENGUAJES DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN.
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
Elementos básicos del lenguaje
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Estructura de un programa C. 1 Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de bajo nivel (ensamblador) 3.- Lenguaje de máquina.
LENGUAJES DE PROGRAMACION
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
“PARADIGMAS Y LENGUAJES DE PROGRAMACION”
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
Prof. Flor Narciso Departamento de Computación
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
PRINCIPIOS DE PROGRAMACIÓN

INTRODUCCIÓN LI & MSC OSCAR RAMÍREZ CORTÉS U NIVERSIDAD DE LA H UASTECA V ERACRUZANA L ENGUAJES DE P ROGRAMACIÓN.
Lenguaje programación
LENGUAJES DE PROGRAMACIÓN
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
Lic. Carla Aguirre Montalvo
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Fundamentos de Programación Unidad I Conceptos Básicos.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
Transcripción de la presentación:

Programación 1 (01) Prof. Flor Narciso (fnarciso@ula. ve) Prof Programación 1 (01) Prof. Flor Narciso (fnarciso@ula.ve) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería de Sistemas Facultad de Ingeniería

Componentes de la computadora Sistema computacional = Hardware + Software + Usuarios Componentes físicos o equipo (hardware) Componentes lógicos o programas (software) Usuarios o personas Prof. Flor Narciso Programación 1 Semestre B-2010 2

Software = Programas + Datos + Documentación El software es un objeto abstracto asociado a un sistema de computación para: Dar solución a un problema Automatizar procesos de información y decisión Satisfacer requisitos de un conjunto de usuarios Software = Programas + Datos + Documentación Prof. Flor Narciso Programación 1 Semestre B-2010 3

Software vs. Programa Software Programa 1 Programa 2 ….. Programa n Sentencia 1 ….. Sentencia m Prof. Flor Narciso Programación 1 Semestre B-2010 4

Lenguajes de Programación Lenguaje de programación: Notación que permite escribir programas Léxico : Vocabulario Sintaxis : Reglas gramaticales Semántica: Reglas que permiten determinar el significado de las sentencia del lenguaje Creado por el ser humano para poder comunicarnos con las computadoras Programación 1 Semestre B-2010 Prof. Flor Narciso 5

Clasificación de los Lenguajes de Programación Lenguaje de máquina: Lenguaje de programación que entiende directa-mente la computadora. Utiliza el alfabeto binario, es decir, el 0 y el 1 0001 0101 1000 0001 0001 0111 1000 0010 0001 0110 1000 0011 Lenguaje ensamblador o de bajo nivel: Abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas, que permiten represen-tar las operaciones elementales de la computadora LOAD A ADD B STORE C Lenguaje de alto nivel: Son muy similares al lenguaje humano C = A + B SEGMENTO DE PROGRAMA Prof. Flor Narciso Programación 1 Semestre B-2010 6

Lenguaje de Máquina Operaciones básicas Con estos dos únicos dígitos (0 y 1), conocidos como bits, se forma lo que se conoce como  cadenas binarias (combinaciones de ceros y unos) con las que se escriben las instrucciones que el microprocesador de la computadora entiende. Fue el primer lenguaje de programación. Este tipo de lenguaje de programación dejó de utilizarse por su gran dificultad y por la facilidad para cometer errores Estas instrucciones son fáciles de leer por la computadora y difíciles por un programador, y viceversa Operaciones básicas Cargar datos desde la memoria Almacenar datos en memoria Operaciones aritméticas Operaciones de comparación 0001 0101 1000 0001 0001 0111 1000 0010 0001 0110 1000 0011 Prof. Flor Narciso Programación 1 Semestre B-2010 7

Lenguaje Ensamblador o de Bajo Nivel Son mucho mas fáciles de utilizar que el lenguaje máquina, pero dependen mucho de la máquina o computadora como sucede con el lenguaje máquina LOAD A ADD B STORE C Todo programa escrito en un lenguaje ensamblador particular tendrá que ser reescrito si se va a ejecutar en otro tipo de computadora Fue el primer lenguaje de programación que trato de sustituir el lenguaje máquina por otro mucho más parecido al de los seres humanos Prof. Flor Narciso Programación 1 Semestre B-2010 8

Lenguaje Ensamblador o de Bajo Nivel La computadora no entiende directamente lenguaje ensamblador por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un software llamado un ensamblador para que pueda ser ejecutado por la computadora Programa escrito en lenguaje ensamblador (código fuente) Ensamblador Programa escrito en lenguaje de máquina (código objeto) LOAD A ADD B STORE C 0001 0101 1000 0001 0001 0111 1000 0010 0001 0110 1000 0011 Prof. Flor Narciso Programación 1 Semestre B-2010 9

Lenguaje de Alto Nivel Permite a los programadores escribir programas en un lenguaje mas familiar para ellos y que contiene notaciones matemáticas comúnmente utilizadas (independiente de la máquina) La programación es mas fácil para los programadores ya que no necesitan conocer la arquitectura de la computadora C = A + B Son independientes de la máquina, cualquier programa escrito en un lenguaje de alto nivel particular (que tiene una versión estandarizada) puede ser ejecutado en cualquier computadora Prof. Flor Narciso Programación 1 Semestre B-2010 10

Lenguaje de Alto Nivel La computadora no entiende directamente lenguaje de alto nivel, por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un programa llamado un compilador para que pueda ser ejecutado por la computadora Programa escrito en lenguaje de alto nivel (código fuente) Programa escrito en lenguaje de máquina (código objeto) Compilador C = A + B 0001 0101 1000 0001 0001 0111 1000 0010 0001 0110 1000 0011 Prof. Flor Narciso Programación 1 Semestre B-2010 11

Lenguaje de Alto Nivel Lenguajes de programación imperativos FORTRAN, BASIC, COBOL, C, PHP Lenguajes de programación declarativos PROLOG, LISP, SCHEME, Haskell, SQL Lenguajes de programación orientados por objetos Smalltalk Lenguajes de programación imperativos + orientado por objetos ADA, Java, C++, Pascal, Delphi, Ocalm, Perl Prof. Flor Narciso Programación 1 Semestre B-2010 12

Lenguaje de Programación C Un poco de historia!! Nació en los Laboratorios Bell de AT&T Su desarrollo está estrechamente vinculado al del sistema operativo UNIX Diseñado e implementado por Brian Kernighan y Dennis Ritchie en 1973, a partir de los lenguajes BCPL (1967) y B (1970) Dennis Ritchie
Bell Labs, Rm 2C-517 
600 Mountain Ave. 
Murray Hill, New Jersey 07974-0636, USA http://inferno.bell-labs.com/who/dmr/ Brian Kernighan Department of Computer Science Princeton University Princeton, NJ 08544 http://www.cs.princeton.edu/~bwk/ Prof. Flor Narciso 13

Prof. Flor Narciso Programación 1 Semestre B-2010 14

Lenguaje de Programación C Lenguaje de nivel intermedio: Combina características de los lenguajes de alto nivel (sentencias de control y manipulación de datos) y de los lenguajes de bajo nivel (manejo de bits) Independiente del hardware Todo está constituido a base de funciones Los programas escritos en C son fácilmente transportables a otros sistemas Fácil de aprender Programación estructurada Características Prof. Flor Narciso Programación 1 Semestre B-2010 15

Lenguaje de programación C Quick C C++ Turbo C Turbo C ++ Borland C Borland C++ Microsoft C C# Elementos sintácticos Palabras reservadas Identificadores Delimitadores Caracteres especiales Comentarios Prof. Flor Narciso Programación 1 Semestre B-2010 16

Lenguaje de programación C Las palabras reservadas El lenguaje C está  formado por un conjunto pequeño de palabras clave (reservadas) o comandos (keywords) que tienen un significado especial para el compilador y están reservadas para uso especial del lenguaje de programación Prof. Flor Narciso Programación 1 Semestre B-2010 17

Lenguaje de programación C Los identificadores Para dar un nombre a variables, constantes y funciones tenemos que usar un identificador. La longitud de un identificador puede variar entre uno y varios caracteres (letras y/o números), por lo general, 32. En la mayoría de los casos el primer carácter debe ser una letra o un símbolo de subrayado Correcto Incorrecto cuenta 1cuenta prueba23 hola! puerto_paralelo puerto..paralelo Cuenta ≠ cuenta Prof. Flor Narciso Programación 1 Semestre B-2010 18

Lenguaje de programación C Los delimitadores Permiten al compilador separar y reconocer las diferentes unidades sintácticas del lenguaje Signo Significado ; (punto y coma) Terminación, es necesario cuando finaliza cada una de las sentencias o declaraciones , (coma) Separa dos elementos consecutivos de una lista ( ) (paréntesis) Enmarca una lista de parámetros, expresiones o condiciones [ ] (corchetes) Enmarca la dimensión o el subíndice de un arreglo { } (llaves) Enmarca un bloque de sentencias o una lista de valores iniciales Prof. Flor Narciso Programación 1 Semestre B-2010 19

Lenguaje de programación C Los caracteres especiales Prof. Flor Narciso Programación 1 Semestre B-2010 20

Lenguaje de programación C Los comentarios Permiten que el programador documente sus programas . Sirven para facilitar la legibilidad de un programa Prof. Flor Narciso Programación 1 Semestre B-2010 21

Programas en C /* Ejemplo1.c Julio, 2010 Los comentarios /* Ejemplo1.c Julio, 2010 Autores: Flor Narciso Domingo Hernández Sumar dos valores a y b, asignar el resultado a c */ int main() { int a, b, c; /* Declaración de variables locales */ a = 3; b = 7; c = a + b; /* Calcular la suma */ return 0; } Prof. Flor Narciso Programación 1 Semestre B-2010 22

Programas en C Sintaxis formal /* Comentarios iniciales */ Declaración de importaciones /* Opcional */ Definición de constantes /* Opcional */ int main() { Declaración de variables locales /* Opcional */ Sentencias return 0; } Prof. Flor Narciso Programación 1 Semestre B-2010 23

Programas en C Ejemplo /* ejemplo2.c PROGRAMACIÓN 1” */ Julio, 2010 Autores: Flor Narciso Domingo Hernández Imprime el mensaje "BIENVENIDO AL CURSO DE PROGRAMACIÓN 1” */ #include <stdio.h> // Declaración de importaciones int main() { printf("BIENVENIDO AL CURSO DE PROGRAMACIÓN 1”); return 0; } Prof. Flor Narciso Programación 1 Semestre B-2010 24

Lenguaje de programación C Función Descripción printf Usada para imprimir salidas de datos (escritura) scanf Usada para introducir datos de entrada (lectura) Prof. Flor Narciso Programación 1 Semestre B-2010 25

Lenguaje de programación C Prof. Flor Narciso Programación 1 Semestre B-2010 26

Programas en C Ejemplo /* ejemplo2.c PROGRAMACIÓN 1” */ Julio, 2010 Autores: Flor Narciso-Domingo Hernández Imprime el mensaje "BIENVENIDO AL CURSO DE PROGRAMACIÓN 1” */ #include <stdio.h> // Declaración de importaciones #define VALOR 34 // Definición de constante int main() { printf("BIENVENIDO AL CURSO DE PROGRAMACIÓN 1”); return 0; } Prof. Flor Narciso Programación 1 Semestre B-2010 27

Programación Estructurada El proceso de diseño del algoritmo y posterior codificación del programa consiste en definir las acciones o sentencias que resolverán el problema La programación estructurada es una forma de escribir programas de manera clara La visión clásica de la programación estructurada se refiere al control de ejecución Prof. Flor Narciso Programación 1 Semestre B-2010 28

Programación Estructurada Esta forma de programar se basa en un famoso teorema, desarrollado por Edsger Dijkstra (1930-2002), que demuestra que todo programa puede escribirse utilizando únicamente las tres estructuras básicas de control siguientes: Secuencial: el bloque secuencial de instrucciones, instrucciones ejecutadas sucesivamente, una detrás de otra Selección: la instrucción condicional con doble alternativa, de la forma "if condición then instrucción-1 else instrucción-2” Iteración: el bucle o lazo condicional "while condición do instrucción", que ejecuta la instrucción repetidamente mientras la condición sea verdadera Prof. Flor Narciso Programación 1 Semestre B-2010 29

Estructuras secuenciales Se ejecutan en secuencia sin posibilidad que la sentencia siguiente a ejecutar pueda ser otra diferente de la que sigue en la secuencia Prof. Flor Narciso Programación 1 Semestre B-2010 30

Definición de Estructuras Secuenciales Sentencia Pseudocódigo Código en C Comienzo Inicio { Fin } Entrada (lectura) Leer scanf Salida (escritura) Escribir printf Asignación A  5 ó A = 5 A = 5 Prof. Flor Narciso Programación 1 Semestre B-2010 31

Sentencia de Entrada (Lectura) Permite leer determinados valores (datos de entrada) y asignarlos a determinadas variables. Los datos de entrada se introducen a la computadora mediante los dispositivos de entrada (teclados, unidades de disco,etc.) Leer (lista de variables de entrada) Leer(a) Leer(x, y) Leer (hora, minutos, segundos) Prof. Flor Narciso Programación 1 Semestre B-2010 32

Sentencia de Entrada (Lectura) scanf("%<tipo_dato>",&<variable>); scanf(“%f”, &a); scanf(“%d %f”, &x, &y); scanf(“%d %d %d”, &hora, &minutos, &segundos); Notación en C ¿Qué es %<tipo_dato>? %d  Si el dato que se leerá será un número entero
%f  Si el dato que se leerá será un número real
%c  Si el dato que se leerá será un carácter
%s  Si el dato que se leerá será una cadena Prof. Flor Narciso Programación 1 Semestre B-2010 33

Sentencia de Entrada (Lectura) /*Programa que calcula el numero de dias vividos*/ #include<stdio.h> int main() { int edad; scanf(”%d",&edad); edad=edad * 365; return 0; } Ejemplo: Programa que calcula el número de días vividos 0. Inicio 1. Leer (edad) 2. edad = edad * 365 3. Fin Prof. Flor Narciso Programación 1 Semestre B-2010 34

Sentencia de Salida (Escritura) Permite escribir los resultados de un programa. La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc.) Escribir (mensajes y/o variables de salida) Escribir(“Hola”) Escribir(promedio1, promedio2) Escribir (“El resultado es”, resultado) Prof. Flor Narciso Programación 1 Semestre B-2010 35

Sentencia de Salida (Escritura) printf(“Mensaje”); printf(“Mensaje \n”); printf(“valor = %<tipo_variable>”, variable); Notación en C ¿Qué es %<tipo_dato>? %d  Si el dato que se leerá será un número entero
%f  Si el dato que se leerá será un número real
%c  Si el dato que se leerá será un carácter
%s  Si el dato que se leerá será una cadena Prof. Flor Narciso Programación 1 Semestre B-2010 36

Sentencia de Salida (Escritura) Ejemplo: Programa que calcula el número de días vividos 0. Inicio 1. Escribir (“Introduce tu edad: ”) 2. Leer (edad) 3. edad = edad * 365 4. Escribir(“Has vivido”, edad, “dias”) 5. Fin /*Programa que calcula el numero de dias vividos*/ #include<stdio.h> int main() { int edad; printf(“Introduce tu edad: ”); scanf("%i",&edad); edad=edad * 365; printf(“Has vivido %d dias”, edad); return 0; } Prof. Flor Narciso Programación 1 Semestre B-2010 37

Sentencia de Asignación Cuatro maneras de asignar valores a las variables !!! variable = valor constante x = 3; variable = variable x = y; variable = expresión x = (y + 1)/2; Leer (variable) scanf(“%d”, &x); Prof. Flor Narciso Programación 1 Semestre B-2010 38

RAIS: Seguimiento del Desarrollo del Producto Reunión semanal de trabajo y su informe ¿Qué ejecuto la compañía de la lista de acciones prometida en la última semana ¿Qué problemas y/o necesidades presenta el desarrollo del producto? ¿Qué tareas va la compañía a ejecutar para la semana próxima? ¿Qué ejecutó Usted de lo que la compañía se comprometió a realizar? Prof. Flor Narciso Programación 1 Semestre B-2010 39