Curso de Programación I Parte IV

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

ESTRUCTURAS DE CONTROL
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
PROGRAMACIÓN EN C.
Instrucciones Básicas Entrada de Información
MANUAL EXPRESS DE C J.M.sevilla.
PHP-MYSQL OPERADORES EN PHP
UNIDAD II: FUNDAMENTOS DE LA PROGRAMACIÓN ESTRUCTURADA.
Repaso para la construcción del intérprete 2012
Estructuras de control
Fundamentos de la Programación Estructurada
Programación I Teoría I
Variables Prof. Gonzalo Pastor.
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.
FUNCIONES EN C.
INFORMATICA I Arreglos 1 CLASE 17.
Introducción al Lenguaje C (ANSI)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Objetos de un programa Datos: Se denomina dato a toda aquella información característica de una entidad y que es susceptible de tratamiento en un programa.
Programación 1 Presentación de c++
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Una breve introducción
Ingeniero Anyelo Quintero
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Funciones en lenguaje C
Funciones y procedimientos
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.

Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Tema 3 Entrada y Salida.
Lenguaje C.
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
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.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
Estructura de un programa en C
Archivos.
Informática Ingeniería en Electrónica y Automática Industrial
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Programación en Lenguaje C
Archivos Programación I MC Beatriz Beltrán Martínez.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
introducción al lenguaje
Elementos básicos del lenguaje
FUNDAMENTOS DE PROGRAMACIÓN
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Estructura de un programa C
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
INTRODUCCION A LA PROGRAMACION
PRINCIPIOS DE PROGRAMACIÓN

LENGUAJE “C” Programación.
M.S.C. Ivette Hernández Dávila
Fundamentos de Programación
Práctica Profesional PHP.
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
Lenguaje de programación c
EL TIPO DE DATO LOGICO y constantes.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Transcripción de la presentación:

Curso de Programación I Parte IV Ing. Jorge Traveria Lic. Cristian Kenny UTN San Martín de los Andes

El Lenguaje C El lenguaje C facilita un método estructurado para el diseño de programas Se construyen a partir de piezas menores llamadas módulos lema en C: “divide y vencerás”

conceptos Los programas en C contienen uno o más módulos que se llaman: funciones. Una de las cuales deberá ser la función main Los programadores combinan nuevas funciones con funciones disponibles en la Biblioteca estándar ANSI C. Técnica de abstracción: es utilizar funciones estandarizadas en lugar de elaborarlas usando código personalizado. Ventajas: Programas más manipulables y modulares Programas con menor repetición de código

conceptos La Biblioteca Estándar de C contiene una amplia colección de funciones para diversas acciones: cálculos matemáticos, manipulación de caracteres, entradas / salidas, etc. Ejemplos: pow , sqrt , printf, etc. Para emplearlas en un programa hace falta brindar una directriz para el preprocesador: # include y el nombre del archivo de cabecera que contiene prototipos para las funciones requeridas: Ejemplo: <stdio.h> Finalmente quedaría: # include <stdio.h>

ESTRUCTURA DE UN PROGRAMA El inicio del programa debe llevar: #include <archivo de cabecera> El símbolo de numeral (#) la sentencia “include”, y entre signos de mayor y menor que (<>) el nombre de la librería o archivo de cabecera. Contienen información y declaraciones, para que el compilador “Incluya” en el programa las directivas que contienen las funciones para procesar datos.

ESTRUCTURA DE UN PROGRAMA #include <stdio.h> .- Contiene las funciones de entrada y salida de datos. #include <string.h> .- Manejo de cadenas. #include <stdlib.h > .- Memoria dinámica. #include <math.h > .- Rutinas matemáticas. Otros ejemplos de archivos de cabecera

ESTRUCTURA DE UN PROGRAMA Todo programa en C consta básicamente de: Comentarios. Ordenes para el preprocesador Definiciones de funciones. Expresiones formadas con constantes, variables, funciones y operadores. Sentencias.

ESTRUCTURA DE UN PROGRAMA La función main() se contruye a partir de un juego de llaves que contienen el bloque constructivo o cuerpo de la función. Forma parte de todo programa de C: main() { llave izquierda: marca el principio del cuerpo de main } llave derecha: marca el final de main El bloque contiene las líneas de programación que se dividen básicamente en dos tipos: Declaraciones Enunciados

ESTRUCTURA DE UN PROGRAMA Declaraciones: ej.: int sum; Enunciados Decisiones: ej.: if ….. Acciones : ej.: scanf….. Asignaciones: ej: sum = I1+I2; IMPORTANTE: Las declaraciones , enunciados de acción y de asignaciones deberán finalizar con un: ; (punto y coma) Llamado Terminador de Enunciado

