Вы находитесь на странице: 1из 176
ESIME TICOMÁN FUNDAMENTOS DE PROGRAMACIÓN RODRIGO AVILÉS VILLAREAL 2013 I N S T I T
ESIME TICOMÁN
FUNDAMENTOS DE
PROGRAMACIÓN
RODRIGO AVILÉS VILLAREAL
2013
I N S T I T U T O
P O L I T É C N I C O
N A C I O N A L

1

ÍNDICE

Unidad I. Introducción a la Programación 1 1. Definición, características y función de un Sistema
Unidad I. Introducción a la Programación
1
1. Definición, características y función de un Sistema Operativo
1
1.1
Análisis comparativo de Sistemas Operativos. Linux y Windows.
5
2. Definición de características de los Lenguajes de programación. Visual Basic, Java y
Lenguaje “C”.
10
3.
Compilador (Dev C++)
16
Unidad Il. Fundamentos de programación estructurada
19
1. Estructura general de un programa
20
1.1
Tipos de variables
28
1.2
Constantes (uso de #define)
42
1.3
Operadores
45
2. Funciones de entrada
68
2.1
La función scanf()
68
2.2
Las funciones getch() y getche()
70
3. Funciones matemáticas
73
4. Funciones generadas por el usuario
78
4.1 Declaración y definición de una función
78
4.2 Función sin argumentos que no devuelve ningún valor
80
4.3 Función con argumentos que no devuelve ningún valor
82
4.4 Función sin argumentos que devuelve un valor
85
Unidad III. Sentencias de control
90
1. Sentencia de control for
90
2. Sentencias de control while y do while
96
3. Sentencia de control if else
105
4. Sentencia de control break
112
5. Sentencia de control switch
116
6.Sentencia de control goto
123

Fundamentos de Programación Unidad I. Introducción a la Programación

Unidad IV. Estructuras de datos 133 1. Arreglos (Arrays) Unidimensionales 133 2. Arreglos de caracteres
Unidad IV. Estructuras de datos
133
1. Arreglos (Arrays) Unidimensionales
133
2. Arreglos de caracteres (strings)
140
3. Arreglos (Arrays) Bidimensionales
148
4. Apuntadores (Punteros) Concepto
155
5. Operadores con apuntadores
162
6. Relación de apuntadores con arreglos
166

Fundamentos de Programación Unidad I. Introducción a la Programación

Unidad I. Introducción a la Programación

1. Definición, características y función de un Sistema Operativo

Mapa de conceptos

Unidad I

Introducción a la Programación

de conceptos Unidad I Introducción a la Programación Definición de características de los Lenguajes de
de conceptos Unidad I Introducción a la Programación Definición de características de los Lenguajes de
de conceptos Unidad I Introducción a la Programación Definición de características de los Lenguajes de
de programación. Visual Basic, Java y Lenguaje “C”. Definición, características y función de un Sistema
características y función de un Sistema Operativo Análisis comparativo de Sistemas Operativos. Linux

Análisis

comparativo

de Sistemas

Operativos.

Linux y

Windows

Introducción.

Cuando se enciende una

programas de aplicación. Para que este conjunto de programas trabajen ordenadamente se requiere de un Sistema Operativo.

comienza a trabajar en ella un conjunto de

computadora

El

demás programas funcionarán, además de brindar una interfaz entre el usuario y la computadora.

es un programa que proporciona el ambiente sobre el cual los

Sistema Operativo

Para todo programador es necesario identificar el concepto, características y función de un sistema operativo ya que los programas que desarrollarás en esta unidad de aprendizaje y en otras unidades, se ejecutarán dentro de un sistema operativo, por lo tanto es necesario conocer el ambiente sobre el cual se trabaja.

Comentamos en líneas anteriores, acerca de un Sistema Operativo, pero veamos exactamente a que nos referimos.

Fundamentos de Programación Unidad I. Introducción a la Programación

¿Qué es un Sistema Operativo?

a la Programación ¿Qué es un Sistema Operativo? Un Sistema Operativo (SO) es el programa encargado

Un Sistema Operativo (SO) es el programa encargado de

controlar y administrar tanto el

software

como el

hardware

y

todos los recursos en una computadora.

Por ejemplo

programas como Microsoft Oficiey Adobe Reader,Windows se encarga de gestionar y brindar los recursos y herramientas que estos programas requieren para su funcionamiento.

es el SO en el cuál se pueden correr

Windows

Un SO provee un ambiente sobre el cual puedan ejecutarse otros programas los cuales se apoyan en él para poder acceder a los recursos que necesitan como memoria o la atención del procesador, es decir, que el procesador le brinde un poco de “tiempo” ya sea a las funciones que realizan el monitor, descargar un archivo, o utilizar un teclado, entre otras funciones.

El SO brinda a los usuarios los medios necesarios para que pueda establecerse una comunicación con él, para dar órdenes e instrucciones a la computadora, con el objetivo principal de lograr que tanto el software (los programas) como el hardware (los componentes físicos de la computadora) se empleen eficientemente.

Nótese que un error común es denominar al conjunto completo de herramientas y programas sistema operativo, por ejemplo pensar que Microsoft Office, Internet Explorer, WinRAR, etc., son parte del SO, esto es un error ya que solamente Microsoft Windows es el sistema operativo y los otros mencionados son aplicaciones de propósito específico.

En otras palabras un SO es el software (Windows,

ejecutan otros programas (office, adobe Reader, AutoCad, etc.).

Linux
Linux

) sobre

el

cual se

instalan y

¿Cuáles son las características más importantes de un Sistema Operativo?

En general, un Sistema Operativo tiene las siguientes características:

Conveniente.

Un SO hace más sencillo el uso de una computadora cuando el sistema operativo brinda una interfaz gráfica. Por ejemplo: el escritorio de una computadora cuando la encendemos.

Fundamentos de Programación Unidad I. Introducción a la Programación

Eficiente.

Un Sistema Operativo hace que todos los recursos de una computadora trabajen lo más eficientemente posible.

Flexible.
Flexible.

Un SO permite el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el correcto funcionamiento del equipo de cómputo. Por ejemplo, Instalar una actualización sin interferir con el trabajo que se está realizando en un documento Word.

Administrador eficiente.

El SO es encargado de administrar y manejar eficientemente todos los recursos de una computadora, por ejemplo: la memoria RAM, el disco duro, el procesador, la tarjeta de video y los puertos.

Gestor de dispositivos

El SO se encarga de controlar la comunicación entre los dispositivos periféricos, cuando el usuario así lo requiera, por ejemplo, se encarga de comunicar al teclado o al mouse de una computadora cuando estos son accionados por el usuario.

Facilitador.

El SO facilita la entrada y salida de datos así como el acceso y manejo de los dispositivos de Entrada/Salida de la computadora, por ejemplo observamos la facilidad con que podemos enviar un archivo desde “Mis documentos” hacia una memoria USB instalada en nuestra computadora.

¿Qué hace un Sistema Operativo?

Las funciones básicas de un Sistema Operativo son:

Interpretar los comandos que permiten al usuario comunicarse con la computadora, a través de la interfaz. Coordinar y manipular el hardware de la computadora, como la memoria RAM, las impresoras, las unidades de disco, el teclado o el Mouse.

el hardware de la computadora, como la memoria RAM, las impresoras, las unidades de disco, el

Fundamentos de Programación Unidad I. Introducción a la Programación

Organizar los archivos en diversos dispositivos de almacenamiento, como discos duros, discos compactos o memorias USB.

Gestionar los errores del hardware y la pérdida de datos, es decir, envía mensajes de error cuando se da una orden que no se puede ejecutar y da opciones de solución.

Organizar datos para acceso rápido y seguro, es decir, permite generar y administrar un directorio de carpetas para organizar los archivos, por ejemplo: las carpetas “mis documentos”, “system”, “Archivos de Programa”, etc.

Permite al usuario manejar las comunicaciones en red con gran facilidad todo lo referente a la instalación y uso de redes, por ejemplo, en un cibercafé todas las computadoras comparten el internet y el SO es el encargado de hacer esto posible.

el internet y el SO es el encargado de hacer esto posible. Para saber más: Los

Para saber más:

Los Sistemas Operativos más utilizados son

Mac.
Mac.

Windows, Linux y

Algunos SO ya vienen con un navegador integrado, como

Windows que trae el navegador Internet Explorer.

En Linux el navegador es FireFox.

Hasta aquí has aprendido la importancia del SO y que gracias a él se pueden ejecutar otros programas que ayudan a realizar trabajos en las computadoras, ahora es momento de que pongas en práctica los conocimientos adquiridos en este apartado.

Actividad de aprendizaje 1. “SO”

El objetivo de esta actividad es que conozcas e identifiques los elementos básicos de los sistemas operativos.

Instrucciones:

En esta actividad deberás responder

se te presenta en un documento Word a continuación.

con tus palabras

un breve cuestionario, mismo que

Descarga el archivo “SO Cuestionario” y respóndelo.

Cabe aclarar que si tu asesor detecta que copiaste y pegastela información de una página de internet, se anulará esta actividad.

Cuida tu ortografía, sintaxis y redacción ya que también se te tomará en cuenta para la calificación.

Fundamentos de Programación Unidad I. Introducción a la Programación

Al terminar de responder el cuestionario guárdalo en tu PC y envíalo a tu profesor con tus datos en el siguiente formato: apellidopaterno_materno_nombre_actividadnumero.

La comparación de los sistemas operativos Microsoft Windows y Linux es un tema muy común entre los usuarios. Windows es el sistema operativo más utilizado bajo una licencia propietaria de software, esto quiere decir que tenemos que pagar por el uso de este SO, mientras que Linux es el sistema operativo más importante bajo una licencia libre de software, esto quiere decir que el usuario no tiene que pagar por el uso de este SO.

1.1

Análisis comparativo de Sistemas Operativos. Linux y Windows.

¿Qué es Linux?

Linux es un sistema operativo construido por un equipo de desarrolladores de todo el mundo. Contiene todas las

aplicaciones que necesitas: un navegador web,

ofimáticas,

aplicaciones

de mensajería y muchas otras más.

aplicaciones de mensajería y muchas otras más. Existen muchas distribuciones diferentes de Mandriva son

Existen muchas distribuciones diferentes de Mandriva son algunos ejemplos.

GNU/Linux

: Debian, Gentoo, RedHat o

Por otra parte, casi todos hemos utilizado alguna vez el sistema operativo de Microsoft Windows en alguna de sus versiones, hemos descubierto y experimentado las herramientas y aplicaciones que nos brinda este SO, realizamos nuestras tareas, navegamos por el internet, chateamos, vemos videos, escuchamos música, digitalizamos e imprimimos nuestros archivos, grabamos música, en fin nos es muy cotidiano el uso de este SO.

A continuación se muestra una pequeña comparación entre algunas características de Windows y de Linux

Instalación:

En Linux la instalación no es sencilla, pero te permite personalizar totalmente los paquetes que quieras instalar.

En Windows la instalación es mínimamente configurable aunque es muy sencilla.

Compatibilidad:

Ninguno de los dos sistemas operativos son totalmente compatibles con la totalidad del Hardware existente en el mercado.

Fundamentos de Programación Unidad I. Introducción a la Programación

Linux gracias a su popularidad ofrece una alta compatibilidad ofreciendo, además, actualizaciones frecuentes.

Windows ofrece una gran cantidad de

drivers.
drivers.

Programas:

Linux posee menos software y en algunos campos, por ejemplo las industrias, tiene una menor aceptación, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM ha logrado muchos avances.

Windows al ser el más usado, posee una gran cantidad de software.

Robustez:

En Linux puede pasar mucho tiempo e incluso años sin la necesidad de apagar o reiniciar el equipo, si una aplicación falla este error no bloquea totalmente al equipo.

En Windows siempre hay que reiniciar cuando se cambia la configuración del sistema, y se bloquea fácilmente.

Ya que conoces algunas características importantes de ambos sistemas operativos se te invita a probar lo que millones de personas alrededor del mundo han denominado como “El mejor Sistema Operativo del Mundo”, Linux:

En el siguiente video tutorial se muestran los pasos que necesitas seguir para descargar e instalar Ubuntu 10.10 MaverickMeerkat en tu computadora, se te recomienda observar la totalidad del video antes de comenzar.

observar la totalidad del video antes de comenzar. Nota importante: La instalación de Ubuntu 10.10 se

Nota importante:

La instalación de Ubuntu 10.10 se realiza como la

instalación de cualquier otro programa bajo Windows, esta instalación no borrará ni dañara tus archivos, tampoco descompondrá tu computadora y puedes trabajar con cualquiera de los dos SO Windows o Linux.

Actividad de aprendizaje 2 “Instalación de Linux (Ubuntu 10.10)”

Ya conoces algunas características tanto de Windows como de Linux, ahora es tiempo de que realices algunas pruebas con el programa que acabas de instalar en tu PC, el objetivo de esta actividad es que utilices los elementos básicos del Sistema Operativo Linux (Ubuntu), de manera analítica y reflexiva para descubrir el uso, características, ventajas y desventajas de este sistema operativo en su modo gráfico y compararlo con el Sistema Operativo Windows.

Fundamentos de Programación Unidad I. Introducción a la Programación

Para realizar la actividad necesitas un cronometro (puedes ocupar tu reloj o tu celular), lápiz y una hoja de papel

A continuación se te dan las instrucciones para realizar esta actividad, de las cuales en un primer momento vas a ir registrando los resultados en una hoja de papel y posteriormente en una tabla que elaborarás con OpenOffice.org Writer, que es un programa de Linux.

con OpenOffice.org Writer, que es un programa de Linux. Instrucciones: Para saber más: OpenOffice.org Writer es

Instrucciones:

Para saber más:

OpenOffice.org Writer es un procesador de texto que forma parte del conjunto de aplicaciones de la suite ofimática OpenOffice.org. Además de otros formatos estándares y ampliamente utilizados de documentos, puede abrir y grabar el formato propietario .doc de Microsoft Word casi en su totalidad. El formato nativo (por defecto) para exportar documentos es XML. También puede exportar a ficheros PDF nativamente sin usar otros programas intermedios

1. Dibuja la siguiente tabla en una hoja de papel, en ella vas a ir registrando los

elaborar

resultados de esta actividad, posteriormente.

no

la

copies,

ya

que

las

vas

a

Características

WINDOWS(Especifica tu versión)

LINUX (UBUNTU 10.10)

Tiempo de apagado

   

Tiempo de Encendido

   

Respuesta Inmediata

   

Rapidez al abrir un programa

   

2. Estando dentro de Windows apaga el sistema operativo y registra el tiempo que tarda en hacerlo, mide el tiempo a partir del momento en que des clic sobre el botón apagar y anótalo en la tabla de tu hoja de papel.

3. Enciende nuevamente tu computadora e inicia en Windows, registra el tiempo que tarda en cargar todos los programas, hasta el momento en que se muestra el escritorio por primera vez.

4. Inmediatamente después de que se muestra el escritorio da clic sobre el botón inicio y ve a la opción Mi PCo Equipo(dependiendo de la versión de tu SO). y da clic sobre ella, observa si la respuesta es inmediata, es decir si aparece de

Fundamentos de Programación Unidad I. Introducción a la Programación

inmediato la ventana de esta opción. tu anotación en la hoja de papel será “si o no” dependiendo de tu resultado.

Es importante que sea inmediatamente después de que se muestra por primera vezpapel será “si o no” dependiendo de tu resultado. el escritorio al encender la computadora. 5.

el escritorio al encender la computadora.

5. En este momento registrarás en la hoja de papel si el proceso de abrir un programa, es rápido o lento, ve al menú inicio y abre Microsoft Office Word, observa la rapidez con que se abre el programa y registra tu observación, tu respuesta en la hoja de papel será sio no” dependiendo de tu resultado.

6. Ahora cierra todos los programas que se estén ejecutando en Windows y apaga el equipo.

7. Vuelve a encender tu computadora e inicia en Ubuntu, registra el tiempo que tarda en cargar todos los programas, hasta el momento en que se muestra el escritorio por primera vez.

8. Inmediatamente después de que se muestra el escritorio por primera vez da clic sobre el botón Lugares” luego da clic sobre Equipo, Observa si la respuesta es inmediata, tu anotación en la hoja de papel será “si” o “no” dependiendo de tu resultado.

Es importante que sea inmediatamente después de que se muestra por primera vezserá “si” o “no” dependiendo de tu resultado. el escritorio al encender la computadora. 9. Ahora

el escritorio al encender la computadora.

9. Ahora registra si el proceso de abrir un programa, es rápido o lento, ve al menú aplicaciones y abre la pestaña Oficina, da clic sobre OpenOffice.org Writer, procesador de textos, y observa la rapidez con que se abre el programa, registra tu observación, tu respuesta será sio no.

10. En el programa OpenOffice.org Writer (procesador de textos) elabora la tabla que copiaste en la hoja de papel con los resultados que obtuviste, guárdala con extensión .doc y .XML, (esta aplicación puede guardar los archivos en estas dos extensiones) el archivo que subirás a la plataforma para tu evaluación será el archivo con extensión .XML

Al terminar de responder el cuestionario guárdalo en tu PC y envíalo a tu profesor con tus datos en el siguiente formato: apellidopaterno_materno_nombre_actividadnumero

Fundamentos de Programación Unidad I. Introducción a la Programación

Conclusión

Hemos terminado el primer tema de la Unidad por lo que haremos una pequeña síntesis de lo visto.

Un Sistema Operativo es un programa software encargado de administrar y gestionar todos los recursos que integran a una computadora, tanto de software como de hardware, para que estos trabajen en conjunto eficientemente, además de proveer de un ambiente sobre el cual, otros programas pueden instalarse y ejecutarse sin ningún problema; también se encarga de brindar al usuario una interfaz o medio de comunicación entre el propio Sistema Operativo y el usuario.

Tanto Windows como Linux poseen ventajas y desventajas, aunque desde un punto de vista más técnico Linux es mejor. Linux es más rápido y estable, además de ser gratuito, aunque en comparación con Windows no tiene la misma cantidad de software ni tampoco el mismo número de usuarios a nivel mundial.

Avancemos al Tema 2

Fundamentos de Programación Unidad I. Introducción a la Programación

2. Definición de características de los Lenguajes de programación. Visual Basic,

Java y Lenguaje “C”.

Introducción.

En este apartado conocerás lo que son los

pueden definir

Lenguajes

de Programación

, los cuales se

como un idioma creado por el hombre, para que éste pueda dar órdenes a

una computadora, sin necesidad de “hablar” el mismo idioma o lenguaje que la máquina

(ceros y unos, Lenguaje Máquina).

¿Qué es un Lenguaje de Programación?

Lenguaje Máquina). ¿Qué es un Lenguaje de Programación? Un lenguaje de programación es un conjunto de

