Curso 0 de Informática



Documentos relacionados
Tema 4: Estructuras de Control Estructura y Contenidos

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Soporte lógico de computadoras

Ejercicios Tema 3. Estructuras de Selección

Tema: Arreglos de Objetos en C++.

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Modulo 1 El lenguaje Java

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Informática FACULTAD DE FÍSICAS

Para dudas, comentarios escribe a: C BASICO

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

Estructuras de repetición

Tema: Sobrecarga de Operadores.

Capítulo 6. Introducción a la POO

Examen escrito de Programación 1

Tema 2. Software. Informática (1º Ingeniería Civil)

Introducción al tipo de dato ARRAY

Hoja de problemas Estructuras de Control

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Fundamentos de la Programación

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

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

3.2 Operaciones aritmético-lógicas en Pascal

Programación: QBASIC

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

Problema - Votación. Entrada. Salida. Primera Olimpiada de Informática 1

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Diseño Estructurado de Algoritmos

8.1 Un primer bucle FOR Varias formas de utilizar el bucle FOR Calcular el factorial de un número mediante un bucle FOR...

Algorítmica y Lenguajes de Programación. Ordenación (i)

Tema 7: Programación con Matlab

Práctica 0. Emulador XENON de la computadora CESIUS

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

CLASE # 5 TÉCNICAS DE CAJA BLANCA

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

Hoja1!C4. Hoja1!$C$4. Fila

Centro de Capacitación en Informática

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II

PRACTICA 6. VECTORES Y MATRICES.

Unidad 1 números enteros 2º ESO

Ejercicio 1 (3 puntos).-

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Arrays y Cadenas en C

ZCARTAS: Iniciación a la suma y resta de números enteros Introducción Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

Índice ÍNDICE EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.) EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

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

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

NÚMEROS RACIONALES Y DECIMALES

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Informática I. While & do While

ESTRUCTURA DE DATOS: ARREGLOS

Proyectos de Innovación Docente

HOJA 5 SUCESIONES Y PROGRESIONES

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

2. Estructura de un programa en Java

Ejemplos de conversión de reales a enteros

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

MÓDULO 1: Sistemas de Cómputo

PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04)

MATERIAL 2 EXCEL 2007

Planilla de cálculo. Módulo II - OpenOffice.org Calc

1 ELEMENTOS BASICOS DEL LENGUAJE

Figura 1.1. Figura 1.2

FRACCIONES. Es un decimal exacto: los únicos factores primos que aparecen en el denominador son el dos y el cinco.

NÚMEROS NATURALES Y NÚMEROS ENTEROS

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

DIRECCIÓN DE SISTEMAS DE INFORMACIÓN DEPARTAMENTO CERES


GUIÓN EXCEL Objetivo Manejo del entorno para el desarrollo de pequeñas aplicaciones.

ÍNDICE 1 DESCRIPCIÓN 3 2 OPERATIVA DE LA FUNCIÓN 3 3 REGISTRO DE FACTURAS 4 4 REGISTRO MASIVO DE FACTURAS 10

Titulo: Suma de N primeros números

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

Ejemplo de tipo variable

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

6.1. Conoce la papelera

Manual Usuario Wordpress. Índice

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

col Type mismatch cadena vacía fila 1 z + i 4 1 fila 2

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut

Unidad III El lenguaje de programación C

Práctica 2: Simón dice

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Fundamentos de programación

Transcripción:

Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1

Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización, supervisión y control visual de plantas industriales, adquisición automática de datos en planta, comunicaciones e integración de sistemas, autómatas programables, robots, tareas de supervisión y gestión de d alarmas, trazabilidad industrial... 2

Motivación (II): Cómo funcionan? Sensores reciben información de dispositivos, que envían a controladores (PLC). Los PLCs actúan ajustando niveles de servicio de los propios dispositivos. Los PLCs son controlados y programados desde un sistema informático. 3

Motivación (y III): Estos sistemas informáticos son manejados mediante IHM (Interfaces Hombre Máquina) pero la mayoría de las veces, el ingeniero debe explicarle al sistema que tiene que hacer. Para ello se usan los lenguajes de programación. Ilustración 2. Programación con SCADA Ilustración 1.. Edición de programa para un PLC 4

Informática. Es la ingeniería que estudia la aplicación del tratamiento automático de la información. Los ordenadores se componen de hardware y software. Hardware. El hardware es el componente físico del ordenador. Los elementos hardware principales son cinco, la CPU (Central Processing Unit, procesador y unidad aritmético lógica), la memoria interna, la memoria externa, los dispositivos de entrada y los dispositivos de salida. 5

Existen dos grupos de dispositivos externos: Dispositivos de entrada. Dispositivos de salida. Pantalla Procesador Central Memoria Principal, Memoria Interna Memoria externa Discos, CD, DVD 6

