UNIVERSIDAD TECNICA PERTICULAR DE LOJA Fundamentos de la Programación ANGEL TORRES
Ideas principales del capitulo #2 Estructura y proceso de desarrollo de un programa Estructura de un programa D O C U M E N T A I Ó M A N T E I O Definición y Análisis del problema Proceso para hacer un progrma Diseño del Algoritmo. Codificación del Programa. Depuración y Verificación.
-Tipos de datos numéricos CAPITULO # 3 -Tipos de datos numéricos -Expresiones -Datos tipo carácter Y tipo cadena
Capitulo Nº 3 Estructura general de un programa Tipo de datos: Existen 2 tipos de datos: básicos, incorporados, o integrados que se incluyen en los lenguajes de programación; definidos por el programa o usuario. Además de los datos básicos y simples construir otros datos a partir de estos = compuestos o datos agregados tales como estructuras, uniones, enumeraciones, vectores o matrices/tablas y cadenas “arrays o arreglos” , existen datos especiales en C y C++ punteros (apuntadores) y referencias
Se determinan automáticamente cuando se crean las variables Datos Simples Se determinan automáticamente cuando se crean las variables Datos Compuestos Todos estos (datos son del mismo tipo) y hay como almacenar datos bajo un mismo identificador
Datos basicos TIPOS DE DATOS EQUIVALENTES EN C Tipo de dato Numéricos (entero real) Lógicos (boolean) Carácter (carácter, cadena) TIPOS DE DATOS EQUIVALENTES EN C Tipo de dato Palabra reservada Ejemplo Entero Int Int numero=0; Real Float Float numero=12.2; Carácter Char Char letra = ‘a’; Cadena de carácter Char palabra[10] = “HOLA”;
DATOS NUMÉRICOS El tipo numérico es el conjunto de los valores numéricos. Pueden representarse en 2 formas distintas: Tipo numérico entero (integer) Int numero=0; Tipo numérico real (real) Float numero 12,2; Enteros: Es una especialización que solo permite almacenar valores enteros cualquier valor no entero que se lea o asigne en una variable de este tipo será truncado (redondeado) Eje. Enteros -32.768 a 32.767 Enteros cortos -128 a 127 Enteros largos -2147483648 a 2147483647
Reales: Los números reales siempre tienen un punto decimal y pueden ser positivos y negativos. Eje. 0.08 3739.41 3.7452 -52.321 -8.12 3.0 Existe un tipo de representación denominado notación exponencial o científica y que se utiliza para números muy grandes o números muy pequeños. Así Y posteriormente en forme de potencias de 10 3.675201*10²° Se representa como 3.02579*10ˉ¹¹
Representación en coma flotante es una generalización de notación científica. 3.6752013*10²° = .36752013*10²¹ = .036752013*10²² = 36.75201* 10 19 = 367.5201*10¹…
DATOS LÓGICOS (booleanos) Lógico (booleano) Cierto (true) (SI/NO) Falso (false) (SI/NO)
Datos tipo carácter tipo cadena Estos tipos de caracteres van encerrados entre comillas (pueden ser dobles o simples) ‘Hola Mortimer‘ ‘12 de octubre de 1492’ ‘Sr. Mckoy' Caracteres alfabéticos(A, B, C, …, Z) (a, b, c, …, z), Caracteres numéricos (1, 2, …, 9, 0), Caracteres especiales (+, -, *, /, ˆ, ., <, >, $, …), ‘
constantes variables Datos Objeto de dato con un nombre, un tipo y un valor asociado que no puede modificarse una vez definido constantes Objeto de dato con un nombre, un tipo y un valor asociado que puede modificarse libremente durante la ejecución de un programa. variables
Declaración de constantes y variables Normalmente los identificadores de las variables y de las constantes con nombre deben de ser declaradas en los programas antes de ser utilizadas. La sintaxis de la declaración de una variable suele ser <tipo_de_dato> >nombre_variable> [=<expresión>] Eje. Const. doble PI= 3.141592 Const. cad nombre= ‘Mackoy’ Const. car letra= ‘c‘.
EXPRESIONES Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación matemática tradicional; Eje. a + (b+3) + √c a + (b+3) + RAIZ c Aquí los paréntesis indican el orden del calculo √ representa la función de la raíz cuadrada. Una expresión consta de operandos y operadores. Según sea el tipo de objetos que manipulan, las expresiones se clasifican en: aritméticas relacionales lógicas carácter
Expresiones aritméticas Las expresiones aritméticas son análogas a las formulas matemáticas. - resta * multiplicación / división ↑ , ** , ˆ exponenciación div, / división entera mod, % módulo (resto) Todos estos se los conoce como operadores aritméticos ANALOGÍA = RELACIÓN Esto quiere decir que una expresión y un formula aritmetica están relacionadas por los operadores aritmeticos sean estos especiales o matemáticos, eje RAÍZ, EXP, etc.
Operaciones de Incremento y decremento Los lenguajes de programación C , C++, JAVA. Soportan los operadores unitarios de incremento , ++, y decremento, --, el operador de incremento (++) aumenta el valor de su operando en una unidad, y el operador de decremento (--) disminuye también en una unidad. ++i // i + 1 y después utiliza el valor de i + 1 en la expresión i++ // i + 1 en la expresión y después utiliza el valor de i + 1 --i // i - 1 y después utiliza el valor de i en la expresión i-i-- utiliza el valor de i en la expresión en que se encuentra y después se incrementa 1
Operadores Aritméticos Operadores de Incremento y Decremento Descripción Ejemplo * Multiplicación (a*b) / División (a/b) + Suma (a+b) - Resta (a-b) % (mod) Módulo (a%b) Operadores de Incremento y Decremento Operador Descripción Ejemplo ++ Incremento en i ++i , i++ -- Decremento en i --i , i--
Reglas de prioridad básicas Cuando una expresión aritmética esta compuesta por varios operadores se recurre a las reglas de prioridad
Expresiones lógicas (booleanas) En esencia, una expresión lógica es una expresión que solo puede tomar dos valore: verdadero, falso Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas utilizando los operadores lógicos NOT, AND,OR y os operadores relacionales: =, <, >, <=, >=, < > Operaciones de relación: Los operadores relacionales permiten realizar comparaciones de valores tipos numéricos o de carácter. Exprecion1 → operador de relación → Exprecion2 Ejemplo: Si A = 4 y B = 3, entonces A<B Es « verdadero »
Operadores Relacionales Descripción Ejemplo < Menor que (a<b) <= Menor que o igual (a<=b) > Mayor que (a>b) >= Mayor que o igual (a>=b) == Igual (a==b) != No igual (a!=b) Operaciones Lógicos Operador Lógico Expresión Lógico Significado No (not) , ! No p (not p) Negación de p Y (and) , && p y q (p and q) Conjunción de p y q O (o) , || p o q (p o q) Disyunción de p y q
Importante: Los caracteres especiales #, %, $, (, ), +, -, /…., exigen la consulta del código de ordenación los valores de los caracteres que representan a los dígitos están en su orden natural , esto es ‘0’ < ‘1’ , ‘1’ < ‘2’,……., ‘8’ < ‘9’. Las letras mayúsculas A a Z siguen el orden (‘A’ < ‘B’, ‘C’ < ‘F’, … etc.) S i existen letras minúsculas, siguen el mismo criterio alfabético (‘a’ < ‘b’, ‘c’ < ‘h’, … etc.) Esto es
ejercicios Convierta las siguientes expresiones algebraicas como expresiones algorítmicas E. Algebraicas E. Algoritmicas (√ 𝑏 2 )-4ac RAIZ b – 4 * a * c 𝑥 2 + 𝑦 2 𝑧 2 x ^ 2 + y ^ 2 / z ^ 2 Convierta las siguientes expresiones algorítmicas como expresiones algebraicas E. Algebraicas E. Algoritmicas b ^ 2 – 4 * a * c 𝑏 2 −4𝑎𝑐 (𝑥 2 + 𝑦 2 ) 1/2 (x^2+y^2)^(1/2)
Referencias.- Bibliográficas: lUís, Joyanes aguilar. (2003): “Estructura General de un programa” Mc-Graw Hill. Madrid Fundamentos de programación : FIEC- ESPOL