Un lenguaje de programación es un conjunto de símbolos,

definen

concretamente la estructura, la escritura y relación entre los comandos, de instrucciones, diseñado para expresar operaciones, mismas que pueden ser ejecutadas por computadoras.

reglas

sintácticas

y

semánticas,

mismas

que

También puede usarse para crear programas que controlen el comportamiento físico y

lógico de cualquier máquina electrónica, para expresar un SO.

algoritmos, o para el desarrollo de

para expresar un SO. algoritmos , o para el desarrollo de Para saber más: Al proceso
para expresar un SO. algoritmos , o para el desarrollo de Para saber más: Al proceso

Para saber más:

Al proceso por el cual se escribe, se depura y se compila el

código fuente

(instrucciones escritas) de un programa se le llama

programación.

Cabe aclarar que la palabra programación también se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos.

Fundamentos de Programación Unidad I. Introducción a la Programación

¿Qué Lenguaje de Programación es el más utilizado?

Actualmente existen varios lenguajes de programación con los que se pueden trabajar, pero los más utilizados son: Visual Basic, Java y desde luego el Lenguaje C, a continuación se te describen brevemente cada uno de ellos.

Visual Basic

se te describen brevemente cada uno de ellos. Visual Basic Visual Basic es un lenguaje de

Visual Basic es un lenguaje de programación desarrollado por el alemán Alan Cooper para Microsoft. Su primera versión fue presentada en 1991, con la ventaja principal de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico.

Visual

desarrollo integrado, o en inglés, Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicación, es

que es un

de

Basic

constituye

un

IDE
IDE

(entorno

decir, consiste en

un editor de código

programa donde se escribe el código fuente,

depurador

errores en el código fuente para que pueda ser

que es

un

a

lenguaje máquina.

que es un programa que encuentra

un
un

compilado correctamente,

programa

que

un compilador

el

código

traduce

fuente

programa que un compilador el código traduce fuente Este Lenguaje se emplea comúnmente en el desarrollo

Este Lenguaje se emplea comúnmente en el desarrollo de aplicaciones de Internet y de propósito general como un diccionario, una base de datos para una biblioteca, un editor de texto, entre otras.

JAVA
JAVA

Java es un lenguaje de programación orientado a objetos, desarrollado por la empresa Sun Microsystems a principios de los años 90.

Fundamentos de Programación Unidad I. Introducción a la Programación

pero tiene

un modelo de objetos más simple pero te restringe la manipulación de punteros, que es característico de los lenguajes de bajo nivel.

Este lenguaje toma mucha de la sintaxis propia de los lenguajes

C y de C++,

Nota importante:

No confundas C++ con C, C++ es un lenguaje, solo que es una mejora de

lenguaje C y el modelo de programacion es orientado a objetos.

C y el modelo de programacion es orientado a objetos. Lenguaje de programación C C es

Lenguaje de programación C

C es un lenguaje de programación creado en el año de 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B.

Al igual que el lenguaje B, el Lenguaje C es un lenguaje orientado a la implementación de Sistemas Operativos y C está caracterizado por la eficiencia del código que produce.

El lenguaje C es un lenguaje clasificado como un lenguaje de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control de medio nivel. En otras palabras es un Lenguaje muy completo.

Pero exactamente cuando hablamos de lenguaje de medio nivel, bajo y de alto nivel nos referimos a lo siguiente.

Lenguaje de bajo nivel

Un lenguaje de programación de bajo nivel es el que proporciona un set de instrucciones aritméticas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware.

Lenguaje de medio nivel

Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.

Fundamentos de Programación Unidad I. Introducción a la Programación

Lenguaje de alto nivel

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, a diferencia de lo que es comprender el lenguaje máquina para una persona.

Te invito a que redobles esfuerzos en tu afán por aprender a programar en Lenguaje C, ya que si dominas este “arte” podrás desarrollar cualquier cosa que imagines.

Es momento de aplicar lo aprendido, resuelve la siguiente actividad de aprendizaje.

Actividad de aprendizaje 3. “Lenguajes de programación”.

Ahora que ya sabes lo que es un lenguaje de programación, así como cuáles son los más utilizados, se te invita a realizar la siguiente actividad, la cual tiene por objetivo que conozcas e identifiques los elementos básicos de los lenguajes de programación.

Instrucciones:

A continuación se te presenta un cuestionario con 10 preguntas, cada una presenta tres respuestas pero solo una es correcta, elige la que consideras adecuada para cada pregunta.

Lee cada pregunta con atención antes de seleccionar tu respuesta ya que solo tendrás una oportunidad para responder.

Al terminar da clic sobre el botón enviar

Cuestionario:

1.- ¿Qué es un lenguaje de programación?

a)

Es un conjunto de símbolos, reglas sintácticas y semánticas que pueden ser ejecutadas por computadoras.

b)

Es el software encargado de ejercer el control y coordinar el uso del hardware en una computadora.

c)

Es un IDE ((entorno de desarrollo integrado).

2.- ¿Para qué sirve un Lenguaje de Programación?

a)

Para interpretar los comandos que permiten al usuario comunicarse con la computadora.

b)

Para gestionar los errores del hardware y la pérdida de datos.

c)

Para crear programas que controlen el comportamiento físico y lógico de cualquier máquina electrónica, para expresar algoritmos o para el desarrollo de un SO

Fundamentos de Programación Unidad I. Introducción a la Programación

3.- Al proceso por el cual se escribe, se depura y se compila el código fuente de un

programa ¿se le llama?:

a)

Configuración.

b)

Programación.

c)

Compilación.

4.- ¿Es un lenguaje de programación desarrollado por el alemán Alan Cooper para

Microsoft?

a)

Java

b)

Linux

c)

Visual Basic

5.- ¿Cuál es la principal ventaja de Visual Basic?

a)

Rapidez.

b)

Simplificar la programación utilizando un ambiente de desarrollo completamente gráfico.

c)

Flexibilidad.

6.- ¿Qué es Java?.

a) Es un lenguaje de programación orientado a objetos.

b) Es un compilador.

c) Es un constructor de interfaz gráfica.

7.- ¿Qué Lenguaje de Programación no permite la manipulación directa de las direcciones de memoria por medio de punteros?

a)

b)

c) Java

Linux

Unix

8.- ¿De qué otros Lenguajes toma gran parte de su sintaxis el lenguaje Java?

a)

Visual Basic.

b)

Microsoft Windows.

c)

C y C++.

Fundamentos de Programación Unidad I. Introducción a la Programación

9.- ¿Es un lenguaje de programación creado en el año de 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B?

a)

Lenguaje C.

b)

Lenguaje Ensamblador.

c)

Lenjuage C++.

10.- ¿El lenguaje de programación C se caracteriza por?:

a)

Ser un lenguaje de de alto nivel.

b)

Su eficiencia del código que produce.

c)

Su capacidad para crear aplicaciones gráficas.

Conclusión.

Como pudiste observar un lenguaje de programación es un conjunto de símbolos, reglas e instrucciones que es diseñado por el hombre para dar instrucciones a una computadora.

Actualmente existen muchos lenguajes de programación pero los más utilizados son:

Visual Basic, Java robustos.

y desde luego el Lenguaje C, siendo este ultimo uno de los más

¡Muy bien, terminaste el segundo tema!
¡Muy bien, terminaste el segundo tema!

¡Muy bien, terminaste el segundo tema!

¡Muy bien, terminaste el segundo tema! ¡Sigue adelante!

¡Sigue adelante!

¡Muy bien, terminaste el segundo tema! ¡Sigue adelante!

Fundamentos de Programación Unidad I. Introducción a la Programación

3. Compilador (Dev C++)

Introducción.

El código maquina es muy difícil de entender para una persona, es necesario implementar una herramienta que se encargue de traducir un Lenguaje de programación

a código máquina, que es el lenguaje que entiende una computadora.

A este trabajo de traducción se le llama

programa llamado compilador.

¿Qué es un Compilador?

compilar un programa

, trabajo que realiza un

Un compilador es un programa que traduce un lenguaje de programación a lenguaje máquina.

Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje que generalmente es el lenguaje máquina (ceros y unos), pero también puede ser simplemente texto. Generando un programa equivalente que la máquina será capaz de interpretar.

Este proceso de traducción se conoce como

compilación.

Existen diferentes compiladores como Turbo C, Turbo Pascal, Borland y GCC, pero en

esta unidad de aprendizaje utilizaremos

el compilador que está integrado en el IDE Dev

C++
C++

En el proceso de la programación no se necesita solamente un compilador, sino que también, es necesario, un programa que nos permita editar el código fuente, un programa que se encargue de depurarlo y un compilador que se encargue de traducir el código fuente en código máquina, a este tipo de programas que cuentan con estas tres herramientas se les conoce como IDE.

¿Qué es un IDE?

Un IDE (Entorno de Desarrollo Integrado, por sus siglas en inglés: Integrated Development Environment) es un programa compuesto por un conjunto de herramientas de programación.

