• Tidak ada hasil yang ditemukan

Tema 7 Apuntadores

N/A
N/A
Protected

Academic year: 2017

Membagikan "Tema 7 Apuntadores"

Copied!
50
0
0

Teks penuh

(1)

Tema VII. Metodología de desarrollo de

proyectos básicos de software

Objetivo: El alumno elaborará un proyecto básico de software aplicando la teoría del diseño de programas y herramientas de

(2)

7.1 Fases en el desarrollo de proyectos de software

Apuntadores

(3)

7.1 Fases en el desarrollo de proyectos de software

CASA DIRECCION DE MEMORIA NOMBRE

VARIABLE

DATO

(4)
(5)
(6)

7.1 Fases en el desarrollo de proyectos de software

Declaración de apuntadores

La forma general de la declaración de un apuntador es:

tipo_de_dato *nombre_apuntador

tipo_de_dato especifica el tipo de datos al que apunta el apuntador.

(7)
(8)
(9)
(10)

7.1 Fases en el desarrollo de proyectos de software

El operador de dirección &

El lenguaje C también proporciona un operador, &, que puede utilizar en caso de que desee saber el valor izquierdo de una variable. Este operador se llama operador de dirección debido a que se evalúa como la dirección (es decir, el valor izquierdo) de una variable.

(11)

7.1 Fases en el desarrollo de proyectos de software

NOTA:

(12)
(13)

7.1 Fases en el desarrollo de proyectos de software

El operador de indirección

(14)

7.1 Fases en el desarrollo de proyectos de software

Apuntadores NULOS

Se dice que un apuntador es nulo cuando su valor derecho es 0. Un apuntador nulo nunca puede apuntar a datos válidos. Por esta razón, puede verificar un apuntador para ver si tiene asignado 0; si es así, se sabe que se trata de un apuntador nulo y que no es válido.

char *aptr_c; int *aptr_int;

(15)

7.1 Fases en el desarrollo de proyectos de software

Aritmética de apuntadores

(16)

7.1 Fases en el desarrollo de proyectos de software

Operadores no válidas con apuntadores

• No se pueden sumar dos apuntadores

• No se pueden multiplicar dos apuntadores

(17)

7.1 Fases en el desarrollo de proyectos de software

Resumen

• Un apuntador es una variable cuyo valor apunta a otra variable.

• El operador de dirección (&) se puede usar para obtener la dirección en memoria de una variable.

• En una declaración de apuntador, el asterisco (*) le indica al compilador que la variable es una variable de apuntador.

• Puede actualizar el valor de una variable a la que hace referencia una variable de apuntador.

(18)

7.1 Fases en el desarrollo de proyectos de software

Actualización de variables por medio de

apuntadores

(19)
(20)
(21)

7.1 Fases en el desarrollo de proyectos de software

Encuentre los errores en la siguiente declaración

de apuntadores

int x, *p, &y;

char* b= "Cadena larga";

char* c= 'C';

float x;

(22)

7.1 Fases en el desarrollo de proyectos de software

Debido a que un nombre de arreglo al que no le sigue un índice se interpreta como un apuntador al primer elemento del arreglo, se puede asignar la dirección de inicio de un arreglo a un apuntador del mismo tipo de datos; luego puede acceder a cualquier elemento del arreglo sumando el entero apropiado al apuntador. El valor del entero que utiliza es el mismo que el valor del índice del elemento al que desea acceder.

(23)

7.1 Fases en el desarrollo de proyectos de software

En otras palabras, dado un arreglo, arreglo, y un apuntador,

aptr_arreglo, si arreglo y aptr_arreglo son del mismo tipo de datos, y

aptr_arreglo contiene la dirección de inicio del arreglo, es decir:

aptr_arreglo = arreglo;

Entonces la expresión arreglo[n] equivale a la expresión

*(aptr_arreglo + n)

(24)
(25)
(26)

7.1 Fases en el desarrollo de proyectos de software

Lectura y Escritura de Archivos

Flujo

(27)

7.1 Fases en el desarrollo de proyectos de software

Como abrir archivos

La función fopen() de E/S de C, abre un archivo y le asocia un flujo. Es necesario especificar el método de apertura del archivo y el nombre del mismo como argumentos para la función fopen().

La sintaxis de la función fopen() es

#include <stdio.h>

(28)

7.1 Fases en el desarrollo de proyectos de software

r Abre un archivo en modo lectura

w Abre un archivo en modo lectura

a Abre un archivo en modo agregable

r+ Abre un archivo ya existente para modificar (lectura / escritura)

w+ Crea un archivo para escribir / leer (si ya existe se pierden los datos)

a+ Abre un archivo para modificar (escribir / leer) al final.

rb Abre un archivo binario en modo lectura

wb Abre un archivo binario en modo lectura

ab Abre un archivo binario en modo agregable

r+b Abre un archivo binario ya existente para modificar (lectura / escritura)

w+b

Crea un archivo binario para escribir / leer (si ya existe se pierden los datos)

a+b Abre un archivo binario para modificar (escribir / leer) al final.

(29)

7.1 Fases en el desarrollo de proyectos de software

Como cerrar un archivo

Después de leer, escribir o agregar algunos datos nuevos a un archivo en disco, tiene que disociar el archivo de un flujo específico por medio de una llamada a la función fclose().

La sintaxis de la función fclose() es

(30)
(31)

7.1 Fases en el desarrollo de proyectos de software