ESTRUCTURA DE UN PROGRAMA #include <biblioteca1.h> #include <biblioteca2.h> ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... main() { ... cuerpo del main ... } ... otras definiciones de funciones ... Directrices de Cabecera Declaración de Datos Función Principal Otras Funciones y/o Procedimientos main() { definición de variables locales; enunciados instrucciones del programa; }

/* mi primer programa en C */ main() { COMENTARIOS Comienzan con los símbolos / * y terminan con * / Ejemplo: Imprimir una linea de texto en pantalla /* mi primer programa en C */ main() { printf( “Mi primer programa en C\n”); /* imprimo en pantalla*/ } Ayudan a documentar los programas y mejorar la legibilidad de los mismos

printf ("El valor es %d", variable); Funciones de Entrada y Salida de datos Se utilizan las funciones de biblioteca: “scanf” para la entrada de valores. Sintaxis del enunciado: Lee el valor y lo guarda en una variable. “printf” para la salida de información. Sintaxis del enunciado : Imprime en pantalla el texto y el valor de la variable scanf ("%d", &variable); printf ("El valor es %d", variable);

Funciones de Entrada y Salida de datos La función SCANF tienen dos argumentos: %d y &variable El primero se denomina: cadena de control de formato Indica el tipo de dato que deberá ser escrito. El especificador de conversión %d indica que el dato debe ser un entero. % carácter de escape y %d indica una secuencia de escape El segundo se denomina: asignación de dirección Indica a scanf la posición en memoria que ocupa la variable El operador de dirección & (ampersand) se combina con el nombre de la variable

Funciones de Entrada y Salida de datos La función PRINTF tienen dos argumentos: "El valor es %d“ y la variable El primero se denomina: cadena de control de formato Indica el tipo de dato que deberá ser impreso. El especificador de conversión %d indica que el valor a imprimirse debe ser un entero. % carácter de escape y %d indica una secuencia de escape El segundo argumento indica el valor a ser impreso de la variable

SECUENCIAS DE ESCAPE caracteres que no son imprimibles. La barra o diagonal invertida \ es un carácter de escape y se combinan con otros caracteres para formar secuencias de escape CODIGO SIGNIFICADO \n nueva línea; cursor al principio de la línea siguiente \r retorno de carro; cursor al principio de la línea actual \f nueva página \t tabulador horizontal \b retroceso (backspace) \' comilla simple \" comillas \\ barra \? interrogación

/* mi primer programa en C */ main() { SECUENCIAS DE ESCAPE Ejemplo: Imprimir una linea de texto en pantalla /* mi primer programa en C */ main() { printf( “Mi primer programa en C\n”); /* imprimo en pantalla*/ }

función de imprimir en pantalla. Estas son librerías donde se encuentran las funciones que utilizaremos. Comentarios #include <iostream> #include <stdlib.h> /* Primer programa */ main( ) { printf(“UTN\n"); system("PAUSE"); return 0; } Función principal función de imprimir en pantalla. Las llaves indican el comienzo y final de la función main.

variables Para poder usar una variable primero hay que declararla (ó definirla) En C se distingue entre MAYÚSCULAS y minúsculas. Analicemos el caso: Nombre nombre NOMBRE serían tres variables distintas.

Reglas para nombre de variables Letras de la 'a' a la 'z' (la ñ no se considera), números y el símbolo '_'. Inicio de nombre con letra. No se pueden usar signos de admiración, ni de interrogación. Tampoco nombres de variable en las que se empleen las palabras reservadas que usa el compilador. Por ejemplo: for, main, do, while.

¿Dónde y cómo se declaran las variables? Tenemos dos posibilidades: Declararla como global global es aquella variable que se declara fuera de la función main Declararla como local. la que se declara dentro: Variable Global Variable Local #include <stdio.h> int x; main() { }

Variable tipo Int (Integer/ entero) INICIALIZACION DE VARIABLES En una variable de este tipo se almacenan números enteros (sin decimales). Hay que indicarle al compilador que queremos crear una variable y hay que indicarle de qué tipo. Por ejemplo: int num; Esto hace que declaremos (declaración) una variable llamada num que va a contener un número entero. Puedo declarar varias variables del mismo tipo en una misma declaración: int var1, var2, sum;

Ejemplo: #include <stdio.h> main() { int multiplicador; /* defino multiplicador como un entero */ int multiplicando; /* defino multiplicando como un entero */ int resultado; /* defino resultado como un entero */ multiplicador = 1000 ; /* les asigno valores */ multiplicando = 2 ; resultado = multiplicando * multiplicador ; printf("Resultado = %d\n", resultado); /* muestro el resultado */ return 0; }

int multiplicador, multiplicando, resultado ; Ejemplo: Las variables del mismo tipo pueden definirse mediante una definición múltiple separandolas mediante " , " int multiplicador, multiplicando, resultado ; Esta sentencia es equivalente a las tres definiciones separadas en el ejemplo anterior. Las variables pueden también ser inicializadas en el momento de definirse. int multiplicador = 1000, multiplicando = 2, resultado; De esta manera el EJEMPLO podría escribirse:

Ejemplo: #include <stdio.h> main() { int multiplicador=1000 , multiplicando=2 ; printf("Resultado = %d\n", multiplicando * multiplicador); return 0; } En la primer sentencia se definen e inicializan simultaneamente ambas variables.La variable "resultado" desaparece ya que es innecesaria.

Ejemplo: Si analizamos la función printf() vemos que se ha reemplazado "resultado" por la operación entre las otras dos variables. Esta es una de las particularidades del lenguaje C : en los parámetros pasados a las funciones, pueden ponerse operaciones (incluso llamadas a otras funciones) , las que se realizan ANTES de ejecutarse la función , pasando finalmente a esta el valor resultante de las mismas. El Ejemplo funciona exactamente igual que antes pero su código ahora es mucho más compacto.

Ejemplo: El enunciado return 0 ; pasa el valor 0 de regreso al entorno del sistema operativo en el cual se está ejecutando el programa. Esto le indica al S.O que el programa fue ejecutado con éxito.

Variable tipo float float costo = 2.3456; VARIABLES DE NUMERO REAL O PUNTO FLOTANTE Un número real ó de punto flotante es aquel que además de una parte entera, posee fracciones de la unidad. En nuestra convención numérica solemos escribirlos de la siguiente manera : 2,3456 en C: 2.3456 float costo = 2.3456; Otro formato de escritura, normalmente aceptado, es la notación científica. Por ejemplo podrá escribirse 2.345E+02, equivalente a 2.345 * 100 ó 234.5

Variable tipo float Variable tipo Float #include <iostream> #include <stdio.h> main() { float num = 4060.80; printf( "El valor de num es : %f\n", num ); system("PAUSE"); return 0; } El especificador de conversión %f indica que el dato debe ser un número en punto flotante. % carácter de escape y %f indica una secuencia de escape

Variable tipo float El especificador de conversión %f puede usarse con un modificador de posiciones decimales Por ejemplo, con “%.2f” obligamos a que se impriman dos decimales a la derecha de la coma decimal. Para generar espacios a la izquierda se utiliza el modificador : “%10.2f” . Esto provoca que se usen 10 caracteres en total (incluido el número)

Variable tipo Char Las variables de tipo char sirven para almacenar caracteres. Para declarar una variable de tipo char hacemos: char letra; Sólo podemos almacenar solo una letra, No podemos almacenar ni frases ni palabras. Eso lo veremos más adelante (strings, cadenas) Para imprimir un char usamos el símbolo %c (c de character=caracter en inglés): letra = 'A'; printf( "La letra es: %c\n”, letra );

Variable tipo Char #include <stdio.h> main( ) { char letra; letra = 'A'; printf( "El número ASCII de la letra %c es: %i.\n", letra, letra ); system("PAUSE"); return 0; } El especificador de conversión %c indica que el dato debe ser un carácter(A). El %i indica un entero.(65) % carácter de escape y %c indica una secuencia de escape

Constantes con nombre Supongamos que tenemos que hacer un programa en el que haya que emplear unas cuantas veces 3.1416 Al definir una constante con nombre estamos dando un nombre al valor, a 3.1416 le llamamos PI. #define nombre_de_la_constante valor_de_la_constante Ejemplo: radio y perimetro de una circunferencia son variables, su valor puede cambiar a lo largo del programa. Sin embargo 2 y 3.1416 son constantes, no hay manera de cambiarlas.

#define, %f #include <stdlib.h> #define PI 3.1416 main( ) { int radio; float perimetro; radio = 20; perimetro = 2 * PI * radio; printf( "El perimetro es: %f\n", perimetro ); system("PAUSE"); return 0; }

#define, %i #include <stdlib.h> #define CAJAS 4 #define UNIDADESPORCAJA 25 #define PRECIO 100 #define IMPUESTOS 1.16 main() { int Total; Total = ( CAJAS * UNIDADESPORCAJA * PRECIO ) * ( IMPUESTOS ); printf( "El total es: %i\n", Total ); system("PAUSE"); return 0; }

Función Scanf #include <stdio.h> main( ) { int num; printf( "Introducir un número: " ); scanf( "%i", &num ); printf( " el número es %i\n", num ); system("PAUSE"); return 0; }

Podemos preguntar por más de una variable a la vez en un sólo scanf, hay que poner un %i por cada variable #include <stdio.h> main() { int a, b, c; printf( "Ingresar tres numeros: " ); scanf( "%i %i %i", &a, &b, &c ); printf( “Se ingresaron los numeros %i %i %i\n”, a, b, c ); return 0; } De esta forma cuando el usuario ejecuta el programa debe introducir los tres datos separados por un espacio.

#include <stdio.h> main() { int a; float b; También podemos pedir en un mismo scanf variables de distinto tipo: #include <stdio.h> main() { int a; float b; printf( "Introduce dos números: " ); scanf( "%i %f", &a, &b ); printf( "Has tecleado los números %i %f\n", a, b ); return 0; } A cada especificador (%i, %f) le debe corresponder una variable de su mismo tipo. Es decir, al poner un %i el compilador espera que su variable correspondiente sea de tipo int. Si ponemos %f espera una variable tipo float.

Operadores de asignación Se emplean para realizar abreviaturas de las expresiones de asignación. En lugar de C = C + 3; se puede usar: C += 3; El operador += añade el valor 3 al valor de la variable a la izquierda del operador, y almacena el resultado en la variable a la izq. del operador. Variable = variable operador expresión; variable operador = expresión;

Operadores de asignación Expresiones de muestra utilizando estos operadores: Int c=3, d=5, e=4, f=6, g=12; operador Ej. muestra Asig. + = c= c + 7………….c += 7 10 to c - = d = d – 4 …………d -= 4 1 to d * = e = e * 5………e *= 5 20 to e / = f = f / 3………f /= 3 2 to f % = g = g % 9……g %= 9 3 to g

Operadores Relacionales Se emplean para realizar comparaciones entre valores del mismo tipo. Operan de izquierda a derecha operador resultado A == B V si A es igual a B; F caso contrario A != B V si A es distinto de B A > B V si A es mayor que B A < B V si A es menor que B A >= B V si A es mayor e igual que B

Operadores Relacionales Ejemplo: #include <stdio.h> main() { If (num1 == num2) printf(“%d es igual a %d\n”, num1, mum2); If (num1 != num2) printf(“%d es distinto a %d\n”, num1, mum2); If (num1 > num2) printf(“%d es mayor a %d\n”, num1, mum2); If (num1 <num2) printf(“%d es menor a %d\n”, num1, mum2); Return 0; }

Operadores Lógicos

Operadores Lógicos valor = (expresion1 && expresion2) En este caso si expresion1 y expresion2 son verdaderas, valor resulta verdadero Si alguna o ambas de las expresiones son falsas, valor resulta falso valor = (expresion1 // expresion2) En este caso si ambas expresiones son verdaderas, valor resulta verdadero. Si una de las expresiones es verdadera y la otra falsa, valor resulta verdadero. Si las dos expresiones son falsas, valor resulta falso. valor = (!expresion1) A diferencia de And y Or (operadores binarios) , el Not tiene como operando una condición (operador unario) En este caso si la expresión es verdadera, valor resulta falso. Si la expresión es falsa, valor resulta verdadero.

Operadores Lógicos Ejemplos: Se pueden usar de la siguiente manera: if (edad >= 14 && edad <= 21)       printf(“Persona adolescente”); If (promo >=7 || final >=4) printf(“Materia Aprobada\n”); if (! (sueldo == valorcentinela)) printf(“Ingrese un nuevo sueldo:%f\n”, sueldo); (Si la condición no es verdadera…..)

Operadores Incrementales y decrementales Si una variable c es incrementada en 1, el operador incremental ++ puede ser utilizado en lugar de la expresión: c = c + 1; o sea c+= 1; ++ ++c Se incrementa c en 1 c++ Se usa c primero y luego se incrementa en 1 -- --c Se decrementa c en 1 c-- Se usa c primero y luego se decrementa en 1

Operadores (++) : Incremento El operador de incremento ++ le suma 1 a su operando. Se puede emplear de dos formas: Como prefijo o como sufijo En ambos casos el efecto final es el mismo. Si n es 5, entonces X = n++; / * Asigna un 5 en X.*/ Pero: X = ++n / * Asigna un 6 en X */

Operadores (++) : Incremento #include <stdio.h> main() { int x = 5; printf ( "Valor de x = %i\n", x ); x++; } Resultado: Valor de x = 5 Valor de x= 6

Operadores (++) : Incremento #include <stdio.h> main() { int x = 5; printf ( "Valor de x = %i\n", x ); printf ( "Valor de x = %i\n", x ++); } Resultado: Valor de X= 5 Valor de X= 6 Postincrementar la variable C hará que se incremente, después de su uso en el enunciado

Operadores (++) : Incremento #include <stdio.h> main() { int x = 5; printf ( "Valor de x = %i\n", x ); printf ( "Valor de x = %i\n", ++x); } Resultado: Valor de X= 5 Valor de X= 6 Preincrementar la variable C hará que se incremente, antes de su uso en el enunciado