IDE Dev C++, (Bloodshed Dev C++ que es su nombre completo

de

desarrollo integrado para programar en lenguaje C y C++. Cuenta con un editor de código que es un programa donde se escribe el código fuente, un depurador (programa que corrige errores en el código fuente para que pueda ser compilado correctamente) y un compilador (programa que traduce el código fuente a lenguaje máquina).

), es un entorno

Fundamentos de Programación Unidad I. Introducción a la Programación

Te preguntarás: ¿Dónde lo consigo?, ¿Cómo lo instalo?

Espera, se paciente, estas dos preguntas se responderán en este apartado.

Observa el siguiente video que te mostrará como descargar e instalar el Dev C++.

video que te mostrará como descargar e instalar el Dev C++. Nota importante: Es muy importante

Nota importante:

Es muy importante que descargues este IDE ya que a

lo largo de toda la unidad de aprendizaje se utilizará para realizar los

programas que generarás.

Actividad de aprendizaje 4. “Descarga e instala Dev C++”

Instrucciones:

Después de observar en su totalidad el video tutorial descarga e instala en tu computadora el IDE Dev C++.

Una vez instalado el programa Dev C++ captura la imagen del escritorio donde se encuentra el acceso directo a este programa, a continuación se te muestra un ejemplo.

a este programa, a continuación se te muestra un ejemplo. Para obtener esta imagen del escritorio

Para obtener esta imagen del escritorio presiona el siguiente botón Impr Pant/Petsis, la imagen de toda la pantalla se guardara en el portapapeles, pégala en un documento en Word y recórtala de ser necesario.

en un documento en Word y recórtala de ser necesario. Ahora captura la imagen del programa

Ahora captura la imagen del programa Dev C++ abierto en tu computadora de la misma forma que la imagen anterior, Aquí hay otro ejemplo.

la imagen del programa Dev C++ abierto en tu computadora de la misma forma que la

Fundamentos de Programación Unidad I. Introducción a la Programación

Pega estas dos imágenes en un documento en Word, guárdalas y envíalas a tu profesor con el siguiente formato: apellidopaterno_materno_nombre_actividadnumero.

Conclusión:

En el proceso de elaboración de un programa escrito en Lenguaje C es necesario utilizar una aplicación que le permita al programador escribir su código fuente, un depurador que le permitirá encontrar los errores en el mismo y un compilador que traduzca este

programa a un lenguaje máquina dando como resultado un archivo con extensión

, a

las aplicaciones que cuentan con este tipo de herramientas se les conoce como Entorno de Desarrollo Integrado (IDE).

exe
exe
¡Excelente! Terminaste la primera unidad.

¡Excelente!

¡Excelente! Terminaste la primera unidad.
Terminaste la primera unidad.
Terminaste la primera unidad.

Terminaste la primera unidad.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Unidad Il. Fundamentos de programación estructurada

Mapa de conceptos

Fundamentos de programación estructurada Mapa de conceptos Introducción . A lo largo de este tema conocerás

Introducción

.

A lo largo de este tema conocerás la estructura general de un programa escrito en

Lenguaje C y se te explicará detalladamente el trabajo que realiza cada una de las líneas

de código se te explican los tipos de variables que admite el Lenguaje C así como la

declaración y uso de estas variables y también aprenderás a utilizar los distintos tipos de datos con que cuenta el Lenguaje C.

Se te invita a redoblar esfuerzos y a poner toda tu atención ya que la información que a

continuación se muestra te será de gran utilidad para la realización de todos los programas que efectuaras a lo largo de esta unidad de aprendizaje.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

1. Estructura general de un programa

.

Tu primer programa en lenguaje C: “Hola mundo”

Ahora vas a conocer la estructura de un programa escrito en Lenguaje C, es muy sencillo ya que muestra en pantalla un mensaje con el texto “Hola mundo” y se te hará la explicación de cada uno de sus elementos que te permitirá aprender la estructura general de cualquier programa escrito en Lenguaje C.

Ya que hayas conocido las partes de este programa vas a realizarlo y a probarlo, para lo cual vas a utilizar el IDE Bloodshed Dev-C++ que instalaste anteriormente.

A continuación se te muestra una imagen del resultado de editar, depurar y compilar el programa “Hola mundo”

de editar, depurar y compilar el programa “Hola mundo”  Código fuente del programa “Hola Mundo”

Código fuente del programa “Hola Mundo”

Se le llama código fuente a

, estas instrucciones no pueden ser ejecutadas por la computadora, ya

que la computadora solo entiende el Lenguaje maquina (ceros y unos), por lo que es necesario traducir el código fuente escrito por el programador a código maquina y para hacer la traducción para que lo ejecute la computadora se necesita un compilador.

las instrucciones escritas por un programador en un lenguaje

de programación

Este es el código fuente del programa “Hola mundo”:

escritas por un programador en un lenguaje de programación Este es el código fuente del programa

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

A continuación se explica cada una de las líneas de código que lo componen, pon mucha atención.

#include<stdio.h>

Cuando el compilador se encuentra con esta directiva la sustituye por el contenido del archivo indicado (En este caso es el archivo stdio.h). En otras palabras esta directiva del preprocesador abre el archivo stdio.h selecciona todo el contenido de este archivo, lo copia en el portapapeles y lo pega en lugar la directiva #include<>.

La sintaxis de esta directiva es

nombre de una libreria, (en el caso del ejemplo se utilizó studio.h) generalmente es esta directiva la que se debe incluir porque en ella se encuentran declaradas las funciones más básicas, por ejemplo: las funciones aritméticas que te permitirán sumar, restar, multiplicar o dividir números y las funciones necesarias para mostrar datos por la pantalla o solicitar información por el teclado.

dentro de los operadores< > se escribe el

#include<>,

la directiva del

preprocesador #include que este es el nombre de la librería que se debe incluir, ya que se buscan por nombre.

Se escribe en medio de los operadores <librería que se debe incluir, ya que se buscan por nombre. >, para indicar a ).

>,

para indicar a

en medio de los operadores < >, para indicar a ). intmain( ) Te preguntarás que

).

intmain( )

Te preguntarás que es una librería,

pues es un conjunto de recursos

(algoritmos) prefabricados que pueden ser utilizados por el programador para realizar determinadas operaciones.