Software. Las operaciones que debe realizar el hardware vienen especificadas por una lista de instrucciones llamadas programas o software. Sistema Operativo Programas de usuario Hardware 7

Un lenguaje de programación es Un lenguaje que nos permite comunicarnos con el ordenador. Conjunto de reglas, símbolos y palabras para construir programas. Historia de los lenguajes de programación. 1950 Fortran, Algol, Cobol o LISP. 1960 Basic, PL/1. 1970 Pascal, C, Prolog. 1980 ADA, C++, Modula-2. 1990 Delphi (basado en Pascal), Visual Basic (basado en Basic), Visual C++, C++ Builder. 1997 JAVA. 8

Según su proximidad a la máquina, los lenguajes de programación se clasifican en tres categorías: máquina, bajo nivel y alto nivel. Alto Nivel Bajo Nivel (Ensamblador) Lenguaje máquina Traducción (Compilación o interpretación) 9

Curso 0 de Informática Tema 2: Elementos básicos de Programación 10

Algoritmo es una sucesión ordenada de acciones que se han de realizar para conseguir la solución correcta de un problema en un espacio de tiempo finito. Programa es un algoritmo escrito en un lenguaje de programación p.e. C++. La estructura general de un programa en C++ es: #include <iostream> using namespace std; int main () { //Declaración de variables //Instrucciones return 0; } 11

Constantes. Son zonas de memoria cuyo valor NO podrá verse alterado durante el desarrollo del algoritmo. const int a = 33; Variables. Son zonas de memoria cuyo valor podrá verse alterado durante el desarrollo del algoritmo. int a; float e; char h; bool g; 12

Identificador Empezará por una letra o bien el carácter subrayado, a continuación no hay limitación excepto el carácter blanco. Identificadores válidos A1876 X_W_W_1 Cinco_numeros TASA Identificadores no válidos Cantidad total 2numeros new %cambiodetasa Saldo # saldo 13

Para declarar una constante o variable: Nombre_de_tipo Nombre_1, Nombre_2...; Por ejemplo: int sueldo; int valor = 620; int a, b, c; 14

Tipos de datos: 1) Tipo entero int a; Suma + Resta: - Multiplicación: * División: / Módulo (resto): % 15

2) Tipo Real float a; Suma: + Resta: - Multiplicación: * División: / 2 tipo entero 2.0 tipo real 3,1416 3.1416 16

3) Tipo Carácter char a; char a = z ; 4) Tipo lógico o booleano en el que las variables o constantes pueden tomar cierto (true) o falso (false). bool a; a = true; a = false; 17

Operador de asignación Identificador = expresión; int a; a = 3 + 9; a = 10; a = 30; a = a + 1; a++; a = a - 1; a-- 18

Operadores aritméticos +, -, *, / Los operandos pueden ser de tipo entero o reales. Si en la división los operandos son enteros el resultado es un entero (si la división no es exacta se produce un truncamiento perdiéndose el resto por grande que sea), en los demás casos de la división el resultado es un real. % Los operandos tienen que ser de tipo entero. 19

Operadores relacionales = = (igual)! = (distinto) <, >, < =, > = El resultado será true si se cumple la relación o bien false si no se cumple. 20

Operadores lógicos && que es AND. que es OR.! que es NOT A && B A = true A = false B = true true false B = false false false A B A = true A = false B = true true true B = false true false 21

Sea el siguiente fragmento de código: int main () { int i, j, k; bool a; } i = 10; j = 5; k = 12; a = true; Cuál es el valor de estas expresiones booleanas? 1. (i > k) (j < k) 2. (i > k) && (j < k) 3. (! a) (j == 5) 4. ( (i + 2) == k) && (! ( i > 10)) 5.! (i == 10 && j == (i / 2)) (k >= 13) 6. ( (i + j)!= k) && (k <= 12) 22

Operaciones básicas de Entrada - Salida. # include <iostream> // Para poder utilizar using namespace std; // cin y cout Lectura desde teclado cin >> a ; Leerá desde teclado un valor y lo pondrá en la variable a. Si a es de tipo entero leerá un número entero, si es de tipo real leerá un número con decimales y si es de tipo carácter leerá una tecla. 23

Escritura en pantalla cout << expresion; Mostrará por pantalla el contenido de la expresión. cout << Pon un numero por teclado... ; Mostrará por pantalla el texto: Pon un numero por teclado... cout << El valor maximo es << max; (Suponiendo que max vale 55) Mostrará por pantalla el texto: El valor maximo es 55 24

Curso 0 de Informática Tema 3: Sentencias de Control 25

Sentencias Secuenciales. 26