Principios de diseño de Sistemas de Software

(32)

7.1 Fases en el desarrollo de proyectos de software

1. Modularidad mediante diseño descendente.

2. Abstracción y ocultamiento de la información.

3. Modificabilidad

4. Comprensibilidad y fiabilidad

5. Interfaces de usuario.

6. Programación segura contra fallos

7. Facilidad de uso.

8. Eficiencia

9. Estilo de programación.

10. Depuración.

(33)

7.1 Fases en el desarrollo de proyectos de software

1. Modularidad mediante diseño descendente.

La descomposición del problema se realiza a través de un diseño descendente que a través de niveles sucesivos de refinamiento se obtendrán diferentes módulos.

La modularidad tiene un impacto positivo en los siguientes aspectos de la programación.

 Construcción del programa.

 Depuración del programa.

 Legibilidad.

(34)

7.1 Fases en el desarrollo de proyectos de software

2. Abstracción y ocultamiento de la información

La abstracción indica especificaciones funcionales de cada caja negra; es responsable de su vista externa o pública. Sin embargo, la abstracción ayuda también a identificar detalles de lo que se puede

ocultar de la vista pública –detalles que no están en las especificaciones pero deben ser privados

(35)

7.1 Fases en el desarrollo de proyectos de software

3. Modificabilidad

(36)

7.1 Fases en el desarrollo de proyectos de software

4. Comprensibilidad y fiabilidad

Un sistema se dice que es comprensible si refleja directamente una visión natural del mundo. Una característica de un sistema eficaz es la simplicidad. En general, un sistema sencillo puede ser comprendido más fácilmente que uno complejo.

(37)

7.1 Fases en el desarrollo de proyectos de software

5. Interfaces de usuario

Otro criterio importante a tener presente es el diseño de la interfaz del usuario. Algunas directrices a tener en cuenta pueden ser:

 En un entorno interactivo se ha de tener en cuenta las preguntas posibles al usuario y sobre todo aquellas que solicitan entradas de usuario.

(38)

7.1 Fases en el desarrollo de proyectos de software

6. Programación segura contra fallos

(39)

7.1 Fases en el desarrollo de proyectos de software

7. Facilidad de uso

(40)

7.1 Fases en el desarrollo de proyectos de software

8. Eficiencia

(41)

9. Estilo de programación

Un estilo de programación se refiere a la forma en que se da formato al código fuente. Para C, esto involucra la forma en que se ubican las llaves, se indenta el código y se utilizan los paréntesis.

Debe de ser un buen hábito para los programadores marcando su personalidad o integración con el equipo.

Claro está que estos estilos pueden depender de diferentes factores entre ellos el lenguaje de programación, la dimensión de las aplicaciones y

(42)

10. Depuración

Es el proceso de identificar y corregir errores de programación. En inglés se conoce como debugging, ya que se asemeja a la eliminación de bichos.

Si bien existen técnicas para la revisión sistemática del código fuente y se cuenta con medios computacionales para la detección de errores (depuradores), sigue siendo en buena medida una actividad manual, que desafía la paciencia, la imaginación y la intuición del programador. Muchas veces se requiere incluir en el código fuente instrucciones auxiliares que permitan el seguimiento de la ejecución del programa, presentado los valores de variables y direcciones de memoria y ralentizando la salida de datos.

(43)

11. Documentación

Escritura de las diferentes fases del ciclo de vida del software, esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y de referencia, así como normas para el mantenimiento.

(44)

7.2 Herramientas de desarrollo en entornos visuales

(45)

7.2 Herramientas de desarrollo en entornos visuales

(46)

7.2 Herramientas de desarrollo en entornos visuales

(47)

7.2 Herramientas de desarrollo en entornos visuales

GNAT Programming Studio

(48)

7.2 Herramientas de desarrollo en entornos visuales

(49)

7.2 Herramientas de desarrollo en entornos visuales

(50)

Referensi

Garis besar

Dokumen terkait

Manfaat dari penulisan paper ini adalah untuk memahami pentingnya knowledge management dalam tata kelola pengetahuan yang berpotensi dalam institusi pendidikan (Politeknik

91 Journal of English Language and Language Teaching (JELLT), Vol.2, No.1, 2018 then believes that role play technique is suitable to be conducted in speaking class to improve

SMK Telekomunikasi Tunas Harapan memerlukan media promosi untuk memperbaharui media promosi yang lama, juga membuat inovasi media promosi baru yang dapat

Penelitian ini ingin menjawab dari permasalahan mengenai 1) Persepsi atlet putri terhadap olahraga gulat; 2) Persepsi orang tua terhadap olahraga gulat; 3) perbedaan

• Don O’Neill summarized data received by the National Software Quality Experiment from across many organizations to show that the average detection rate was about 50-65% for less

Penelitian ini dilakukan di Perpustakaan Arsip dan Dokumentasi Kabupaten Serdang Bedagai, Tujuan dari penelitian ini adalah untuk mengetahui pengaruh ketersediaan sarana

Penelitian ini dilakukan untuk mengetahui gambaran bagaimana kualitas pelayanan di Posyandu Kota Tangerang, yang merupakan salah satu bentuk Upaya Kesehatan Bersumber Daya

Kedelai hitam F3 hasil persilangan varietas Detam dengan Baluran menunjukkan perbedaan yang nyata pada sifat tinggi tanaman, jumlah biji per tanaman, dan bobot