Por ejemplo: Si creas un programa en el cual necesitas obtener el coseno de un ángulo (cos α), debes incluir la librería math.h, que es la librería dentro de la cual está declarada y definida la función cos(

Todos los programas escritos en Lenguaje C deben tener una función llamada main( ) para poder ser catalogados como un programa, si el código fuente no tiene declarada y definida esta función se puede considerar como una librería o simplemente código.

La función principal main( ) es la primera en ejecutarse. El int que tiene al principio indica que, cuando la función main( ) finalice, esta devolverá un número, mismo que será entero.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Si el valor devuelto es cero indica que el programa termino sin errores, en caso de devolver un valor distinto de cero, esto indicará que ha ocurrido algún error durante la ejecución del programa.

ha ocurrido algún error durante la ejecución del programa. Nota importante: La explicación de cómo una

Nota importante:

La explicación de cómo una función devuelve un tipo

de dato se verá más adelante.

Un ejemplo de que ha ocurrido un error sería este: todas las personas que han utilizado Windows han observado alguna vez cuadros de dialogo o pantallas de error, estos cuadros muestran un mensaje al usuario en el que se hace referencia a un número y a un evento de error asignado al mismo, como muestra la imagen:

evento de error asignado al mismo, como muestra la imagen: El número que se observa está

El número que se observa está escrito en notación hexadecimal

Nota:
Nota:

el tema referente a declaración y definición de funciones se te explicara

a detalle posteriormente.

{ Llave de apertura

La llave de apertura delimita las líneas de código que pertenecen a una función.

las líneas de código que pertenecen a una función. En el caso del ejemplo anterior, se

En el caso del ejemplo anterior, se comienza a escribir el trabajo que realizará esta función a partir de la llave.

/* Aquí va el cuerpo del programa */

Esto es un comentario y no se ejecuta, sirve para describir el programa. Se te recomienda comentar el código fuente, esto te ayudara a recordar más tarde el funcionamiento del programa, o si alguna otra persona lee tu código fuente lo va a poder entender fácilmente auxiliándose de estas notas.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Cuando el compilador detecta el operador /* (diagonal asterisco) ignora todo lo que este después de este, hasta encontrar */ (asterisco diagonal) que le indica al compilador el final del comentario.

Un comentario puede ocupar más de una línea de código y ser válido. Un ejemplo se te presenta a continuación:

/* Este es un comentario

que ocupa dos filas */

Recuerda que es necesario colocar el operador /* (diagonal asterisco) para indicar al compilador donde comienza el comentario y el operador */ (asterisco diagonal) para indicar dónde termina.

*/ (asterisco diagonal) para indicar dónde termina. Para saber más: Los comentarios se pueden poner casi

Para saber más:

Los comentarios se pueden poner casi en cualquier parte. Excepto en medio de una instrucción. Por ejemplo lo siguiente no es válido:

pri/* Esto es un comentario */ntf( "Hola mundo" );

printf( /* Esto es un comentario */ "Hola mundo" );

Si escribimos estas líneas el depurador del IDE nos mostrara en pantalla un mensaje de error. Otro ejemplo erróneo de la utilización de mensajes es el siguiente:

printf( "Hola/* Esto es un comentario */ mundo" );

La línea de código anterior no daría ningún error, pero al ejecutar tendríamos en pantalla:

ningún error, pero al ejecutar tendríamos en pantalla: Porque /* Esto es un comentario */ texto,
ningún error, pero al ejecutar tendríamos en pantalla: Porque /* Esto es un comentario */ texto,

Porque /* Esto es un comentario */

texto, no como un comentario.

printf( "Hola mundo\n" );

queda dentro de las comillas y C lo interpreta como

Esta línea de código realiza una acción que podemos ver al ejecutar el programa, en este caso el mensaje “Hola mundo”.

Todo lo que se escribe dentro de los paréntesis y entre comillas dobles

como una

cadena de texto

.

(“ ”)
(“ ”)

se interpreta

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

esta

hace que después de imprimir en pantalla el mensaje se realice un salto de línea, es decir, como un enter.

Como puedes observar al final del mensaje aparece escrita la

sentencia de escape

\n
\n

Notas importantes:

El operador\n no se muestra en pantalla, esta sentencia

de escape solamente ejecuta un salto de línea.

Una cadena de texto es una secuencia de caracteres,

que

pueden

ser

visualizados

(aunque

no

caracteres, que pueden ser visualizados (aunque no necesariamente) en la pantalla de la computadora, este es

necesariamente) en la pantalla de la computadora, este es su uso más

común, crear mensajes de texto.

El operador ; (punto y coma) del final de la línea de código, se utiliza en el

Lenguaje C para separar una instrucción de otra. Se pueden poner varias

instrucciones en la misma línea siempre que se separen por un punto y

coma.
coma.

system ("PAUSE");

Esta función ocasiona que el programa haga una pausa en su ejecución y es la responsable de que en pantalla se muestre la cadena de texto: Presione una tecla para continuar…” sin esta función el programa no realizaría una pausa, y debido a que el programa se ejecuta a gran velocidad no podríamos observar la ejecución del mismo.

return 0;
return 0;

al finalizar la ejecución de la función main( ), esta

devuelve un valor entero, con la instrucción return 0, lo cual indica que no se produjo

ningún error.

Como se ha indicado anteriormente

} Llave de cierre

La llave de cierre delimita las líneas de código que pertenecen a la función, en este caso a la función main(), en otras palabras las líneas que se escriban dentro de las llaves de apertura y de cierre pertenecen a la función main().

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Realizando el programa

Ya que se te explicaron los componentes del programa “Hola mundo”, se te presenta un video en el que se muestra la forma de utilizar el Dev C++, así como editar, deparar y compilar el mismo. Pon mucha atención ya que en la actividad de aprendizaje siguiente vas a realizar el programa.

Como abras observado el código fuente de un programa escrito en Lenguaje C está compuesto por palabras o instrucciones escritas en el idioma inglés, a estas instrucciones se les conoce como palabras reservadas, ya que estás tienen una función preestablecida y específica para el compilador. Estas palabras se escriben tal y como se muestran en las explicaciones que se te dan.

El código fuente además de estar compuesto por palabras reservadas está integrado por

si no sabes cómo escribir alguno de estos símbolos

símbolos como

puedes consultar la tabla del código ASCII.

“(

)”

“ ;

{

}”

Para saber más:

“( )” “ ; “ “ { }” Para saber más: Un ejemplo de cómo apoyarte

Un ejemplo de cómo apoyarte en esta tabla es el siguiente, si tienes que escribir una llave de apertura, ubica en la tabla del código ASCII el símbolo y observa el número que tiene asignado en la columna “Dec”. Para escribir el símbolo mantén presionada la tecla “Alt” y presiona en seguida el número 123 que aparece en la columna “Dec”, después suelta la tecla Alt y se escribirá el símbolo {

Ya que se te ha explicado el código fuente del programa “Hola Mundo” ahora se te pide que realices la siguiente actividad, la cual tiene por objetivo que practiques la sintaxis del programa, además de lo aprendido.

Actividad de aprendizaje 5. Mi primer programa

Ahora que conoces la estructura general de un programa creado en Lenguaje C, realiza la siguiente actividad, la cual tiene por objetivo que reconozcas la estructura de un programa

y lo construyas, además de que pondrás en práctica el conocimiento que acabas de adquirir.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Instrucciones:

1. Edita el código fuente del programa hola mundoque acabas de revisar, depúralo y

compílalo en el compilador Dev C++

2. Debes enviar tu archivo hasta que haya sido compilado, es decir que Dev C++ no te

haya marcado error, de lo contrario no se tomará esta actividad como válida. El archivo que debes subir a la plataforma es el código fuente, es decir el archivo con extensión .c

que se realizó.

Cuando tengas listo tu archivo guárdalo en tu PC y envíalo a tu profesor con tus datos en el siguiente formato: apellidopaterno_materno_nombre_actividadnumero

Actividad de autoevaluación 1. Buscando errores.

Ya se te han dado las bases para conocer la estructura general de un código fuente y acabas de realizar tu primer programa, ahora realiza lo que se te pide.

Instrucciones:

1. Analiza el siguiente programa y detecta los errores que tiene.

2. Ya que hayas detectado las inconsistencias del programa, da clic en el botón “Solución” para que compares el análisis que realizaste con el resultado que se te muestra.

3. Esta actividad no tiene valor en tu calificación pero es importante que la realices para reafirmar tus conocimientos.

3. Esta actividad no tiene valor en tu calificación pero es importante que la realices para

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Solución:

Si se escribe y compila este código fuente se obtendrá un error, el cual indica que la

función printf esta indeclarada. #include<stdio.h>.

se incluyó la directiva

Esto

es

porque

no

En la imagen siguiente se muestra el mensaje de error que arroja el depurador del Dev C++.

El cual indica claramente que el error está en la función intmain(), exactamente en la línea número 4, y además muestra un mensaje indicando la posible causa del error.

Como podrás darte cuenta gracias a este depurador es cómo se puede corregir el código fuente que se escribió.

cómo se puede corregir el código fuente que se escribió. Actividad de aprendizaje 6. Mi nombre

Actividad de aprendizaje 6. Mi nombre en pantalla

Para continuar demostrando tu aprendizaje, realiza la siguiente actividad, en la cual reconocerás y construirás un programa escrito en Lenguaje C, a través de la programación estructurada.

Instrucciones:

1. Realiza un código fuente en el que se muestre tu nombre completo en pantalla.

2. Cuando tengas listo tu programa, edítalo, depúralo y compílalo en el compilador Dev

C++

3. El archivo que debes subir a la plataforma es el código fuente, es decir el archivo con

extensión .c que se creó.

4. Recuerda que si tienes alguna duda puedes pedir la ayuda de tu asesor.

Cuando tengas listo tu archivo guárdalo en tu PC y envíalo a tu profesor con tus datos en el siguiente formato: apellidopaterno_materno_nombre_actividadnumero.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

1.1 Tipos de variables

Al utilizar un programa es muy importante manipular datos. En el Lenguaje C se

, en este apartado conocerás qué son y cuáles son las

más importantes.

almacenan

los datos en variables

Variables

Una variable es el lugar físico en donde se guarda información, esta puede ser de distintos tipos por ejemplo: cadenas de caracteres (Avilés), caracteres (V), números (777), números con una parte decimal (5.124). El contenido de una variable se puede leer o cambiar en cualquier momento.

Este lugar físico se encuentra en la memoria RAM de la computadora, físicamente éste es el aspecto de una memoria RAM:

físicamente éste es el aspecto de una memoria RAM: El espacio de almacenamiento de una manera.

El espacio de almacenamiento de una manera.

memoria RAM está estructurado de la siguiente

0

0

1

1

0

0

1

1

Dirección

0

0

0

0

0

0

0

0

0x 0000

1

1 1

 

1

1

1

1

1

0x 0000

1

1 1

 

0

0

1

0

1

0x 0000

0000 1 1 1   0 0 1 0 1 0x 0000 Nota: La información dentro

Nota: La información dentro de una memoria RAM se guarda en sistema

binario (ceros y unos), cada dirección es de un tamaño de 8 bits, lo que es

igual a 1 byte.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Los nombres de las variables

Para dar nombre a las variables se deben seguir las siguientes reglas:

Se pueden utilizar casi todas las letras del alfabeto, excepto la “ñ”.

Se pueden utilizar los números del 0 al 9.

No se pueden utilizar caracteres especiales (puntos, comas, signos de admiración o de interrogación, etc.,) el único carácter que es aceptado es el guion bajo ( _ ).

El nombre de una variable se puede formar con números y letras pero no se puede iniciar con un número.

No se pueden utilizar como nombres de variables las palabras reservadas que usa el compilador, por ejemplo: for, main, do, while, etc.

El Lenguaje C distingue entre mayúsculas y minúsculas. Por lo tanto: nombre, Nombre y NOMBRE, son tres variables distintas.

Los nombres de las variables deben ser cadenas de caracteres, es decir, un carácter después de otro sin espacios entre ellos.

a)

Variables de tipo int

En una variable de este tipo se almacenan números enteros (sin decimales).

El rango de valores que admite es -2,147,483,648 a 2,147,483,647. Aunque el rango de valores de esta variable es amplio, solo se puede almacenar un número a la vez. Para guardar este tipo de variable en la memoria RAM se necesitan 16 bits, es decir 2 bytes.

Declaración de una variable

, es

decir, indicarle al compilador que queremos crear una variable para que nos reserve un espacio de la memoria para almacenar los datos de la misma, también hay que indicarle el tipo de variable.

Es importante que sepas que para poder usar una variable primero hay que

declararla

Por ejemplo:

int numero; (donde la palabra número es el nombre de la variable)

numero = 4;

La primer línea de código indica la declaración de una variable llamada número que va a contener un número de tipo entero, en la segunda línea se indica que la variable llamada número guardará un numero 4.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

La siguiente imagen muestra su representación en Lenguaje maquina dentro de memoria RAM.

la

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

numero

Así es como se representa el número 4 a 16 bits en Lenguaje maquina (sistema binario).

También se puede declarar y definir el valor que guardará esta variable en una sola línea.

int numero = 4;

Nota:
Nota:

Si no se asigna el valor que guardara la variable, el compilador de manera automática guardara un dato aleatorio del mismo tipo del cual la variable ha sido declarada. Por ejemplo si no se define un valor para la variable número esta podría guardar un numero 5 o cualquier otro número de tipo int.

Cómo se pueden declarar las variables

de tipo int.  Cómo se pueden declarar las variables Hay dos posibilidades, una es declararla

Hay dos posibilidades, una es declararla como global y otra como local.

La

ejemplo la función main() y

variable global

es aquella variable que se declara fuera de cualquier función, por

la variable local

se declara dentro de cualquier función.

A continuación se muestra el ejemplo de las dos formas de declarar las variables:

Variable Global

#include <stdio.h>

int x=0;
int x=0;

intmain()

{

}

Variable Local

#include <stdio.h>

int main()

{

int x=0;
int x=0;

}

La diferencia entre ambas declaraciones es que la variable global se puede usar en cualquier función del programa y la variable local sólo puede usarse en la función en la cual ha sido declarada.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

En seguida se muestra un ejemplo de estas dos variables en un programa:

se muestra un ejemplo de estas dos variables en un programa: Nota: en el siguiente código
Nota:
Nota:

en el siguiente código fuente se encuentra una función llamada

otrafuncion” la cual se está utilizando como apoyo en el ejemplo de las variables que se están explicando, no trates de comprenderla

que se están explicando, no trates de comprenderla Este sería el resultado de editar, depurar y

Este sería el resultado de editar, depurar y compilar este programa:

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

Como puedes observar el programa está compuesto por dos funciones, la función llamada otrafuncion() y la función principal main()

Observa que desde dentro de la función main es posible mostrar por pantalla el valor de la variable intA=20;, esta variable no la declaraste dentro de la función main(), pero como está declarada como global es que es posible que main() pueda utilizarla.

De igual manera la variable int a=2; es accesible desde main(), ya que es una variable local para la función main(), es decir la función main() conoce a la variable a, ya que esta fue declarada dentro de { } que delimitan a esta función.

Por otro lado, si desde main() quisiéramos mostrar por pantalla a la variable intb= -82, esto no sería posible ya que aunque int b= -82 es una variable local para la función llamada otrafuncion(), y no es una variable local para main() esto quiere decir que main() no conoce a int b= -82 porque no es local de main().

Enseguida se muestra el mensaje de error que mostraría el Dev C++ si en lugar de la línea de código:

printf("Y el valor de a es %i \n", a);

Escribiéramos:

printf("Y el valor de b es %i \n", b);

El depurador indica que int b= -82 no ha sido declarada dentro de main(). Por lo tanto main() no conoce a esta variable

El depurador indica que int b= -82 no ha sido declarada dentro de main(). Por lo

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Mostrar variables por pantalla:

Imagina que quieres mostrar el contenido de la variable x de tipo int por pantalla, para lo cual tienes que indicar lo siguiente: Función printf( )

Un ejemplo del uso de esta función es el siguiente:

printf( "%i", x );

Si por ejemplo x vale 1 (x=1) en la pantalla tendríamos: 1

El operador

pantalla, se sustituye por el valor de la variable que va después de las comillas dobles y el operador coma ( , ) y sirve para indicarle a la función printf() que el número que se mostrará por pantalla es de tipo entero.

(tanto por ciento letra i ) es un modificador de formato, no se muestra en

"%i"
"%i"

Para ver el contenido de dos variables, por ejemplo x e y, podemos realizar lo siguiente:

printf( "%i ", x );

printf( "%i", y );

Si por ejemplo x = 10 e y = 20, entonces el resultado en pantalla será: 1020.

Aunque como sabes, se puede obtener el mismo resultado utilizando una línea de código en lugar de dos. Con una línea de código se puede mostrar en pantalla el número de variables que quieras:

printf( "%i %i", x, y );

Como puedes ver por cada variable hay que poner un %i dentro de las comillas dobles.

También se puede combinar texto con el contenido que guardan las variables:

printf( "El valor de x es %i, ¡que bien!\n", x );

Si

resultado:

por ejemplo x =

10

la

Como ves, el modificador

%i
%i

línea de código anterior mostrara en pantalla el siguiente

El valor de x es 10, ¡que bien!

al imprimir en pantalla se sustituye por el valor de la variable.

Es tiempo de poner en práctica lo aprendido hasta el momento acerca de variables, realiza la siguiente actividad para que sigas practicando.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Actividad de aprendizaje 7. “Declarando variables”

Ya sabes que es una variable, como se nombran y como se deben declarar.

Es tiempo de seguir practicando los nuevos conocimientos adquiridos, realiza la siguiente actividad la cual tiene como finalidad que reconozcas el lugar en dónde debe declararse una variable de acuerdo a su tipo, (global o local) y construyas la estructura de un programa escrito en Lenguaje C.

Instrucciones:

1. Edita, depura y compila en el compilador Dev C++, el código fuente que se te presenta a continuación.

C++, el código fuente que se te presenta a continuación. 2. El resultado de esta programación

2. El resultado de esta programación tiene que ser igual al mostrado en la siguiente imagen.

tiene que ser igual al mostrado en la siguiente imagen. 3. Una vez que hayas obtenido

3. Una vez que hayas obtenido el resultado, envía el archivo del código fuente a tu profesor para que te evalué (recuerda que es el archivo con extensión .c que se creó) con el siguiente formato: apellidopaterno_materno_nombre_actividadnumero.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

b)

Variables de tipo char

Las

números del 0 al 255. Los 128 primeros (0 a 127) corresponden al código ASCII estándar.

variables de tipo char

sirven para almacenar un carácter, estos se almacenan como

Para declarar una variable de tipo char se realiza lo siguiente:

Char letra ;

En una variable char sólo se puede almacenar un carácter, no almacena cadenas de caracteres (frases ni palabras), esto se te explicará en un apartado posterior.

Ya que está declarada la variable char, para guardar un dato se tienen dos posibilidades, mismas que se te muestran a continuación:

letra = 'a';

letra = 97;

En ambos casos se está asignando (guardando) la letra 'a' en la variable llamada letra de tipo char. En el primer renglón es más que obvio, pero en el segundo se tecleo el número

97, esto es porque el código ASCII de la letra

a
a

es el número 97.

Observa que para asignar directamente el carácter a se utilizan comillas simples ( '' )

Impresión en pantalla de una variable char

Para imprimir en pantalla una variable de tipo char se utiliza el modificador de formato (c de carácter, carácter en inglés) Enseguida se muestra un ejemplo de esto:

char B = 'A';

%c
%c

printf( "La variable B de tipo char guarda una: %c.", B );

El resultado que se obtendrá en pantalla será el siguiente:

La variable B de tipo char guarda una: A

También se puede imprimir en pantalla el valor en código ASCII, de la variable, usando el modificador %i en lugar del modificador %c, ejemplo:

char B = 'A';

printf("El número ASCII de la variable %c es: %i.", B, B);

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

El resultado que obtendrá en pantalla será el siguiente:

El número ASCII de la variable A es: 65

Observa que dentro de la función printf en lugar de utilizar el modificador %c se utilizó el modificador %i, por lo cual la función printf() interpreta a ala variable B como el número entero que corresponde a dicho carácter en el código ASCII.

Observa que, aunque la variable de tipo char es llamada B, guarda un carácter A, el nombre de la variable únicamente sirve para identificarla y no afecta el contenido que almacena la variable.

Si tienes dudas acerca de los nombres de las variables consulta el apartado Los nombres de las variablesvisto anteriormente.

“ Los nombres de las variables ” visto anteriormente. Nota: Las variables de tipo char se
Nota:
Nota:

Las variables de tipo char se pueden usar para guardar números

enteros. Si se necesita almacenar un número pequeño (entre -128 y 127) se puede usar una variable de tipo char que ocupa únicamente 8bits de la memoria, en lugar de una variable de tipo int que ocupa 16bits de la memoria, con el consiguiente ahorro de memoria.

Todo lo anteriormente explicado para las variables de tipo int, aplica también para las

variables de tipo char.

Actividad de autoevaluación 2. Explicando resultados

Es momento de que evalúes tu aprendizaje

Realiza la siguiente actividad que tiene como objetivo el reforzar tu aprendizaje adquirido hasta el momento, aunque no tiene valor en tu calificación, es importante que la realices.

Instrucciones:

1. Revisa y analiza el siguiente código fuente que se te va a presentar.