Sentencias Condicionales. if (expresión lógica) Sentencia o Bloque de sentencias else Sentencia o Bloque de sentencias Opcional -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- if ( a > 0) cout<< Soy mayor de cero ; if ( a > 0) cout<< Soy mayor de cero ; else cout<< Soy igual o menor que cero ; if (a >= 0) { cout << Soy mayor ; cout << o igual que cero ; } 27

Sentencias Iterativas. for (inicialización; condición; incremento) Sentencia o Bloque de sentencias while (condición) Sentencia o Bloque de Sentencias 28

for (i = 0; i < 20; i=i+1) cout<< Hola ; for (i = 0; i < 5; i++) for (j = 0; j < 3; j++) cout << Hola ; int a=10; while (a > 0) cout<< Hola ; //ATENCION int a=10; while (a > 0) { cout<< Hola ; a = a - 1; } 29

Curso 0 de Informática Tema 4: Estructuras de Datos 30

Un array/vector/tabla es una colección de tamaño fijado a priori de elementos del mismo tipo, cada uno de los cuales se puede acceder directamente mediante un índice. Donde: El tipo de los elementos podrá ser cualquiera, incluso de tipo estructurado El índice debe de ser un tipo ordinal-entero int tab1 [100]; char palabra [20]; Denominamos tamaño de un vector al número de elementos de dicho vector. Si el vector es bidimensional y está declarado así: int tab [5] [10]; El tamaño del vector será 5 * 10 = 50 que son los elementos que se pueden almacenar. 0 1 2 3 4 0 1 2 3 4 5 6 7 8 9 31

Sintaxis: tipo ident_variable [num_elementos]; Ejemplos: float coleccion[800]; float temperaturas[24]; cin >> temperaturas[13]; cin >> temperaturas[24]; //OJO int alumnos[30] ; float notas[4]; Vectores multidimensionales tipo ident_variable [a][b][c]...[z]; int valores [5][10][15]; 32

