Conceptos Básicos de Ciencias Computacionales (PDF)
Document Details
Uploaded by SurrealComposite
Danilo Jaramillo Hurtado
Tags
Summary
This document provides basic concepts of computer science, including computer architecture, logic, algorithms and programming. It includes various topics such as number systems (decimal and binary).
Full Transcript
Conceptos básicos de Ciencias Computacionales La Computadora Tomado de https://i.ytimg.com/vi/GBIRymEy_8A/hqdefault.jpg Oct-2024 Danilo Jaramillo Hurtado 1 Conceptos básicos de Ciencias Computacionales La arquitectura d...
Conceptos básicos de Ciencias Computacionales La Computadora Tomado de https://i.ytimg.com/vi/GBIRymEy_8A/hqdefault.jpg Oct-2024 Danilo Jaramillo Hurtado 1 Conceptos básicos de Ciencias Computacionales La arquitectura del computador Oct-2024 Danilo Jaramillo Hurtado 2 Concepto de lógica Lógica es la ciencia que estudia el proceso de razonar. Proceso es una serie de actividades interrelacionadas destinadas a alcanzar un propósito. Razonar es ordenar las ideas para llegar a una conclusión. Dicho de otro modo: Ciencia que estudia las actividades que realizamos para ordenar nuestras ideas y llegar a una conclusión razonable. Debemos educar el pensamiento para que razone de acuerdo a ciertas reglas Nos ayuda a analizar un problema y encontrarle una solución La solución del problema se expresa mediante un algoritmo Oct-2024 Danilo Jaramillo Hurtado 3 El Algoritmo 1.Estacionar auto 2.Apagar auto Procedimiento para cambiar 3.Poner luces de parqueo llanta ponchada de un auto 4.Sacar llanta de emergencia y herramientas durante un viaje 5.Aflojar tuercas 6.Levantar auto 7.Extraer tuercas 8.Extraer llanta ponchada 9.Colocar llanta de emergencia 10.Ajustar tuercas 11.Bajar auto ALGORITMO que resuelve el 12.Apretar tuercas problema de cambio de 13.Guardar llanta ponchada y herramientas llanta ponchada de un auto 14.Continuar viaje Oct-2024 Danilo Jaramillo Hurtado 4 El Algoritmo El algoritmo es un conjunto de pasos requeridos para resolver un problema. “Conjunto finito de procesos a su vez finitos y bien definidos que conducen a un resultado” (Martínez, F. et al.) “Secuencia ordenada de pasos exenta de ambigüedad que conduce a la resolución de un problema determinado en un número finito de pasos” (Xhafa, F. et al.) Diferentes forma de expresar un algoritmo: lenguaje natural, lenguaje simbólico, diagramas de flujo, etc.. En informática, los pasos son enunciados imperativos (acciones/órdenes) que deberá ejecutar el programa Oct-2024 Danilo Jaramillo Hurtado 5 Algoritmo Conjunto ordenado y finito de pasos que dan solución a un problema Oct-2024 Danilo Jaramillo Hurtado 6 Programación (en el contexto de la informática) Problema de programación es una tarea que puede ser resuelta con la ayuda de un computador, mediante la ejecución de un programa informático. Ejemplo: “Determinar la edad de una persona” Programa informático es una secuencia de instrucciones escritas en un lenguaje de programación para ejecutar una tarea específica en una computadora Hablamos por tanto de programación informática, llamada también programación computacional o programación algorítmica, o simplemente programación. Oct-2024 Danilo Jaramillo Hurtado 7 Lógica de la programación Componentes de la solución de un problema de programación “Determinar la edad de una persona” Oct-2024 Danilo Jaramillo Hurtado 8 Lógica de la programación Habilidad de pensar de manera razonada, sistemática y ordenada que nos hace capaces de inferir algoritmos que dan solución a problemas, y que son susceptibles de programación. Oct-2024 Danilo Jaramillo Hurtado 9 Lógica de la programación Un problema de programación debe ser reducido a la ejecución de una secuencia explícita de pasos (algoritmo) y luego estos pasos deben ser traducidos a un lenguaje de programación (programa). Los lenguajes de programación son entonces el vehículo a través del cual traducimos nuestro algoritmo a instrucciones que la máquina pueda entender y ejecutar. Oct-2024 Danilo Jaramillo Hurtado 10 Sistema de numeración decimal y binario Los sistemas de numeración son clave para el entendimiento del procesamiento computacional. Existen múltiples sistemas de numeración: Hexadecimal: sistema posicional de base 16, usa 16 símbolos (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Decimal: sistema posicional de base 10, usa 10 símbolos (0,1,2,3,4,5,6,7,8,9) Octal: sistema posicional de base 8, usa 8 símbolos (0,1,2,3,4,5,6,7) Binario: sistema posicional de base 2, usa 2 símbolos (0,1) Octubre 2024 Danilo Jaramillo Hurtado 11 Sistema de numeración decimal y binario En nuestra vida cotidiana usamos el sistema decimal Todo número tiene equivalencia en distintos sistemas: Suponga la edad de una persona es 28 años, ¿cómo se expresa esa edad en los distintos sistemas de numeración? Decimal (base 10) 28 Hexadecimal (base 16) 1C Octal (base 8) 34 Las computadoras Binario (base 2)usan el sistema 11100 binario Octubre 2024 Danilo Jaramillo Hurtado 12 Sistema de numeración decimal y binario Conversión de decimal a binario Octubre 2024 Danilo Jaramillo Hurtado 13 Sistema de numeración decimal y binario Conversión de binario a decimal Octubre 2024 Danilo Jaramillo Hurtado 14 Bit y Byte Las máquinas de procesamiento de datos (computadoras), usan el sistema de numeración binario (unos y ceros) El sistema binario utiliza solo dos posibles estados: Apagado -> 0 Encendido -> 1 A cada uno estos dos posibles estados o dígitos se les llama bit (binary digit) Cualquier dato que procesa un computador internamente se representa usando bits El bit es la mínima unidad de información Octubre 2024 Danilo Jaramillo Hurtado 15 Bit y Byte Pero para representar los símbolos de un alfabeto (letras, números, etc.), un bit es insuficiente. Se define el concepto octeto o Byte, que es la agrupación de 8 bits El Byte constituye la mínima unidad de almacenamiento Lo que se pretendía con el Byte en sus inicios es poder representar los 255 símbolos del código ASCII A partir del Byte se definieron múltiplos Octubre 2024 Danilo Jaramillo Hurtado 16 Tabla de caracteres del código ASCII Octubre 2024 Danilo Jaramillo Hurtado 17 Representación de los datos en código binario Carácter Representación en Representación computacional ejemplo decimal (código ASCII) en sistema binario (a través de un Byte)* A 65 01000001 a 97 01100001 á 160 10100000 5 53 00110101 @ 64 01000000 * Cuando la representación en binario del código ASCII tiene menos de 8 bits, se rellena con ceros a la izquierda hasta completar 1 byte (8 bits) Octubre 2024 Danilo Jaramillo Hurtado 18 Representación de los datos en código binario Ejemplo: ¿cuál sería la representación de la palabra “sol” en el computador? s o l Código ASCII 115 111 108 Binario (Byte) 01110011 01101111 01101100 011100110110111101101100 s o l 011100110110111101101100 3 bytes Octubre 2024 Danilo Jaramillo Hurtado 19 Múltiplos y submúltiplos del Byte Unidades de almacenamiento y sus múltiplos Byte B Equivalencia Kilobyte kB en Bytes Octubre 2024 Danilo Jaramillo Hurtado 20 Múltiplos y submúltiplos del Byte y bit Unidades de almacenamiento y sus múltiplos Byte bit Nombre Símbolo Equivalencia Nombre Símbolo Equivalencia Byte B 8 bits Bit b Kilobyte kB 1024 B Kilobit kbit kb 1024 b Megabyte MB 1024 kB Megabit Mbit Mb 1024 kb Gigabyte GB 1024 MB Gigabit Gbit Gb 1024 Mb Terabyte TB 1024 GB Terabit Tbit Tb 1024 Gb Petabyte PB 1024 TB Petabit Pbit Pb 1024 Tb Exabyte EB 1024 PB Exabit Ebit Eb 1024 Pb Zettabyte ZB 1024 EB Zettabit Zbit Zb 1024 Eb Yottabyte YB 1024 ZB Yottabit Ybit Yb 1024 Zb Octubre 2024 Danilo Jaramillo Hurtado 21 Múltiplos y submúltiplos del Byte y bit Videos recomendados sobre las unidades de medida y la divergencia existente entre la equivalencia de los múltiplos (kilo, Mega, Giga, etc.) en el ámbito del sistema métrico y en el ámbito informático. https://youtu.be/LG66z33xRGU https://youtu.be/V4bsIo-xync Octubre 2024 Danilo Jaramillo Hurtado 22 Valor Conjunto de símbolos = valor 1101816407 12 VALORES DATOS 10-Agosto Quito Oct-2024 Danilo Ruben Jaramillo H 23 Dato Valor que describe un atributo de algo = DATO 1101816407, es el número de cédula de Juan Pérez 12 , es el % del IVA en Ecuador DATOS DATOS 10-Agosto , es el nombre de una calle céntrica en Loja Quito , es la capital de Ecuador DATO = valores contextualizados Oct-2024 Danilo Ruben Jaramillo H 24 Dato Es el elemento primario de la información conformado por símbolos (letras, números, caracteres especiales) que reunidos y bajo un contexto pueden cobrar significación El dato es una representación simbólica de un atributo de una entidad. “.. en términos computacionales, si no se puede traducir a datos, no se puede automatizar” Oct-2024 Danilo Ruben Jaramillo H 25 Dato vs Información Información: Resultado de la transformación de los datos por un programa DATO INFORMACIÓN Oct-2024 Danilo Ruben Jaramillo H 26 Naturaleza de los datos Principales: Numéricos (enteros, decimales) (231 , 231.34) Cadena (strings) (“Juan Pérez”, “231”) Booleanos (dualidad [Verdadero, Falso] , [True, False]). Fecha (08/10/2012 16:20:33) Otros: CLOB (Character Large OBject): Objeto de caracteres muy extenso. Cartas, libros, sinopsis, etc. BLOB (Binary Large OBject): Para representar imágenes, videos, audio, PDFs, etc. Oct-2024 Danilo Ruben Jaramillo H 27 NULO o NULL En informática y específicamente en programación NULL significa AUSENCIA DE VALOR. NULL NO es un valor Oct-2024 Danilo Ruben Jaramillo H 28 Tipos de dato Tipo de dato Naturaleza Observación (Pseudocódigo) Número entero que no ocupa Numérico Byte más de un byte Número entero que ocupa dos Numérico Entero o más bytes Numérico Decimal o Real Número decimal Cadena Cadena Booleano Booleano Fecha Fecha Oct-2024 Danilo Ruben Jaramillo H 29 Dominios Dominio es el conjunto de valores permitidos para un dato. Oct-2024 Danilo Ruben Jaramillo H 30 Dominios Dominio de tipo de dato. Ejemplos: Byte solo acepta números de 0 a 255, o de -128 a 127 (depende del lenguaje de programación). Booleano solo acepta TRUE o FALSE Dominio de regla de negocio. Ejemplos: La fecha de nacimiento de un estudiante UTPL debe estar entre “01/01/1950” y “31/12/2004”. El precio de un televisor debe ser mayor o igual a 0. El nombre de una persona solo puede tener letras y espacios en blanco y máximo 150 caracteres. Oct-2024 Danilo Ruben Jaramillo H 31 Propiedades de los datos Ejemplo 1: Se trata de valores El precio de un televisor monetarios que pueden incluir Naturaleza: Numérico. decimales. Ej: Dominio de tipo de dato: Decimal. 749.99 Dominio de RN: Mayor a cero. El precio de un Obligatorio: Si televisor nunca puede ser negativo El valor del precio siempre debe estar establecido (no puede ser nulo) por lo tanto es obligatorio (depende del Si o No contexto). Oct-2024 Danilo Ruben Jaramillo H 32 Variable En programación, la unidad básica de almacenamiento de los datos es la VARIABLE Oct-2024 Danilo Ruben Jaramillo H 33 Variable Aquí se almacenan Recordemos … los datos que RAM procesa un programa Arquitectura del computador Oct-2024 Danilo Ruben Jaramillo H 34 Variable Una variable es una posición nominada del sector de la memoria RAM reservado para almacenar el valor de un dato. Características que la definen: El nombre que identifica el espacio RAM reservado para almacenar el valor del dato. El dominio del dato que almacena (tipo de dato + dominio específico). El estado de la variable, que corresponde al valor que almacena en un momento dado Oct-2024 Danilo Ruben Jaramillo H 35 Variable Reglas para elegir el nombre de una variable: Iniciar siempre con una letra Componerse de letras, dígitos y/o guión bajo ( _ ) No contener espacios en blanco ni otros caracteres especiales No mayor a 32 caracteres Deben ser representativos del valor que almacenan. Oct-2024 Danilo Ruben Jaramillo H 36 Variable Ejemplos: Dato Variable Tipo de dato Valor de ejemplo Impuesto al impuesto IVA valor agregado Byte 12 impuesto_IVA Nombre de la capital_país capital de un Cadena “Buenos Aires” país capital_pais Número teléfono 1er_telefono principal de una Cadena “+593-72109989” telefono_1 persona Oct-2024 Danilo Ruben Jaramillo H 37 Variable Tipos de dato primitivos en JAVA Tipo de dato genérico Tipo en Java Observación Byte byte Entero pequeño Entero short Entero corto Entero int Entero normal Entero long Entero largo Real float Decimal de simple presición Real double Decimal de doble presición Cadena char Cadena de longitud 1 Cadena String Cadena de longitud n Booleano boolean Oct-2024 Danilo Ruben Jaramillo H 38 Variable Consumo de Bytes por tipo de dato en JAVA Tipo de Tamaño Representación Rango de Valores dato JAVA (Bytes) byte Numérico Entero con signo 1 -128 a 127 short Numérico Entero con signo 2 -32768 a 32767 int Numérico Entero con signo 4 -2147483648 a 2147483647 -9223372036854775808 a long Numérico Entero con signo 8 9223372036854775807 Numérico en Coma flotante de precisión float 4 ± 3.4x10-38 a ± 3.4x1038 simple Numérico en Coma flotante de precisión double 8 ± 1.8x10-308 a ± 1.8x10308 doble char Carácter Unicode 2 65536 caracteres (UNICODE) boolean Dato lógico True o false Oct-2024 Danilo Ruben Jaramillo H 39 Variable Ejemplo del espacio RAM que ocuparían en JAVA algunas variables: Dato Variable Valores ejemplo Tipo de dato Total Bytes en (Java) RAM (Java) Impuesto al 0 valor impuesto_IVA byte 1 agregado 12 Longitud Distancia en 10 fija Km entre dos distancia_Km int 4 ciudades 8000 Nombre de la “Quito” 10 capital de un capital_pais String Longitud país “Buenos Aires” 24 variable Oct-2024 Danilo Ruben Jaramillo H 40 Variable Los tipos de dato Byte, Entero, Real, Booleano y Fecha se consideran de LONGITUD FIJA. No importa el valor que almacenen, siempre ocuparan el mismo espacio en RAM. El tipo de dato Cadena se considera de LONGITUD VARIABLE, pues según el número de caracteres de la cadena ocupará más, o menos espacio en RAM Oct-2024 Danilo Ruben Jaramillo H 41 Asignación de valores a variables Para almacenar el valor de un dato en una variable, se debe asignar valor a la variable. El operador de asignación en pseudocódigo es “←”. Sin embargo, en los lenguajes de programación se usa otros como “=“ o “:=”. El valor asignado a una variable se lo especifica mediante una expresión, y puede ser un valor literal o un valor calculado. Oct-2024 Danilo Ruben Jaramillo H 42 Asignación de valores a variables Sintaxis: variable ← expresion Ejemplos: impuesto_IVA ← 12 (valor literal) impuesto_IVA ← 15 / 3 + 7 (valor calculado) capital_pais ← "Buenos Aires" (valor literal) capital_pais ← "Buenos " + ”Aires" (valor calculado) Mientras una variable no tenga asignado valor, se dice que su contenido es nulo (NULL). Oct-2024 Danilo Ruben Jaramillo H 43 Expresiones Expresión: Una expresión define el valor de un dato. Hay dos tipos: Expresión absoluta (valor literal): 12 Falso "Quito" Expresión compuesta (valor calculado): 15 / 3 + 7 1>2 "Qui" + "to" Oct-2024 Danilo Ruben Jaramillo H 44 Operadores y reglas de precedencia Categorías de los operadores Operador de asignación ( ) Operadores aritméticos: Suma: + Resta: - Multiplicación: * División: / Potencia: ^ Operadores relacionales (> , >= , < , = ) Mayor o igual que. ( > ) Mayor que. ( 9 and 4 + 3 > 8 * 2 luego los relacionales, y al final los lógicos Precedencia implícita por operador. 4^3–5*2 Primero se evalúan potencias, luego Precedencia posicional multiplicaciones/divisiones, y al final sumas/restas 8–5+2 Precedencia explícita. Operaciones con la misma precedencia se evalúan de (8 – 5) * 2 izquierda a derecha Los paréntesis sobre escriben cualquier precedencia implícita o posicional Oct-2024 Danilo Ruben Jaramillo H 50 Evaluación de expresiones compuestas 24 – 4 + 8 – 6 / 2 * 5 – 3 * 8 – 16 / 2 24 – 4 + 8 – 6 / 2 * 5 – 3 * 8 – 16 / 2 24 – 4 + 8 – 3 * 5 – 24 – 8 24 – 4 + 8 – 15 – 24 – 8 20 + 8 – 15 – 24 – 8 28 – 15 – 24 – 8 13 – 24 – 8 -11 – 8 -19 Oct-2024 Danilo Ruben Jaramillo H 51 Evaluación de expresiones compuestas 24 – 4 + (8 – 6) / 2 * (5 – 3) * 8 – 16 / 2 24 – 4 + (8 – 6) / 2 * (5 – 3) * 8 – 16 / 2 24 – 4 + 2 / 2 * 2 * 8 – 16 / 2 24 – 4 + 1 * 2 * 8 – 8 24 – 4 + 16 – 8 20 + 16 – 8 36 – 8 28 Oct-2024 Danilo Ruben Jaramillo H 52 Evaluación de expresiones compuestas ( a > b + 2 ) and not( c + a = b * c ) siendo a ← 4, b ← 3 y c ← 5 ( 4 > 3 + 2 ) and not( 5 + 4 = 3 * 5 ) ( 4 > 3 + 2 ) and not( 5 + 4 = 15 ) ( 4 > 5 ) and not( 9 = 15 ) Falso and not( Falso ) Falso and Verdadero Falso Oct-2024 Danilo Ruben Jaramillo H 53 No olvidar … Reglas de Precedencia Tablas de verdad Orden de evaluación de expresiones: 1. Paréntesis (comenzando por los más internos) 2. Signo (+ -) 3. Potencias Operaciones 4. Productos y divisiones aritméticas 5. Sumas y restas 6. Relacionales Operaciones de 7. Negación (NOT) comparación 8. Conjunción (AND) Operaciones 9. Disyunción (OR) lógicas Oct-2024 Danilo Ruben Jaramillo H 54