2. Revisa la imagen del resultado que despliega el código fuente que vas a analizar

3. Explica por qué a partir del código fuente se obtuvo este resultado.

4. Ya que hayas terminado la actividad ve a la “Solución” para que compares el análisis que realizaste con el resultado que se te muestra.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Unidad Il. Fundamentos de programación estructurada El resultado de editar, depurar y compilar este programa es

El resultado de editar, depurar y compilar este programa es el siguiente:

de editar, depurar y compilar este programa es el siguiente: Solución : Inicialmente se declaró la
Solución :
Solución
:

Inicialmente se declaró la variable llamada CARACTeR de tipo char, a la cual se le asignó una carácter A (almacena una letra A), mismo que equivale al código ASCII 65.

Después de mostrar el contenido de la variable CARACTeR por pantalla, se incrementó en una unidad a la variable CARACTeR, en otras palabras se le sumo 1 a la variable carácter y el resultado de esta operación aritmética que es 66, se guardó en la misma variable CARACTeR, por esto al volver a mostrar por pantalla el contenido de la variable CARACTeR se muestra una letra B que corresponde al código ASCII 66.

c)

El modificador unsigned

Este modificador, que significa sin signo, cambia el rango de valores que puede contener una variable y sólo admite valores positivos, es decir, cambia valores de signo negativo a positivo y a partir de esto también se cambia el rango de las variables.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Por ejemplo:

El rango de valores que puede aceptar normalmente una variable de tipo char es el siguiente: -128 a 127, pero si se le antepone el modificador unsigned ya no guardará números negativos, con lo cual el nuevo rango de valores que puede almacenar una variable de tipo unsignedchar es: 0 a 256, es importante mencionar que aunque el rango es amplio, solo puede guardar un solo valor de ese rango.

Un ejemplo de esto es el siguiente:

unsignedcharesime = 256;

En esta línea de código la variable llamada esime de tipo unsignedchar guarda el número 256, y ya no se le puede indicar que guarde números negativos.

Nota:
Nota:

Este modificador se puede utilizar para cualquier otro tipo de variables

y solo

guarda un número.

d)

Variables de tipo float

En este tipo de variables se pueden almacenar números enteros con una parte decimal, no sólo números enteros como en las variables de tipo int y las de tipo char.

El rango de valores que podemos almacenar en este tipo de variable es del 3,4E-38 al 3,4E37. Al igual que las otras variables almacenan solo un valor.

Para realizar la declaración de una variable de tipo float, se hace lo siguiente:

float numero = 0.0;

Para imprimir en pantalla el contenido de una variable de tipo float se usa el modificador