int main () { int tab1[10], tab2[10]; int i; // Copiar una tabla en otra? tab2 = tab1; //ERROR for (i=0; i<10; i++) tab2[i] = tab1[i]; return 0; } int main () { int tab1[10]; int i; //Rellenar una tabla con valores desde teclado cin >> tab1; //ERROR for (i=0; i<10; i++) cin >> tab1[i]; return 0; } 33

int main () { int tab1[10]; int i; //Escribir en pantalla los valores de una tabla cout << tab1;, //ERROR for (i=0; i<10; i++) cout << tab1[i]; } int main () { int tab1[10][10]; int i,j; //Escribir los valores de una tabla bidimensional cout << tab1;, //ERROR for (i=0; i<10; i++) for (j=0; j<10; j++) cout << tab1[i][j]; } 34

Relación de Problemas EJERCICIO 1. Diseñe un programa en C++ que pida dos números enteros por teclado y a continuación muestre por pantalla el valor de la suma, resta, multiplicación y cociente de estos dos números. EJERCICIO 2. Diseñe un programa en C++ que pida por teclado el valor del radio de una circunferencia, y a continuación muestre por pantalla el valor de la longitud de la circunferencia, el valor de la superficie del círculo y el valor del volumen de la esfera que tengan por radio el valor leído anteriormente EJERCICIO 3. Diseñe un programa en C++ que lea desde teclado una cantidad positiva de segundos y a continuación muestre por pantalla su equivalente en horas, minutos y segundos. EJERCICIO 4. Diseñe un programa en C++ que lea desde teclado dos valores enteros, los intercambie en memoria y a continuación muestre sus valores por pantalla. 35

EJERCICIO 5. Qué mostraría por pantalla el siguiente programa? #include <iostream> using namespace std; int main () { int primero; int segundo; int tercero; cout <<primero; cout <<segundo; cout <<tercero; return 0; } EJERCICIO 6. Escribir un programa en C++ que lea una nota de un alumno por teclado y muestre por pantalla la calificación obtenida. De 0 a 4.99 (Suspenso), de 5 a 6.99 (Aprobado), de 7 a 8.99 (Notable) y de 9 a 10 (Sobresaliente). 36

EJERCICIO 7. Escribir un programa en C++ que lea dos números enteros y exprese por pantalla cual es el valor más grande, hay que tener en cuenta si los dos son iguales. EJERCICIO 8. Escriba un programa en C++ que lea un número entero por teclado, correspondiendo a un año y exprese por pantalla si ese año es bisiesto o no. Un año es bisiesto si es múltiplo de 400, en caso contrario será bisiesto si es múltiplo de 4 pero no de 100. Por ejemplo el año 2000 ha sido bisiesto por ser múltiplo de 400, el año 2100 no será bisiesto porque no es múltiplo de 400, sí es múltiplo de 4, pero también lo es de 100, y el año 2016 será bisiesto ya que no es múltiplo de 400, es múltiplo de 4 y no es múltiplo de 100. EJERCICIO 9. Escriba un programa en C++ que muestre por pantalla el siguiente menú: ****** MENU ***** 1.- Leer datos 2.- Escribir datos 3.- Salir Pon la opcion que deseas : Si el usuario pulsa el 1 pedirá por teclado dos números enteros. Si se pulsa un 2 mostrará por pantalla el valor de los dos números. Si pulsa un 3 dará un mensaje por pantalla despidiéndose y acabará el programa. Si se pulsa un valor diferente dará un mensaje de error y acabará el programa. 37

EJERCICIO 10. Escriba un programa en C++ de tal forma que lea una nota por teclado y muestre por pantalla si esa nota es correcta o no. Una nota es correcta si está entre 0 y 10, límites incluidos. EJERCICIO 11. Escriba un programa en C++ de tal forma que lea un número entero por teclado y muestre por pantalla si es correcto o no. Un número es correcto si está entre 0 y 10, límites no incluidos. EJERCICIO 12. Escriba un programa en C++ de tal forma que lea un número entero por teclado y muestre por pantalla si es correcto o no. Un número es correcto si está entre 0 y 5, o bien entre 15 y 20, límites incluidos. EJERCICIO 13. Escriba un programa en C++ que lea la edad de una persona, la distancia en km. de un viaje y el número de días del viaje. Mostrando por pantalla el precio que debe de abonar por el mismo teniendo en cuenta que cada km. cuesta 0,5 euros. Ahora bien, si la persona viaja más de 7 días y la distancia es superior a 700 km, o bien es mayor de 55 años tendrá una reducción del 25%. 38

EJERCICIO 14. Escriba un programa en C++ tal que lea desde teclado un número entero y muestre por pantalla su tabla de multiplicar. Por ejemplo, si se lee un 5 deberá mostrar por pantalla: 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 9 = 45 EJERCICIO 15. Escriba un programa en C++ tal que lea desde teclado un número entero y muestre por pantalla el factorial de este número. EJERCICIO 16. Escriba un programa en C++ de tal forma que lea una nota por teclado, una nota es correcta si está entre 0 y 10, límites incluidos. Si es incorrecta se volverá a solicitar hasta que sea correcta. EJERCICIO 17. Escriba un programa en C++ de tal forma que lea una nota por teclado, una nota es correcta si está entre 0 y 10, límites no incluidos. Si es incorrecta se volverá a solicitar hasta que sea correcta. 39

EJERCICIO 18. Escriba un programa en C++ de tal forma que lea un número entero por teclado, un número es correcto si está entre 0 y 5, o bien entre 15 y 20, límites incluidos. Si el número es incorrecto se volverá a pedir hasta que sea correcto. EJERCICIO 19. Problema ampliado del menú de alternativas. Escriba un programa en C++ que muestre por pantalla el siguiente menú: ****** MENU ***** 1.- Leer datos 2.- Escribir datos 3.- Salir Pon la opcion que deseas: Si el usuario pulsa el 1 pedirá por teclado dos números enteros y volverá a salir el menú. Si se pulsa un 2 mostrará por pantalla el valor de los dos números y volverá a salir el menú.. Si pulsa un 3 dará un mensaje por pantalla despidiéndose y acabará el programa, es la única forma de que acabe el programa. Si se pulsa un valor diferente dará un mensaje de error y volverá a salir el menú. 40

EJERCICIO 20. Diseñe un programa en C++ de tal forma que pida por teclado el número de alumnos que se han presentado al examen. A continuación pedirá tantas notas como alumnos se han presentado, y después mostrará por pantalla el número de suspensos, aprobados, notables, sobresalientes. EJERCICIO 21. Diseñe un programa en C++ tal que lea desde teclado números enteros rellenando una tabla de veinte elementos. A continuación mostrará por pantalla la suma de los elementos positivos y la suma de los elementos negativos. EJERCICIO 22. Diseñe un programa en C++ tal que lea una tabla de diez números enteros desde teclado, y a continuación muestre por pantalla cuantos valores son pares, cual es el valor mayor y cual es el menor. EJERCICIO 23. Diseñe un programa en C++ tal que rellene una tabla de diez números enteros, poniendo en cada elemento de la tabla el valor de su índice. A continuación pedirá por teclado un número entero y mostrará en pantalla si ese número está almacenado en esa tabla o no. 41

EJERCICIO 24. Diseñe un programa en C++ tal que lea desde teclado números enteros rellenando una tabla de dos dimensiones con 3 filas y 3 columnas. A continuación pedirá al usuario que indique una fila y después mostrará por pantalla el mayor de esa fila. EJERCICIO 25. Diseñe un programa en C++ tal que lea dos tablas de diez números enteros desde teclado, y a continuación muestre por pantalla si las dos tablas tienen el mismo contenido o no. 42