. Ejemplo:de una variable de tipo float se usa el modificador floatnum = 4060.80; printf( "El valor

floatnum = 4060.80;

printf( "El valor de num es : %f", num);

El resultado que se observará en pantalla será el siguiente:

El valor de num es: 4060.80

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Si se quiere imprimir este valor en pantalla en notación exponencial se usa el modificador

en lugar de %f por ejemplo:en pantalla en notación exponencial se usa el modificador floatnum = 4060.80; printf( "El valor de

floatnum = 4060.80;

printf( "El valor de num es: %e", num );

El resultado que se observará en pantalla será el siguiente:

El valor de num es: 4.06080e003

e) Variables de tipo double

pueden almacenarse números reales (números enteros

con una parte decimal) en un rango de 1,7E-307 al 1,7E306. Como puedes observar el rango de valores que puede almacenar una variable de este tipo es mayor al de las variables de tipo float.

En las

variables de tipo double

Para declarar una variable de este tipo se hace lo siguiente:

doublenum = 4.85454405655;

Para imprimir en pantalla estas variables se utiliza el modificador variables de tipo float. Ejemplo:

%f
%f

al igual que en las

printf( "El valor de num es: %f", num );

El resultado que se observará en pantalla es:

El valor de num es: 4.85454405655

Si se quiere imprimir este valor en pantalla en notación exponencial se usa el modificador

en lugar deen pantalla en notación exponencial se usa el modificador %f . Para saber más: Si quieres

%f .
%f
.

Para saber más:

Si quieres conocer el máximo rango de valores que puede almacenar una variable, debes hacer lo siguiente:

Primero tienes que conocer el tamaño de bytes de la variable, para esto vas a ocupar la función sizeof().

Esta función devuelve el tamaño en bytes de su argumento (el argumento es el nombre de la variable, constante o tipo de datos que se coloca entre paréntesis).

de su argumento (el argumento es el nombre de la variable, constante o tipo de datos

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Enseguida se te muestra un ejemplo de cómo utilizar esta función a través del siguiente código fuente:

esta función a través del siguiente código fuente: El resultado de editar, depurar y compilar este

El resultado de editar, depurar y compilar este programa será el siguiente:

editar, depurar y compilar este programa será el siguiente: Explicación: Observa que como argumento de la

Explicación:

Observa que como argumento de la función

cual la función sizeof() devuelve el tamaño en bytes de este tipo de dato.

sizeof()
sizeof()

se colocó el tipo de datos int, con lo

De lo explicado anteriormente sabes que el tipo int ocupa 4 bytes. Como sabemos 1byte =

8 bits. Por lo tanto el tipo int ocupa (4x8)=

32 bits.
32 bits.

No solamente se puede obtener el tamaño en bytes de las variables de tipo int, sino también de cualquiera de los tipos de variables vistos, para esto únicamente tendrías que cambiar el argumento, por ejemplo en lugar de colocar el argumento int se puede colocar los argumentos char, float y double.

Ahora para calcular el máximo número que puede almacenar una variable de tipo int se debe elevar la constante 2 (que es el número que hace referencia al sistema binario) al número de bits obtenidos.

En nuestro ejemplo: (2 32 )=4 294967296. Es decir en una variable de tipo int se podría almacenar un número entre 0 y 4.294.967.296 si solo almacenáramos números positivos.

Sin embargo lo anterior sólo aplica si se usa el modificador unsigned, aunque regularmente se almacenan números positivos y negativos.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Así que de los 4294967296 posibles números la mitad serán positivos y la mitad negativos.

Por lo tanto se tiene que dividir el número anterior entre dos, 4294967296 / 2 = 2147483648. Como el 0 se considera positivo el rango de números posibles que se pueden almacenar en una variable de tipo int sería: -2147483648 a 2147483647.

Actividad de autoevaluación 3. Buscando más errores.

Es momento de poner a prueba tu capacidad de análisis, realiza la siguiente actividad. La actividad no tiene valor en tu calificación pero es importante que la realices, recuerda que la práctica hace al maestro.

Instrucciones:

1. Revisa el siguiente programa y detecta los errores que tiene, esto te va a servir como práctica y para reafirmar tus conocimientos.

2. Cuando hayas terminado tu análisis y hayas encontrado los errores del código fuente, ve a la “solución” para que compares tus resultados y veas los aciertos que tuviste.

que compares tus resultados y veas los aciertos que tuviste. Solución: Falta la coma después de

Solución:

Falta la coma después de "El valor es %i".

Además la segunda vez número está escrito con mayúsculas, esta sería un variable diferente, la cual no ha sido declarada.

En la función printf() hay otro error, se intenta imprimir en pantalla a la variable Numero, nota la N al principio del nombre, esta variable no ha sido declara, se declara a la variable llamada número con minúsculas

Y por último, los nombres de variables no pueden llevar acentos.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

1.2

Constantes (uso de #define)

Las constantes son aquellos datos que no pueden cambiar su valor a lo largo de la ejecución de un programa.

Estas constantes se definen de la siguiente manera:

#define nombre_de_la_constante

valor_de_la_constante

Como puedes observar no es necesario utilizar el operador de asignación (=) para dar un valor a la constante, únicamente se deja un espacio en blanco entre el nombre de la constante y el valor que desea asignarse a ella, tampoco es necesario escribir el punto y coma (;) que llevan al final todas las instrucciones en Lenguaje C.

Por último observa que no se indicó el tipo de datos de la constante (por ejemplo char, float, etc.) esta puede ser una comodidad al momento de declarar constantes.

La palabra reservada

cambian a lo largo del programa.

#define
#define

indica que los datos que se escriben después en ella no

de constantes

podría ocasionar

que hubiera un error de “dedo” en el cual se escribiera mal algún número por ejemplo:

3.1516.

Se te muestra un código fuente en el cuál

(#define), en el cual si se utilizara varias veces el valor 3.1416, lo que

no se utiliza la declaración

en el cuál (#define), en el cual si se utilizara varias veces el valor 3.1416, lo

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

En este código fuente radio y perímetro son variables, su valor puede cambiar a lo largo del programa, sin embargo 2 y 3.1416 son constantes, no hay manera de cambiarlas. La única manera de hacerlo es editando el programa.

Ahora se muestra el mismo ejemplo en el que está declarada la constante PI utilizando la palabra reservada #define:

la constante PI utilizando la palabra reservada #define: Con este código fuente, cada vez que el

Con este código fuente, cada vez que el compilador encuentre el nombre PI lo sustituirá por el valor 3.1416, lo cual puede ayudar a que no haya errores.

el valor 3.1416, lo cual puede ayudar a que no haya errores. Nota: A una constante
Nota:
Nota:

A una constante no se le puede dar un valor mientras se ejecuta el

programa, es decir, no se puede hacer lo siguiente:

#define PI 3.1416

Pi = 3.20;

Sólo se le puede dar un valor con #define, y una vez.

Actividad de aprendizaje 8 “Practicando las constantes”

Ya sabes lo que son las constantes y como se declaran, ahora vas a practicar la utilización e implementación de las mismas a través de esta actividad, el objetivo es que reconozcas y construyas la estructura de un programa.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Instrucciones:

1. Edita, depura y compila el siguiente programa en Dev C++

1. Edita, depura y compila el siguiente programa en Dev C++ 2. En un archivo en

2. En un archivo en Word explica el funcionamiento del código fuente y guárdalo en tu PC.

3. Ya que hayas terminado tu actividad, envía a tu profesor el archivo del código fuente

con extensión .c

documento en Word en el que explicaste el funcionamiento del mismo, guarda ambos

(siempre y cuando no te haya marcado error el compilador) y el

documentos con

apellidopaterno_materno_nombre_actividadnumero.

el

siguiente formato:

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

1.3

Operadores

Durante el proceso de la programación en Lenguaje C surge la necesidad de manipular datos, para llevar a cabo esta tarea el Lenguaje proporciona una herramienta sencilla y eficaz para tal propósito, esta herramienta son los operadores.

Un operador es un símbolo que sirve para manipular datos. Los hay de varios tipos: de asignación, de relación, lógicos, aritméticos y de manipulación de bits, enseguida se te explica cada uno.

a) Operador de asignación =

( = ) Es un operador que ya has visto y utilizado en programas pasados, sirve para asignar un valor a una variable. Este valor puede ser un número u otra variable introducido por el teclado.

Las formas de utilizar el operador de asignación son las siguientes:

a = 3;

/* Se asigna o guarda un 3 en la variable a */

ó

a = b;

/* Se asigna el valor de una variable, es decir el valor de b se guarda

en a */
en a */

Recuerda que en una misma línea de código se puede dar valores a diferentes variables:

a = b = c = 100;

/* Se asigna a las variables a,b,c el valor de 100 */

También se puede asignar el valor de una variable a otras diferentes en la misma línea de código:

a = b = c = d;

/* a, b y c toman el valor de d */

Nota:
Nota:

En el Lenguaje C la asignación es asimétrica, un ejemplo de esto es el

siguiente:

A=B;
A=B;
es asimétrica, un ejemplo de esto es el siguiente: A=B; El valor que está guardado en

El valor que está guardado en la variable de la derecha es decir B se copia y se guarda en la variable de la izquierda en este caso A.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

En ningún caso se indica que lo que está guardado en la variable A se copia y se guarda en la variable B.

Tampoco se indica que la variable A y la variable B son iguales. Para indicar que dos variables son iguales en el Lenguaje C se utiliza al operador de comparación == que se verá más adelante.

b) Operadores aritméticos

Los operadores aritméticos son aquellos símbolos que sirven para realizar operaciones tales como suma, resta, división y multiplicación, a continuación se te explica cada uno de ellos.

Operador Suma +

Este operador permite sumar entre sí variables y constantes. Un ejemplo de la implementación de este operador se muestra enseguida:

de la implementación de este operador se muestra enseguida: El resultado de editar, depurar y compilar

El resultado de editar, depurar y compilar este código es el siguiente:

de este operador se muestra enseguida: El resultado de editar, depurar y compilar este código es

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

En este programa se declaran tres variables a = 2, b = 3 y

c = 0.

Se suman las variables a y b y el resultado de esta suma se guarda en la variable c, para después por medio de la función printf() mostrar el resultado de esta suma en la pantalla. Observa que el valor guardado previamente en c, en este caso un cero fue borrado y remplazado por el valor de la suma al momento de realizar la asignación:

c = a+b;
c = a+b;

Se pueden sumar muchas variables, o variables y constantes (recuerda que se consideran constantes porque nunca cambiaran su valor).

Observa el siguiente código fuente en el cual se suman constantes y variables:

código fuente en el cual se suman constantes y variables: El resultado de editar, depurar y

El resultado de editar, depurar y compilar este código es el siguiente:

en el cual se suman constantes y variables: El resultado de editar, depurar y compilar este

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

En este programa se declararon cuatro variables, a=2, b=3, c=1 y d a esta última no se asigno ningún valor inicial, (recuerda que cuando no inicias una variable el compilador

asigna un valor aleatoria en forma automática), se sumaron los valores de las variables a,

b y c con el valor de la constante 4, el resultado que en este caso es 10 mismo que se

guardo en la variable llamada d (el valor aleatorio asignado por el compilador inicialmente fue borrado y en su lugar se guardo un numero 10 al momento de realizar la asignación

d=a+b+c+4; )

También es posible utilizar al operador de suma (+) para incrementar el valor de una variable, por ejemplo:

int x=0;
int x=0;

x = x + 5; /* se incrementa el valor de x al sumarle 5 y guarda el resultado de la suma en x

*/
*/

Lo que se hace con la línea de código anterior es sumar cinco a la variable llamada x y el resultado que en este caso es cinco (0+5=5), se guarda en la misma variable llamada x, el cero que se asigno en la primer línea es sustituido por el nuevo valor que es cinco, ya que una variable solo puede contener un solo valor.

Este es otro ejemplo:

sustituido por el nuevo valor que es cinco, ya que una variable solo puede contener un

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa escrito en

Explicación:

En este programa escrito en Lenguaje C se declaran dos variables x e y, se asignan los valores 3 y 5 respectivamente, en la misma línea se incremente el valor que guarda la

). Para corroborar que esto

es cierto se muestra por pantalla el valor de la variable x.

variable x en dos, así:

x+=2;
x+=2;

(esto sería igual que hacer

x=x+2;
x=x+2;

Después se incrementa nuevamente el valor de la variable x, esta vez se le suma el valor de la variable llamada y, guardando el resultado de esta operación aritmética en la variable x. para corroborar que lo explicado es cierto se muestra nuevamente el valor de la variable x por pantalla.

Operador Incremento:++

La función de este operador es sumar 1 a una variable y guardar el resultado de esta suma en la misma variable. Ejemplo:

La función de este operador es sumar 1 a una variable y guardar el resultado de

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa se declara

Explicación:

En este programa se declara a la variable llamada x de tipo entero, se le asigna un 5 (x=5) y se muestra a esta variable por pantalla utilizando la función printf(), esto para mostrar el contenido de esta variable, que evidentemente es 5.

Enseguida incrementamos a la variable x en una unidad realizando

realizar

variable x.

(es lo mismo que

el nuevo valor que guarda la

x++;
x++;

x = x+1;)

y enseguida se muestra por pantalla

Operador Resta o Negativo -

- El operador Por ejemplo:
-
El operador
Por ejemplo:

permite restar entre sí variables o constantes.

int z =0, x=8;

z = x- 5;
z = x- 5;

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Un ejemplo de la implementación de este operador:

Un ejemplo de la implementación de este operador: El resultado de editar, depurar y compilar este

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa se realiza

Explicación:

En este programa se realiza la declaración de dos variables de tipo entero llamadas A y B, a las cuales, se les asigna el valor de las constantes 20 y 5 respectivamente.

Enseguida se realiza la resta de las variables A y B (A-B), guardando el resultado de esta operación aritmética en la variable llamada A, después de esto se muestra el valor guardado en la variable A para demostrar lo explicado anteriormente.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Después se realiza la declaración de dos nuevas variables llamadas a y b, a la variable de tipo entero llamada a se le asigna el valor de la constante 1, enseguida a la variable del mismo tipo llamada b se le asigna el valor de la variable a pero con signo negativo, es decir en b se guarda un -1, y se imprime en pantalla el valor de b.

Nota: Al realizar la línea de código b = -a; el valor de la variable
Nota:
Al realizar la línea de código
b = -a;
el valor de la variable llamada
a
asignado previamente, no se ve afectado, es decir a sigue
guardando un 1 positivo.

Aclarando lo anterior, al realizar la línea de código

de la variable a(-1*(a)) y el resultado de esta operación algebraica se guarda en la variable llamada b.

se multiplica un -1 por el valor

b = -a;
b = -a;

Después de esto se declaro y definió con 5 otra variable de tipo entero llamada x, enseguida se mostro por pantalla dicha variable por medio de la función printf(), para demostrar que es posible en el Lenguaje C decrementar el valor de una variable se realizo

con lo que se resto 1 a la variable x guardando el resultado de esta

operación aritmética en la misma variable llamada x.

la línea de código

x--;
x--;

Para corroborar que se realizó la resta adecuadamente se imprimió en pantalla nuevamente el valor de x.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador Multiplicación y puntero *

El operador

sirve para multiplicar entre si variables o constantes. Por ejemplo: Operador Multiplicación y puntero * El operador El resultado de editar, depurar y compilar este

multiplicar entre si variables o constantes. Por ejemplo: El resultado de editar, depurar y compilar este

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa se declararon

Explicación:

En este programa se declararon dos variables de tipo float x y y a las cuales se les asignaron los valores -5.0460 y 2.00987 respectivamente.

Se declaro una tercera variable llamada R del mismo tipo a la cual se le asigno el resultado de la multiplicación de los valores que guardan las variables x e y en la línea de

para después por medio de la función printf() mostrar el resultado por

código

R = x*y;
R = x*y;

pantalla.

El operador

*
*

También sirve para definir y utilizar punteros, pero eso lo verás

a detalle

más adelante.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador División /

El operador

estructurada  Operador División / El operador / sirve para dividir entre si variables o constantes.

/ sirve para dividir entre si variables o constantes. Por ejemplo:

para dividir entre si variables o constantes. Por ejemplo: El resultado de editar, depurar y compilar

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa se declararon

Explicación:

En este programa se declararon dos variables de tipo float x y y a las cuales se les asignaron los valores: -5.0460 y 2.00987 respectivamente.

Se declaro una tercera variable llamada R del mismo tipo a la cual se le asigno el resultado de la división de los valores que guardan las variables x y y en la línea de

para después por medio de la función printf() mostrar el resultado por

código R = x/y; pantalla.
código
R = x/y;
pantalla.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador Modulo %

%
%

El operador

operador de división (/) este devuelve el modulo de la división. Por ejemplo:

sirve para dividir entre si variables o constantes, pero a diferencia del

entre si variables o constantes, pero a diferencia del El resultado de editar, depurar y compilar

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: En este programa se declararon

Explicación:

En este programa se declararon dos variables de tipo entero llamadas a y b a las cuales se les asigno el valor de las constantes 18 y 5 respectivamente, por medio de la función printf() se imprime en pantalla el residuo de la división entre a y b.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

c)

Operadores de comparación

Los operadores de comparación se utilizan para comparar cómo son entre sí variables o

constantes. Cuando se realiza esta comparación se obtiene

ser 0 si no se cumple la comparación satisfactoriamente o 1 si la comparación se cumple satisfactoriamente.

un resultado, el cual puede

Los operadores de comparación son:

Operador

Nombre

Evaluación

==

igual que

se cumple si son iguales

!=

distinto que

se cumple si son diferentes

>

mayor que

se cumple si el primero es mayor que el segundo

<

menor que

se cumple si el primero es menor que el segundo

>=

mayor o igual que

se cumple si el primero es mayor o igual que el segundo

<=

menor o igual que

se cumple si el primero es menor o igual que el segundo

Por ejemplo:

si el primero es menor o igual que el segundo Por ejemplo: El resultado de editar,

El resultado de editar, depurar y compilar este código es el siguiente:

es menor o igual que el segundo Por ejemplo: El resultado de editar, depurar y compilar

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

En este código fuente se compara a las constantes 10 y 5. En la primer línea de la función main() se compara si 10 es mayor que 5, lo cual devuelve un 1 al cumplirse esta comparación, enseguida se compara si 10 es menor que 5, dicha comparación devuelve un 0 al no cumplirse satisfactoriamente, más adelante se compara si 5 es igual que 5, tal comparación devuelve un 1 y por último se compara si 10 es igual que 5, para tal comparación devuelve un 0 ya que no se cumple la comparación anterior.

devuelve un 0 ya que no se cumple la comparación anterior. Nota: No sólo se pueden
Nota:
Nota:

No

sólo

se pueden

comparar variables.

d) Operadores lógicos

comparar constantes,

también

se pueden

Los operadores lógicos nos permiten unir varias comparaciones, por ejemplo 10>5 y

6==6.

Los operadores lógicos son:

AND (&&), OR (||) y NOT(!).

Operador

&&

(AND,

en

español

“Y”):

comparaciones.

Devuelve

La tabla de verdad es la siguiente:

un

1

si

se

cumplen

dos

Comparación 1

Comparación 2

Resultado que devuelve AND (&&)

   

1

1

1

1

0

0

0

1

0

0

0

0

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Un ejemplo de lo explicado anteriormente sería el siguiente:

printf( "Resultado: %i", (10==10 && 5>2 );

Lo cual devolvería un 1 ya que ambas condiciones se cumplen, ya que 10 es igual que 10 y 5 es mayor que 2

Operador || (OR, en español O)

El operador

||
||

devuelve un 1 si se cumple una de las dos comparaciones.

La tabla de verdad es la siguiente:

Comparación 1

Comparación 2

Resultado que devuelve OR (||)

   

1

1

1

1

0

1

0

1

1

0

0

0

Un ejemplo de lo explicado anteriormente es el siguiente:

printf( "Resultado: %i", (10==10 || 5<2 );

La línea de código anterior devolvería un 1 ya que se cumple una de las dos condiciones en este ejemplo se cumple que 10 es igual que 10, de hecho la segunda comparación ya no se realiza.

Ahora si en este ejemplo se le cambia la primera comparación de la siguiente forma:

printf( "Resultado: %i", (10==0 || 5<2 );

Al realizar este cambio en la línea anterior ésta devolvería un 0, ya que ninguna de las dos comparaciones se cumple satisfactoriamente 10 no es igual que 0 y tampoco 5 es menor que dos.

Operador ! (NOT, negación)

: Este operador lógico realiza el siguiente trabajo, si la

comparación se cumple NOT hace que no se cumpla y viceversa.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada La tabla de verdad es la siguiente:

Comparación

Resultado que devuelve NOT (!)

 

1

0

0

1

Un ejemplo de lo explicado sería el siguiente:

printf( "Resultado: %i", ( ! 5>2 );

Esta línea devolvería 0 ya que aunque la comparación se cumple satisfactoriamente el operador ! invierte esa situación y devuelve lo contrario.

Si cambiamos los operadores de comparación de la siguiente manera:

printf( "Resultado: %i", (! 5<2 );

Este cambio hará que el operador NOT devuelva un 1 ya que aunque la condición se cumple satisfactoriamente el operador NOT hace que esta no se cumpla.

Operadores a nivel de bits

Ya has visto que un byte está compuesto por ocho bits. Pues bien, con los operadores a nivel de bits podemos manipular bit a bit los valores que almacenan las variables.

Los diferentes operadores a nivel de bits son:

Operador

Descripción

|

OR (O)

&

AND (Y)

^

XOR (O exclusivo)

 
 

Complemento a uno o

 

~

negación

 
 

Desplazamiento

a

la

 

>>

derecha

 
 

Desplazamiento

a

la

 

<<

izquierda

 
 

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador | (OR a nivel de bits):

Toma los valores y hace con ellos la operación OR a nivel de bits. Ve el siguiente ejemplo:

la operación OR a nivel de bits. Ve el siguiente ejemplo: El resultado de editar, depurar

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: Esta es la operación a

Explicación:

Esta es la operación a nivel de bits:

235

-> 11101011

143

->10001111|

239

-> 11101111

La operación OR funciona de la siguiente manera: se toma el bit de menor peso del

primer operando y el bit de menor peso del segundo operando, los compara,

ellos es uno

si alguno de

, se obtiene un uno. Si ambos son cero el resultado es cero.

En el ejemplo anterior se compararon los dos primeros bits de derecha a izquierda (el primero de cada uno de los números, 1 y 1 = 1), luego la segunda pareja (1 y 0 = 1) y así sucesivamente hasta terminar con el valor.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador & (AND a nivel de bits):

Este operador compara los bits también dos a dos. Si ambos son 1 el resultado es 1. Si no, el resultado es cero. Ve el siguiente ejemplo:

es 1. Si no, el resultado es cero. Ve el siguiente ejemplo: El resultado de editar,

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: Esta es la operación a

Explicación:

Esta es la operación a nivel de bits:

170 -> 10101010

155 ->10011011&

138 -> 10001010

El operador AND funciona de la siguiente manera: Tomamos los bits dos a dos y los comparamos si ambos son uno, se obtiene un uno.

Si alguno es cero el resultado es cero. Si ambos son cero el resultado es cero. Primero se compara los dos primeros (el primero de cada uno de los números, 0 y 1 -> 0), luego la segunda pareja (1 y 1 -> 1) y así sucesivamente.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador ^ (XOR a nivel de bits):

El operador

^
^

Compara los bits y los pone a unos si son distintos. Ve el siguiente ejemplo:

y los pone a unos si son distintos. Ve el siguiente ejemplo: El resultado de editar,

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: Esta es la operación a

Explicación:

Esta es la operación a nivel de bits:

235

-> 11101011

143

->10001111^

100

-> 01100100

El operador XOR funciona de la siguiente manera: revisa los bits dos a dos y los compara si ambos son uno, se obtiene un cero. Si ambos son cero se obtiene cero. Si ambos son distintos el resultado es uno.

Primero se compara los dos primeros (el primero de cada uno de los números, 0 y 1 -> 0), luego la segunda pareja (1 y 1 -> 1) y así sucesivamente.

Operador ~ (Complemento a uno):

Este operador acepta un sólo dato (un solo operando) y cambia los ceros por unos y los unos por ceros, es decir los invierte.

Esta operación afecta también al signo del operando (positivo o negativo), mismo que se indica antes del operando.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Ve el siguiente ejemplo:

de programación estructurada Ve el siguiente ejemplo: El resultado de editar, depurar y compilar este código

El resultado de editar, depurar y compilar este código es el siguiente:

de editar, depurar y compilar este código es el siguiente: Explicación: Esta es la operación a

Explicación:

Esta es la operación a nivel de bits:

152 ->10011000~ -153 -> 01100111

El operador complemento a uno, evalúa bit a bit ye invierte el valor del bit evaluado, como el bit de mayor peso en una variable numérica representa el signo (positivo o negativo) este bit también es invertido, por tal motivo el signo del nuevo numero obtenido es ahora negativo.

Operador >> (Desplazamiento a la derecha):

Este operador mueve cada bit a la derecha. El bit de la izquierda se pone a cero, el de la derecha se pierde. Si realizamos la operación inversa no recuperamos el número original. El formato es el siguiente:

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

El número de posiciones a desplazar indica cuantas veces hay que mover los bits hacia la derecha.

Ve el siguiente ejemplo:

mover los bits hacia la derecha. Ve el siguiente ejemplo: El resultado de editar, depurar y

El resultado de editar, depurar y compilar este código fuente es el siguiente:

depurar y compilar este código fuente es el siguiente: Explicación: Esta es la operación a nivel

Explicación:

Esta es la operación a nivel de bits y equivale a hacer dos desplazamientos a la derecha:

152 ->10011000 Número original

76 -> 01001100 Primer desplazamiento. Entra un cero por la izquierda,

el cero de la derecha se pierde y los demás se mueven a la derecha.

38 -> 00100110 Segundo desplazamiento. Entra un cero por la

izquierda,

el cero de la derecha se pierde y los demás se mueven a la derecha.

de la derecha se pierde y los demás se mueven a la derecha. Nota: Un desplazamiento
Nota:
Nota:

Un desplazamiento a la derecha equivale a dividir entre dos. Esto es un dato muy importante ya que el desplazamiento a la derecha es más rápido que la división. Sólo sirve para dividir entre dos. Si hacemos dos desplazamientos sería dividir entre dos veces, no dividir entre tres.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Operador << (Desplazamiento a la izquierda):

Este operador mueve cada bit a la izquierda. El bit de la derecha se pone a cero, el de la izquierda se pierde. Si realizamos la operación inversa no recuperamos el número original Esta operación equivale a multiplicar por 2.

Vamos a ver un ejemplo:

:

equivale a multiplicar por 2. Vamos a ver un ejemplo: : El resultado de editar, depurar

El resultado de editar, depurar y compilar este código fuente es el siguiente:

depurar y compilar este código fuente es el siguiente: Esta nivel de bits y equivale a

Esta

nivel de bits y equivale a hacer dos desplazamientos a la izquierda:

es

la

operación a

50 -> 00110010 Número original 100-> 01100100 Primer desplazamiento. Entra un cero por la derecha, el cero de la izquierda se pierde y los demás se mueven a la izquierda. 200->11001000 Segundo desplazamiento.Entra un cero por la derecha, el cero de la izquierda se pierde y los demás se mueven a la izquierda.

Nota:
Nota:

Un desplazamiento a la izquierda equivale a multiplicar por dos.

se pierde y los demás se mueven a la izquierda. Nota: Un desplazamiento a la izquierda

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Esto es un dato muy importante ya que el desplazamiento a la izquierda es más rápido que la multiplicación. Sólo sirve para multiplicar por dos. Si hacemos dos desplazamientos sería igual que multiplicar por dos, dos veces, no multiplicar por tres.

Actividad de Aprendizaje 10. Operadores lógicos a nivel de Bits.

Ya conoces todas las operaciones lógicas a nivel de bits que se manejan en Lenguaje C, ahora vas a practicar con ellas en la siguiente actividad, el objetivo es que comprendas el uso y aplicación de los operadores con que cuenta el Lenguaje de programación C.

Instrucciones:

1. Realiza el código fuente escrito en Lenguaje C que te permita realizar las operaciones lógicas a nivel de bits OR, AND y XOR para los siguientes operandos: operando 1 = 100 y operando 2 = 200, también realiza las operaciones de complemento a uno o negación, desplazamiento a la derecha y desplazamiento a la izquierda para los operandos 3 y 125, el >> se hará por 2, es decir, dos desplazamientos a la derecha y el << se hará por uno, es decir un desplazamiento a la izquierda.

2. Todos los resultados de estas operaciones lógicas a nivel de bits se deben mostrar en pantalla.

3. Ya que tengas el código fuente realizado depúralo y compílalo en Dev C++

4. Debes enviar tu archivo hasta que haya sido compilado, es decir que Dev C++ no te haya marcado error, de lo contrario no se tomará esta actividad como válida. El archivo que debes enviar es el código fuente, es decir el archivo con extensión .c que se creó.

5. Cuando hayas terminado envía a tu profesor el archivo del código fuente a la

formato:

plataforma

apellidopaterno_materno_nombre_actividadnumero.

con

el

siguiente

Conclusión:

La estructura general de un programa escrito en Lenguaje C es la siguiente:

#include<>

intmain() { }
intmain()
{
}

#include<>Es la

directiva del preprocesador.

Se encarga de incluir el contenido de las

librerías en el código fuente del programa, no olvides que en las librerías se encuentran declaradas y definidas las funciones más comunes con que cuenta el Lenguaje C, tales como pritf().

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

, esta es

siempre la primer función en ejecutarse y es por medio de esta que se llaman o invocan a las demás funciones.

Todo programa escrito en Lenguaje C debe tener una

función llamada main()

Las { }
Las { }

delimitan tanto el comienzo como el final del programa así como las líneas de

código que pertenecen a la función main.

en

Lenguaje C, así que es necesario que recuerdes que el contenido de las variables se puede ver o cambiar en cualquier momento.

Como te abras dado cuenta

es imprescindible utilizar variables en un programa

Estas variables pueden ser de distintos “tipos” dependiendo de la clase de información que almacenen.

No es lo mismo guardar un nombre que un número, ya que un nombre puede estar compuesto por letras y números, por ejemplo Rodrigo, Lucy254, etc., y un número es una constante por ejemplo 0,-1,2,10.25, etc.

limitada, así que

cuando guardamos un dato, debemos usar sólo la memoria necesaria, ya que es en la memoria RAM donde se cargaran y ejecutaran nuestros programas.

Hay que recordar también que

la memoria RAM de la computadora es

Recuerda también que

manipular la información, por ejemplo cuando escribimos a+2, en este caso el operador es el símbolo de + (más) el cual tiene vinculada una función que le dice al compilador exactamente lo que tiene que hacer con los operandos a y 2 (sumarlos), existen operadores para manipular casi todo tipo de información.

son símbolos que le indicaran al compilador como

los operadores

¡Excelente, terminaste el primer tema!
¡Excelente, terminaste el primer tema!

¡Excelente, terminaste el primer tema!

¡Excelente, terminaste el primer tema! ¡Sigue adelante con tu trabajo!

¡Sigue adelante con tu trabajo!

¡Excelente, terminaste el primer tema! ¡Sigue adelante con tu trabajo!

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

2. Funciones de entrada

Introducción

Como recordarás en las librerías (por ejemplo conio.h) se encuentran declaradas y definidas funciones, estas funciones desarrollan un trabajo específico y resuelven la mayoría de necesidades que se suscitan durante el proceso de la programación, por ejemplo estas funciones nos permiten introducir datos por el teclado, mostrar información en pantalla, obtener el coseno de un ángulo, etc.

De manera general, podemos decir, que existen funciones dentro de las librerías casi para cualquier necesidad, pero ¿qué pasa cuando necesitamos realizar una tarea muy especializada o simplemente no existe ninguna función prefabricada?, pues surge entonces la necesidad de generar nuestras propias funciones y que el Lenguaje C nos permita generar nuestras propias funciones es una herramienta muy potente.

2.1

La función scanf()

Esta función permite que el usuario introduzca información a través de la entrada estándar de la computadora (el teclado).

A continuación un ejemplo:

de la computadora (el teclado). A continuación un ejemplo: El resultado de editar, depurar y compilar

El resultado de editar, depurar y compilar este código fuente es el siguiente:

(el teclado). A continuación un ejemplo: El resultado de editar, depurar y compilar este código fuente

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

, por medio de

la función printf() se escribe en pantalla el mensaje “Introduce un carácter”, nota que la instrucción es introducir un carácter no dos o más, en la siguiente línea por medio de la implementación de la función scanf() el usuario puede teclear un carácter y este será guardado en la variable llamada le.

En el código fuente anterior se declara una variable de tipo char llamada

le
le

Es necesario colocar el modificador

tipo de datos que se va a introducir por el teclado es de tipo char, así mismo, es necesario escribir el operador &(dirección de ) antes del nombre de la variable donde se desea que se guarde la información introducida por el usuario a través del teclado.

para indicar explícitamente al compilador que el

%c
%c

Observa que el usuario tecleo equivocadamente una palabra en lugar de un carácter, debido a que la variable llamada le de tipo char solo puede almacenar un carácter, ya que solamente se guarda el primer carácter, en este caso la E.

La demás información tecleada por el usuario se pierde ya que no existe variable que pueda almacenarla.

Para corroborar que el primer carácter ha sido guardado nuevamente se utiliza la función

para mostrar el contenido de la variable llamada le.carácter ha sido guardado nuevamente se utiliza la función Es posible introducir más de un dato

Es posible introducir más de un dato por el teclado con una sola función

necesario colocar un modificador

por medio de el operador dirección de (&) el orden información.

es

por cada variable declarada y escribir explícitamente

scanf(),
scanf(),
%
%

y lugar donde se guardara la

Por ejemplo:

scanf(), % y lugar donde se guardara la Por ejemplo: El resultado de editar, depurar y

El resultado de editar, depurar y compilar las líneas de código anteriores dentro de una función main() será el siguiente:

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

2.2

Las funciones getch() y getche()

Estas dos funciones permiten al usuario introducir un carácter por el teclado. La diferencia entre getche() y getch() es que la primera imprime en pantalla la tecla que se ha pulsado y la segunda no. Ambas funciones se encuentran declaradas y definidas en la librería llamada conio.h. Enseguida se te da un ejemplo:

la librería llamada conio.h. Enseguida se te da un ejemplo: El resultado de editar, depurar y

El resultado de editar, depurar y compilar este código fuente es el siguiente:

depurar y compilar este código fuente es el siguiente: Explicación: Observa que al utilizar a la

Explicación:

Observa que al utilizar a la función getch() se tecleo una R, pero al momento de teclearla no se imprime este carácter en pantalla, se imprime únicamente al mostrarla por medio de la función printf(), en cambio con la función getche() al momento de presionar en el teclado el carácter o este se imprime en la pantalla automáticamente.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Para corroborar que los datos se guardaron correctamente se utiliza a la función printf() para mostrar el contenido de la variable.

Actividad Integradora 1. Introduciendo datos por el teclado

Ya conoces la estructura general de un programa, los tipos de variables con que cuenta el lenguaje C, además sabes cómo implementar las funciones de entrada y de salida estándar con que cuenta este Lenguaje, es momento de poner en práctica todos estos conocimientos.

Instrucciones:

1. Realiza un código fuente escrito en Lenguaje C que te permita introducir el RFC de cualquier persona física.

2. Se debe introducir el RFC carácter por carácter sin espacios en blanco entre ellos.

3. Después de introducir el último carácter, al presionar la tecla Enter, en la pantalla de tu PC se debe desglosar la información correspondiente a cada uno de los elementos que componen el R.F.C. la imagen siguiente muestra el resultado que debes obtener:

la imagen siguiente muestra el resultado que debes obtener: 4. El Programa debe funcionar correctamente para

4. El Programa debe funcionar correctamente para cualquier RFC que introduzcas.

5. Cuando hayas terminado tú programa, lo hayas depurado, compilado y funcione correctamente, envía a tu profesor el archivo del código fuente y la imagen del programa en ejecución a la plataforma con el siguiente formato:

apellidopaterno_materno_nombre_actividadnumero.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada Antes de comenzar lee la siguiente nota informativa en la que te puedes apoyar para realizar tu código fuente, en ellas se te explica qué es el RFC, y como se determina.

¿Qué es el RFC?

El Registro Federal de Contribuyentes (RFC) es una clave que debe tener cualquier persona en México que realice alguna actividad laboral lícita y esté registrada ante Hacienda, El RFC se forma con los datos personales del contribuyente, su nombre y fecha de nacimiento. El registro se debe hacer en las oficinas del Servicio de Administración Tributaria de la Secretaria de Hacienda y Crédito Público, esta instancia otorga una homoclave diferente para cada registro y es obligatorio para todas las personas.

¿Cómo se determina?

Para explicarte como elaborar el RFC se va a tomar como ejemplo los datos de la siguiente persona:

El Sr. José Vélez Cuevas, nació el 26 de marzo de 1986.

Partiendo de estos datos, se toman las dos primeras letras del apellido paterno (VE), la primera letra de apellido materno (C), la primera letra del nombre (J), posteriormente se agrega a la clave la fecha de nacimiento, comenzando con el año, el mes y el día, todo con números (aa, mm, dd): 860326, finalmente, el RFC del Sr. José Vélez es el siguiente:

VECJ860326, ya que se tiene el R.F.C., la Secretaría de Hacienda designa una homoclave.

Conclusión

.

Las

funciones estándar

getche()

 

para introducir información por el teclado son:

scanf(), getch() y

La primera permite introducir cualquier cantidad de información en una sola línea y de cualquier tipo, siempre y cuando se indique en forma explícita con el operador %i, %c, o %f de acuerdo al tipo de variable que se desea introducir.

En cambio las funciones getch() y getche() únicamente permiten introducir un solo dato, además de que getch() no muestra en pantalla la información tecleada desde la entrada estándar de la computadora (el teclado) y la función getche() si lo hace.

¡Buen trabajo! ¡Continúa con el Tema 3!

¡Buen trabajo!

¡Buen trabajo! ¡Continúa con el Tema 3!
¡Continúa con el Tema 3!
¡Continúa con el Tema 3!

¡Continúa con el Tema 3!

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

3. Funciones matemáticas

Introducción

En ocasiones durante el proceso de la programación en Lenguaje C es necesario realizar cálculos matemáticos, por ejemplo: calcular la raíz cuadrada de un número u obtener el valor absoluto de una variable; debido a estas necesidades los desarrolladores del lenguaje proveen una librería en la cual se encuentran declaradas y definidas las funciones matemáticas más usadas por los programadores, esta librería se llama math.h

Para usar la librería de matemáticas math.h, se debe incluir la directiva del preprocesador #include<math.h>.

Al incluir esta directiva en tu código fuente podrás utilizar las siguientes funciones:

Función

Tipo de variable

Propósito

acos(d)

double

Devuelve el arco coseno de d

asin(d)

double

Devuelve el arco seno de d

atan(d)

double

Devuelve el arco tangente de d

atan(d1, d2)

double

Devuelve el arco tangente de d1/d2

ceil(d)

double

Devuelve el valor redondeado por exceso, al siguiente entero mayor

cos(d)

double

Devuelve el coseno de d

cosh(d)

double

Devuelve coseno hiperbólico de d

exp(d)

double

Eleva a la potencia d

fabs(d)

double

Devuelve el valor absoluto de d

floor(d)

double

Devuelve el valor redondeado por defecto al entero menor más cercano

log(d)

double

Devuelve el logaritmo natural de d

log10(d)

double

Devuelve el lo. (base10) de d

pow(d1, d2)

float

Devuelve d1 elevado a la potencia d2

sin(d)

Double

Devuelve el seno de d

sinh(d)

double

Seno hiperbólico de d

sqrt(d)

float

Raíz cuadrada de d

Tan(d)

double

Devuelve la tangente de d

tanh(d)

double

Devuelve la tangente hiperbólica de d

Algunos ejemplos de cómo utilizar las funciones mostradas en la tabla anterior se

presentan a continuación.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada Se necesita escribir el código fuente de un programa en Lenguaje C, dicho programa será capaz de obtener el valor de la hipotenusa del siguiente triangulo rectángulo:

A= 20.2 cm. C=

¿? cm. B= 50.05 cm.
¿? cm.
B= 50.05 cm.

C 2 = A 2 + B 2

El código fuente que da solución a este problema es el siguiente:

cm. C= ¿? cm. B= 50.05 cm. C 2 = A 2 + B 2 El

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada El resultado de editar, depurar y compilar este código fuente es el siguiente:

depurar y compilar este código fuente es el siguiente: Explicación: En este código fuente se declararon

Explicación:

En este código fuente se declararon cuatro variables de tipo float A, B, C y D respectivamente, las cuatro variables se iniciaron con el valor de la constante cero.

Enseguida, gracias a la función printf()se muestra la cadena de caracteres: "Introduce el valor del cateto A: "

Después se colocó la función scanf() la cual permite que el usuario del programa introduzca el valor solicitado por medio del teclado de la computadora, este valor se guarda en la variable A.

Se muestra otra cadena de caracteres que indica al usuario del programa tecle el valor del cateto B, una vez más la función scanf() permite almacenar este valor en la variable de tipo float llamada B.

Posteriormente se eleva el valor de la variable A al cuadrado(pow(A,2)), utilizando a la función pow(), como se pudo observar en la tabla mostrada anteriormente, esta función acepta dos argumentos, el primero (en este caso la variable A) y el segundo (en este caso la constante 2) que se encarga de indicar el exponente al cual ha de elevarse la variable llamada A de tipo float.

Se realiza la misma operación con la variable B. El resultado de estas dos operaciones se guarda en las variables D y E respectivamente.

Inmediatamente después se suman estos dos valores y se guarda en la variable C de tipo float, para enseguida obtener la raíz cuadrada de esta operación aritmética (suma), para ello se utiliza a la función sqrt() que como se muestra en la tabla anterior esta función acepta un solo argumento de tipo float y devuelve la raíz cuadrada de este argumento, en este caso el valor de la variable C que contiene la suma de los cuadrados de las variables A y B.

Por último se muestra el resultado de esta operación por medio de la función printf().

de las variables A y B. Por último se muestra el resultado de esta operación por

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Nota:
Nota:

La implementación de las otras funciones matemáticas es similar a la vista

anteriormente.

Actividad de aprendizaje 11. Calculando

Ahora conoces las funciones matemáticas y su aplicación, estás en condiciones de aplicar este conocimiento para la construcción de software que permita dar solución a problemas de ingeniería.

Instrucciones:

1. Escribe un código fuente en Lenguaje C que calcule el volumen de un elipsoide

(Zepelín).

2. Las longitudes de los semiejes se deberán introducir por el teclado y el volumen

correspondiente a las dimensiones que el usuario teclee se mostrará en pantalla.

3. Para apoyarte en la realización del programa revisa la información que se te presenta, a continuación para calcular el volumen de un dispositivo con esta geometría. Da clic en la palabra Elipsoide para que se te muestre dicha información.

Elipsoide para que se te muestre dicha información. Un elipsoide es una superficie curva cerrada cuyas

Un elipsoide es una superficie curva cerrada cuyas tres secciones ortogonales principales son elípticas, es decir, son originadas por planos que contienen dos ejes cartesianos.

Volumen:

El volumen de un elipsoide está dado por la ecuación:

El volumen de un elipsoide está dado por la ecuación: Donde a, b y c son

Donde a, b y c son las longitudes de los semiejes del elipsoide respecto de los ejes x, y , z; son números reales positivos y determinan la forma del elipsoide. Si dos de estos semiejes son iguales, el elipsoide es un esferoide; si los tres son iguales, se trata de una esfera.

Cuando

correctamente, envía a tu profesor el archivo del código fuente y la imagen del programa

en

lo

hayas depurado, compilado y funcione

hayas

terminado

a

tu

programa,

la

ejecución

plataforma

con el siguiente formato:

apellidopaterno_materno_nombre_actividadnumero.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Conclusión .

La librería llamada math.h contiene la declaración y definición de las funciones matemáticas más usadas por los programadores de Lenguaje C, en ella se encuentran

para obtener la raíz cuadrada de numero o la función

que nos permite elevar un número a una potencia dada, el uso de estas funcionespara obtener la raíz cuadrada de numero o la función declaradas las funciones sqrt() es muy

declaradas las funciones

sqrt()
sqrt()

es muy sencillo y para poder utilizarlas dentro de un código fuente de Lenguaje C basta con incluir en la directiva del preprocesador el nombre de esta librería.

¡Muy bien, terminaste! Concluye la unidad trabajando el Tema 4

¡Muy bien, terminaste!

¡Muy bien, terminaste! Concluye la unidad trabajando el Tema 4
Concluye la unidad trabajando el Tema 4
Concluye la unidad trabajando el Tema 4

Concluye la unidad trabajando el Tema 4

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

4. Funciones generadas por el usuario

Introducción

Durante el proceso de la programación en Lenguaje C surgen necesidades muy específicas para las que no existe ninguna función prefabricada, el Lenguaje C brinda una forma sencilla y flexible al programador para que éste pueda declarar y definir sus propias funciones, esta es una herramienta muy potente ya que al declarar y definir las funciones propias se está en posibilidad de dar casi cualquier orden a la computadora.

4.1 Declaración y definición de una función

Una función es un método en el cual se escriben de forma explícita las instrucciones que la computadora deberá ejecutar, para alcanzar un objetivo específico.

Ya has utilizado algunas funciones prefabricadas, por ejemplo la función printf() y la función system(“PAUSE”), cada una realiza una tarea específica y como ya sabes estas están declaradas y definidas dentro de las librerías.

Para poder utilizar una función es necesario declararla, es decir indicarle al compilador en forma explícita cual es el nombre de la función, su tipo y si posee o no argumentos.

También es necesario definirla, es decir, escribir en forma explícita las instrucciones que pertenecen a dicha función (dentro de las llaves de apertura y cierre { }), finalmente estas instrucciones describen el funcionamiento de la función (el ¿Qué hace?).

La declaración y definición de una función debe realizarse de acuerdo a la siguiente sintaxis:

Tipo_de_variablenombre_de_la_funcion( argumentos ) 3 1 { definición de variables; 4 cuerpo de la funcion; 5
Tipo_de_variablenombre_de_la_funcion( argumentos )
3
1
{
definición de variables;
4
cuerpo de la funcion;
5
return
6
}

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada 1. Cuando una función termina de ejecutarse puede o no devolver un valor, el cual puede ser cualquiera de los tipos de variable vistos anteriormente, (int, char, float, double) o un tipo de dato definido por nosotros. Este valor devuelto suele ser el resultado de las operaciones que se realizan en la función y si han tenido éxito o no. También se puede usar el tipo void. Este tipo de datos no regresa ningún valor al finalizar la función.

2. Para el nombre se pueden utilizar letras, números y el símbolo

ni acentos ni espacios en blanco. Además el nombre de la función debe comenzar por una letra, no puede comenzar con un número. Tampoco puede ser una palabra reservada. El nombre de la función se usa para llamarla dentro del programa. Por ejemplo, un nombre valido para una función puede ser el siguiente: Rodrigo_Aviles() ó

No se pueden utilizar

Resta123()

3. Los argumentos son variables de cualquier tipo, sirven para dotar a la función de la “capacidad” de recibir información, debe declararse cada argumento(variable) separado por un operador coma (,), la declaración de estos argumentos no termina con el operador punto y coma (;).

Nota: No en todas las funciones se declaran argumentos, únicamente se declaran cuando es necesario recibir información proveniente de alguna otra función u otro programa.

4. Dentro de la función podemos definir variables (variables locales) que sólo sean conocidas dentro de la función (delimitada por las llaves de apertura y cierre { }). Si declaramos una variable en una función no podemos usarla en otra.

5. Aquí es donde se escriben de forma explícita las instrucciones que describirán la ejecución de la función, es decir que trabajo realizara la función.

6. La sentencia return es la función devuelve un valor, es la encargada de realizar esta tarea, el dato que se pone después de return es el dato que se devuelve, éste puede ser una constante o una variable y debe ser del mismo tipo que el tipo_de_variable.

Aunque la excepción a esta regla es la siguiente: Si se colocó el tipo de variable void, no debe colocarse la instrucción return. Las funciones deben declararse y definirse antes de ser llamadas (utilizadas en un programa).

En los ejemplos que se muestran en los siguientes apartados se llama a la función desde main, así que se tiene que declarar y definir la función antes que se escriba la función principal main().

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

4.2 Función sin argumentos que no devuelve ningún valor

Observa el siguiente código fuente, en el se muestra la declaración y definición de una función que no devuelve ningún valor, además de no tener argumentos esta función se llama resta y su trabajo consiste en realizar la resta de dos números que se introducirán por el teclado, el resultado se mostrara por pantalla.

por el teclado, el resultado se mostrara por pantalla. El resultado de editar, depurar y compilar

El resultado de editar, depurar y compilar este código fuente es el siguiente:

el resultado se mostrara por pantalla. El resultado de editar, depurar y compilar este código fuente

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Explicación:

En este código fuente se declara y define la función llamada resta(), esta función no devuelve ningún valor por lo tanto se le coloca la palabra reservada void, más adelante se mostrara una función que si regresa valores, así podrás comparar esta característica de las funciones, observa que la declaración y definición de la función resta(), se realizó antes de la función principal main():

void resta()

{

}

Intmain()

{

}

Declaración y definición de la función resta()la función principal main(): void resta() { } Intmain() { } Funciónprincipal main() Dentro de las

Funciónprincipal main(){ } Declaración y definición de la función resta() Dentro de las llaves de apertura y

Dentro de las llaves de apertura y cierre ( { } ) se declararon tres variables locales de tipo int llamadas a, b y c respectivamente.

En la siguiente línea de código se imprime en pantalla el siguiente texto “Esta función restará dos valores:” y enseguida por medio de otra función printf() se indica al usuario que introduzca el valor que almacenará la variable a, por medio de la función scanf()

El valor tecleado por el usuario del programa se guardara en la variable a, para inmediatamente después realizar exactamente el mismo procedimiento pero ahora el valor tecleado por el usuario se guardara en la variable b.

Enseguida de realiza la resta entre a y b guardando el resultado de esta resta en la variable c, de este modo c = a-b; recuerda que en el Lenguaje C la asignación es asimétrica es decir el valor de la variable de la derecha se guarda en la variable de la izquierda, por lo tanto el resultado de la resta se guarda en la variable c que inmediatamente después se muestra por pantalla.

Lo explicado anteriormente es únicamente la declaración y definición de la función resta(), en otras palabras, aquí solo estamos escribiendo (indicándole al compilador) el tipo de variable que devolverá la función, en este caso no devuelve ninguno (void),

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada El nombre de la función en este caso es resta() y especificamos si esta función tiene argumentos, esto se hace declarando variables dentro de los paréntesis, en este caso no los tiene.

Si no realizaras la invocación de resta() desde la función main() el programa solo ejecutaría la función system(“PAUSE”); y nunca se ejecutara la función resta().

Si se edita, depura y compila el código fuente anterior y se omite la invocación a la función resta, se obtiene el siguiente resultado:

a la función resta, se obtiene el siguiente resultado: Omisión invocación. de la 4.3 Función con

Omisión

función resta, se obtiene el siguiente resultado: Omisión invocación. de la 4.3 Función con argumentos que

invocación.

de

la

4.3 Función con argumentos que no devuelve ningún valor

Observa el siguiente código fuente, en él se muestra la declaración y definición de una función que no devuelve ningún valor, esta función tiene argumentos, se llama suma y su trabajo consiste en realizar la suma de dos números que se introducirán por el teclado, el resultado se mostrara por pantalla. Observa que este código fuente es muy semejante al anterior, pero ahora la función se llama suma y tiene dos argumentos (variables) de tipo int, por tal motivo es necesario que otra función o programa le proporcione los valores de a y de b respectivamente.

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada

Unidad Il. Fundamentos de programación estructurada El resultado de editar, depurar y compilar este código

El resultado de editar, depurar y compilar este código fuente es el siguiente:

Fundamentos de Programación Unidad Il. Fundamentos de programación estructurada