SlideShare una empresa de Scribd logo
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad III: Introducción a la Programación
Este material está desarrollado para la asignatura Fundamentos de Programación SCD-1008, de la carrera de Ingeniería en
Sistemas Computacionales, plan de estudios ISIC-2010-224
Marco Histórico de Lenguaje C
• Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie
para escribir el código del sistema operativo UNIX.
• Desde su nacimiento se fue implantando como el lenguaje de
programación de sistemas favorito para muchos programadores,
sobre todo por ser un lenguaje que conjugaba la abstracción de
los lenguajes de alto nivel con la eficiencia del lenguaje
máquina. Los programadores de sistemas que trabajaban sobre
MS-DOS y Macintosh también utilizaban C.
FUNDAMENTOS DE PROGRAMACIÓN
• A mediados de los ochenta el Lenguaje C se convierte en un
estándar internacional ISO. Este estándar incluye tanto la definición
del lenguaje como una enorme biblioteca de funciones para
entrada/salida, tratamiento de textos, matemáticas, etc.
• A mediados de los ochenta se crea el Lenguaje C++, extensión de C
orientada a objetos. El C++ se convierte en estándar ISO en 1998.
• En el momento actual, el lenguaje C no va a modificarse más. Será
el C++ el que incorporará nuevos cambios.
FUNDAMENTOS DE PROGRAMACIÓN
Características
• Orientado a la programación de sistemas
• Es altamente transportable
• Es muy flexible
• Genera código muy eficiente
• Es muy expresivo (se pueden realizar muchas funciones
escribiendo pocas líneas de código)
• Es muy poco modular
FUNDAMENTOS DE PROGRAMACIÓN
El preprocesador
• Transforma el programa fuente, convirtiéndolo en otro archivo
fuente “predigerido”.
El compilador
• Convierte el archivo fuente entregado por el preprocesador en
un archivo en lenguaje máquina
FUNDAMENTOS DE PROGRAMACIÓN
El enlazador
• Un archivo objeto es código máquina, pero no se puede ejecutar,
porque le falta código que se encuentra en otros archivos
binarios.
• El enlazador genera el ejecutable binario, a partir del contenido
de los archivos objetos y de las bibliotecas. Las bibliotecas
contienen el código de funciones precompiladas, a las que el
archivo fuente llama.
FUNDAMENTOS DE PROGRAMACIÓN
Bibliotecas estándares
• El lenguaje C++ es muy simple. Carece de tipos y servicios que
forman parte de otros lenguajes. No tiene tipo booleano, ni
manejo de cadenas, ni manejo de memoria dinámica.
• No obstante, el estándar de C++ define un conjunto de
bibliotecas de funciones, que necesariamente vienen con todo
entorno de compilación de C++ y que satisfacen estos servicios
elementales.
FUNDAMENTOS DE PROGRAMACIÓN
Las interfaces de estos servicios vienen definidas en unos Archivos
Cabeceras (header files). El nombre de estos archivos suele
terminar en “.h” Algunos de los servicios proporcionados por las
bibliotecas estándares son:
• entrada y salida de datos (stdio.h)
• manejo de cadenas (string.h)
• memoria dinámica (stdlib.h)
• rutinas matemáticas (math.h)
FUNDAMENTOS DE PROGRAMACIÓN
Componentes del lenguaje C ++
Sigue el paradigma de la programación estructurada:
• Algoritmos + estructuras de datos = programas.
Estructuras de datos
• literales
• tipos básicos (todos numéricos)
• tipos enumerados
• tipos estructurados (struct, union)
• punteros y vectores
FUNDAMENTOS DE PROGRAMACIÓN
#include <biblioteca1.h>
... otras bibliotecas ...
using namespace std;
... declaraciones de funciones ...
... definiciones (cuerpos de funciones) ...
... declaraciones de variables globales ...
int main(int argc, char *argv[]) {
... instrucciones del main ...
cin.get();
return 0;
}
FUNDAMENTOS DE PROGRAMACIÓN
Estructura de un
archivo fuente
Un archivo fuente en
lenguaje C++ tendrá
esta estructura típica:
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
system(" pause");
return 0;
}
FUNDAMENTOS DE PROGRAMACIÓN
Estructura de un
archivo fuente
Archivo fuente con
instrucciones básicas
Tipos de variables en C++: Tipos Numéricos
• int: -32.768 y +32.767, incluyendo el cero (0)
• long: - 2.347.483.648 y +2.347.483.647
• char: -128 y +127
• Todos pueden ser modificados con los calificadores “signed”
“unsigned”.
FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
• Variables de número real o punto flotante: Un número real ó de
punto flotante es aquel que además de una parte entera, posee
fracciones de la unidad.
FUNDAMENTOS DE PROGRAMACIÓN
• Variables tipo Carácter: El lenguaje C++ guarda los caracteres
como números de 8 bits de acuerdo a la norma ASCII
extendida, que asigna a cada carácter un número comprendido
entre 0 y 255. Es común entonces que las variables que vayan a
alojar caracteres sean definidas como:
char x;
FUNDAMENTOS DE PROGRAMACIÓN
• Existen una serie de caracteres que no son imprimibles. Un
caso típico sería el de "nueva línea" ó ENTER.
• Con el fin de tener acceso a los mismos es que aparecen
ciertas secuencias de escape convencionales. Las mismas están
listadas en la tabla 3 y su uso es idéntico al de los caracteres
normales, así para resolver el caso de una asignación de
"nueva línea " se escribirán los caracteres de la tabla siguiente:
FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
• Constantes: Es una mala práctica colocar en un programa
valores constantes de manera literal, sobre todo, cuando se
usa varias veces en un programa, es mejor asignar el valor a
una variable y usar dicha variable, la forma de hacerlo es
usando la directiva “#define”:
• Ejemplos:
#define PI 3.1416
#define GRV 9.81
FUNDAMENTOS DE PROGRAMACIÓN
• Funciones cin y cout: cin es el flujo de entrada estándar que
normalmente es el teclado y cout es el flujo de salida estándar que por
lo general es la pantalla.
Sintaxis:
cout << “El total es: ” << total; (el texto es entre comillas)
iostream es el archivo de encabezado del flujo de entrada/salida.
Este archivo debe incluirse cuando se utilicen cin o cout.
cin >> variable;
La instrucción cin obtiene un valor desde el teclado. El usuario
debe introducir un valor y luego enter.
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo:
include <stdio.h>
using namespace std;
int main(int argc, char *argv[]) {
int i1, i2, sum;
cout << “Ingrese el 1er numero enteron”;
cin >> i1;
cout << “Ingrese el 2do numero enteron”;
cin >> i2;
sum = i1+i2;
cout << “n La suma es ”;
cout << sum;
Cin.get();
return 0;
}
FUNDAMENTOS DE PROGRAMACIÓN
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
float area, radio, PI;
PI=3.1416;
cout << "Teclea el Radio del Circulo: n"<<endl;
cin >> radio;
area = PI*radio*radio;
cout << "El area del circulo es: ";
cout << area << endl;
system("pause");
return 0;
}
FUNDAMENTOSDE
PROGRAMACIÓN
Ejemplo:
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: realiza el programa para solucionar el área de un
círculo:
a=pi*(r*r)
utilizar también la directiva #define
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: hacer el programa para solucionar el área, el perímetro y la
superficie de un triángulo;
Fórmulas:
área=(b*h)/2
superficie=b*h
perímetro=2(b+h)
Nota: debes declarar las variables necesarias para ser capturadas:
FUNDAMENTOS DE PROGRAMACIÓN
• abs; sintaxis: int abs (int x); Macro que devuelve el valor absoluto de un entero.
• sqrt; sintaxis: double sqrt (double x); Calcula la raíz cuadrada. Devuelve la raíz cuadrada de
x. Si se llama con un número negativo se produce un error de dominio.
• atof; sintaxis: double atof (const char *s); Convierte cadena a punto flotante.
• Devuelve el valor contenido en s convertido a tipo double, o 0 si s no puede ser convertido.
• cabs; sintaxis: double cabs (struct complex z); Valor absoluto de un número complejo.
Devuelve el valor absoluto de z como un double.
• ceil; sintaxis: double ceil (double x); Redondea por arriba. Devuelve el menor entero mayor
o igual que x.
• exp; sintaxis: double exp (double x); Calcula e elevando a la x-éxima potencia.
• fabs; sintaxis: double fabs (double x); Valor absoluto de valor en punto flotante.
• floor; sintaxis: double floor (double x); Redondea por abajo. Devuelve el mayor entero que
no es mayor que x.
FUNDAMENTOS DE PROGRAMACIÓN
•fmod; sintaxis: double fmod (double x, double y); Calcula x módulo y.
•labs; sintaxis: long int labs (long int x); Calcula el valor absoluto de un long.
•ldexp; sintaxis: double ldexp (double x, int exp); Calcula el producto entre x y 2
elevado a exp.
•modf; sintaxis: double modf (double x, double *parte_entera); Descompone en
parte entera y parte fraccionaria. La función modf() descompone x en sus partes
entera y fraccionaria. Devuelve la parte fraccionaria y sitúa la parte entera en la
variable apuntada por parte_entera.
•pow; sintaxis: double pow (double base, double exponente); Función potencia, x
elevado a y); Devuelve base elevado a exponente. Se produce un error de
dominio si base es 0 y exponente es menor o igual que 0. También puede ocurrir
si base es negativo y exponente no es entero. Un desbordamiento produce un
error de rango.
•pow10; sintaxis: double pow10 (int p); Función potencia, 10 a la p. Devuelve 10
elevado a p.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: haga el programa que obtenga el cuadrado, el cubo y
el valor absoluto de un número.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: hacer un programa que convierta una cantidad de
grados Centígrados a grados Fahrenheit la fórmula es:
GF=GC*(9/5)+32
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escriba un programa que calcule el valor absoluto de
un número entero. Debe utilizar la función correspondiente y
además hacer el cálculo por medio de raíz cuadrada y
desplegar ambos resultados que deben ser iguales.
Nota: no debes utilizar comparaciones.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: hacer programa que pida el nombre de una persona,
su peso en libras y su estatura en pies (medidas americanas) y
convierta su peso a kilos y su estatura a metros, desplegar al
final los resultados con el nombre
• 1 libra equivale a 0.4536 kilos
• 1 pie equivale a 0.3047 metros
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: hacer un programa que solucione el problema de una
gasolinera, sus bombas surten la gasolina en galones pero la
cobran en litros, mostrar en pantalla cuanto se debe cobrar
dependiendo de la cantidad de galones vendidos y el precio de
la gasolina (precio variable), un galón equivale a 3.785 litros.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Suponga que un individuo desea invertir su capital en
un banco y desea saber cuanto dinero ganara después de un
mes si el banco paga a razón de 2% mensual
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Una tienda ofrece un descuento del 15% sobre el
total de la compra y un cliente desea saber cuanto deberá
pagar finalmente por su compra.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: construya un programa que determine la distancia entre
dos puntos, leyendo para esto las coordenadas de los puntos p1 y p2.
Coordenadas x1, y1, x2, y2
x1, y1 son el punto p1 de las coordenadas
x2, y2 son el punto p2 de las coordenadas
Fórmula:
FUNDAMENTOS DE PROGRAMACIÓN
Funciones puts() y gets();
• La función puts( ) escribe una cadena de caracteres y un carácter de
nueva línea al final de la cadena en la salida estándar. Acepta como
argumento una cadena (sin formato).
• La función gets( ) lee una cadena de caracteres de la entrada estándar
hasta que se encuentra el carácter ‘n’, aunque este carácter no es
añadido a la cadena.
FUNDAMENTOS DE PROGRAMACIÓN

Más contenido relacionado

PPTX
Fundamentos de Programación - Unidad II: Introducción a la Programación
PPTX
Programacion Orientada a Objetos - Unidad 2 clases y objetos
PPTX
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
PPTX
Programacion Orientada a Objetos - Undiad 4 polimorfismo
PPTX
Fundamentos de Programación - Unidad V: Modularidad
PPTX
Estructura de Lenguaje C++
PPTX
Clase 1 Lenguaje C++
PPTX
ESTRUCTURA BÁSICA PARA C++
Fundamentos de Programación - Unidad II: Introducción a la Programación
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Fundamentos de Programación - Unidad V: Modularidad
Estructura de Lenguaje C++
Clase 1 Lenguaje C++
ESTRUCTURA BÁSICA PARA C++

La actualidad más candente (19)

PPTX
Elementos basicos c++
PPT
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
PPTX
Estructuras de un programa
PPT
Repaso del lenguaje C++
PPT
Lenguaje Borland C - Estructura y Componentes
PPTX
Programación de nivel básico 1. c1. p1.
PPSX
Presentacion1 lenguaje de-programacion_c
PDF
2.1 Lenguaje de Programación C y su Entorno
PDF
Elementos basicos c
PPTX
Precentacion
PPT
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
PPTX
Actividad #4
PDF
Lenguaje c ++ guía para programadores
PPT
Principios de Programacion
PPT
Lenguajec diapositivas
PDF
ESTRUCTURA DE UN PROGRAMA
PPTX
Introducción
PDF
Principios programacion
Elementos basicos c++
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Estructuras de un programa
Repaso del lenguaje C++
Lenguaje Borland C - Estructura y Componentes
Programación de nivel básico 1. c1. p1.
Presentacion1 lenguaje de-programacion_c
2.1 Lenguaje de Programación C y su Entorno
Elementos basicos c
Precentacion
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
Actividad #4
Lenguaje c ++ guía para programadores
Principios de Programacion
Lenguajec diapositivas
ESTRUCTURA DE UN PROGRAMA
Introducción
Principios programacion
Publicidad

Destacado (20)

PPTX
Programacion orientada a objetos - unidad 3 herencia
PPTX
Taller de Base de Datos - Unidad 3 lenguage DML
PPTX
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
PPTX
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
PPTX
Fundamentos de BD - Unidad 6 lenguaje sql
PPTX
Topicos Avanzados de Programacion - Unidad 5 programacion movil
PPTX
Fundamentos de BD - Unidad 5 algebra relacional
PPTX
Fundamentos de Programacion - Unidad 1 conceptos basicos
PPTX
Estructura de Datos - Unidad II Recursividad
PPTX
Fundamentos de BD - Unidad 4 diseño de bd relacional
DOCX
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
PPTX
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
PPTX
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPTX
Simulación - Unidad 3 generacion de variables aleatorias
PPTX
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
PPTX
Taller de Base de datos - Unidad 1 SGBD introduccion
PPTX
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
PPT
Conexiones inalámbricas punto a punto usando wds
PPTX
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos - unidad 3 herencia
Taller de Base de Datos - Unidad 3 lenguage DML
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Fundamentos de BD - Unidad 6 lenguaje sql
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de Programacion - Unidad 1 conceptos basicos
Estructura de Datos - Unidad II Recursividad
Fundamentos de BD - Unidad 4 diseño de bd relacional
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Taller de Base de Datos - Unidad 7 Conectividad
Simulación - Unidad 3 generacion de variables aleatorias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Taller de Base de datos - Unidad 1 SGBD introduccion
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Conexiones inalámbricas punto a punto usando wds
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Publicidad

Similar a Fundamentos de Programacion - Unidad 3 Introduccion a la programacion (20)

PPTX
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
PPTX
Fundamentos de Programacion - Unidad 4 control de flujo
PPTX
Fundamentos de Programación - Unidad III Control de Flujo
PPTX
Introducción al lenguaje c
PPTX
Introducción a los Lenguaje de Programación.pptx
PPT
Lenguajec 1
PDF
Trabajo Final de Programación
DOCX
Fci 171 introducción a la programación en lenguaje c.
DOCX
Fci 171 Introducción a la programación en lenguaje c.
DOCX
Fci 171 Introducción a la programación en lenguaje c.
PDF
274420287 tipos-de-datos-en-c (1)
PPTX
Introducción
PPTX
Introducción
PDF
manual básico de programación en c
PPT
Introduccion Lenguaje C Blanca
PPT
Clase 3introduccion a_lenguace_c
DOCX
Evaluacion
PPT
Curso c i
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programación - Unidad III Control de Flujo
Introducción al lenguaje c
Introducción a los Lenguaje de Programación.pptx
Lenguajec 1
Trabajo Final de Programación
Fci 171 introducción a la programación en lenguaje c.
Fci 171 Introducción a la programación en lenguaje c.
Fci 171 Introducción a la programación en lenguaje c.
274420287 tipos-de-datos-en-c (1)
Introducción
Introducción
manual básico de programación en c
Introduccion Lenguaje C Blanca
Clase 3introduccion a_lenguace_c
Evaluacion
Curso c i

Más de José Antonio Sandoval Acosta (20)

PPTX
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
PPTX
Gestión de la Calidad Total (UNIDAD 2) UAIM
PPTX
Taller de ética U1 El sentido de aprender sobre etica.pptx
PPTX
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
PPTX
Linea del tiempo de la inteligencia artificial.pptx
PPTX
Ing. Mecatronica Prog. Básica, U5 Módulos
PPTX
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
PPTX
Ing. Mecatrónica, Prog. Básica U3 control de flujo
PPTX
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
PDF
Manual de prácticas y antología para POO
PPTX
Aplicaciones móviles intro.
PPTX
Plantilla presentación.pptx
PPTX
PPTX
Diagrama de Casos de Uso UML
PPTX
Introducción al Diagrama de Clases UML
PPTX
Diagrama de clases UML
PPTX
Diagrama UML Casos de Uso
PDF
Tema 3 - Comandos básicos.pdf
PDF
Tema 1 - Intro.pdf
DOCX
Receta de albóndigas de res
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
Gestión de la Calidad Total (UNIDAD 2) UAIM
Taller de ética U1 El sentido de aprender sobre etica.pptx
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
Linea del tiempo de la inteligencia artificial.pptx
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Manual de prácticas y antología para POO
Aplicaciones móviles intro.
Plantilla presentación.pptx
Diagrama de Casos de Uso UML
Introducción al Diagrama de Clases UML
Diagrama de clases UML
Diagrama UML Casos de Uso
Tema 3 - Comandos básicos.pdf
Tema 1 - Intro.pdf
Receta de albóndigas de res

Último (20)

PDF
Primera formulación de cargos de la SEC en contra del CEN
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
PDF
Durabilidad del concreto en zonas costeras
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
PDF
1132-2018 espectrofotometro uv visible.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
Primera formulación de cargos de la SEC en contra del CEN
informacion acerca de la crianza tecnificada de cerdos
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
Durabilidad del concreto en zonas costeras
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
Estrategias de apoyo de tecnología 2do periodo pdf
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
1132-2018 espectrofotometro uv visible.pdf
Gestion de seguridad y salud ocupacional.pptx
357161027-seguridad-industrial-diapositivas-ppt.ppt
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
Perfilaje de Pozos _20250624_222013_0000.pdf

Fundamentos de Programacion - Unidad 3 Introduccion a la programacion

  • 1. Ingeniería en Sistemas Computacionales Fundamentos de Programación Unidad III: Introducción a la Programación Este material está desarrollado para la asignatura Fundamentos de Programación SCD-1008, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224
  • 2. Marco Histórico de Lenguaje C • Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. • Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C. FUNDAMENTOS DE PROGRAMACIÓN
  • 3. • A mediados de los ochenta el Lenguaje C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc. • A mediados de los ochenta se crea el Lenguaje C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. • En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios. FUNDAMENTOS DE PROGRAMACIÓN
  • 4. Características • Orientado a la programación de sistemas • Es altamente transportable • Es muy flexible • Genera código muy eficiente • Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas de código) • Es muy poco modular FUNDAMENTOS DE PROGRAMACIÓN
  • 5. El preprocesador • Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. El compilador • Convierte el archivo fuente entregado por el preprocesador en un archivo en lenguaje máquina FUNDAMENTOS DE PROGRAMACIÓN
  • 6. El enlazador • Un archivo objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios. • El enlazador genera el ejecutable binario, a partir del contenido de los archivos objetos y de las bibliotecas. Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama. FUNDAMENTOS DE PROGRAMACIÓN
  • 7. Bibliotecas estándares • El lenguaje C++ es muy simple. Carece de tipos y servicios que forman parte de otros lenguajes. No tiene tipo booleano, ni manejo de cadenas, ni manejo de memoria dinámica. • No obstante, el estándar de C++ define un conjunto de bibliotecas de funciones, que necesariamente vienen con todo entorno de compilación de C++ y que satisfacen estos servicios elementales. FUNDAMENTOS DE PROGRAMACIÓN
  • 8. Las interfaces de estos servicios vienen definidas en unos Archivos Cabeceras (header files). El nombre de estos archivos suele terminar en “.h” Algunos de los servicios proporcionados por las bibliotecas estándares son: • entrada y salida de datos (stdio.h) • manejo de cadenas (string.h) • memoria dinámica (stdlib.h) • rutinas matemáticas (math.h) FUNDAMENTOS DE PROGRAMACIÓN
  • 9. Componentes del lenguaje C ++ Sigue el paradigma de la programación estructurada: • Algoritmos + estructuras de datos = programas. Estructuras de datos • literales • tipos básicos (todos numéricos) • tipos enumerados • tipos estructurados (struct, union) • punteros y vectores FUNDAMENTOS DE PROGRAMACIÓN
  • 10. #include <biblioteca1.h> ... otras bibliotecas ... using namespace std; ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... int main(int argc, char *argv[]) { ... instrucciones del main ... cin.get(); return 0; } FUNDAMENTOS DE PROGRAMACIÓN Estructura de un archivo fuente Un archivo fuente en lenguaje C++ tendrá esta estructura típica:
  • 11. #include <iostream> #include <cstdlib> #include <stdio.h> #include <conio.h> using namespace std; int main(int argc, char *argv[]) { system(" pause"); return 0; } FUNDAMENTOS DE PROGRAMACIÓN Estructura de un archivo fuente Archivo fuente con instrucciones básicas
  • 12. Tipos de variables en C++: Tipos Numéricos • int: -32.768 y +32.767, incluyendo el cero (0) • long: - 2.347.483.648 y +2.347.483.647 • char: -128 y +127 • Todos pueden ser modificados con los calificadores “signed” “unsigned”. FUNDAMENTOS DE PROGRAMACIÓN
  • 14. • Variables de número real o punto flotante: Un número real ó de punto flotante es aquel que además de una parte entera, posee fracciones de la unidad. FUNDAMENTOS DE PROGRAMACIÓN
  • 15. • Variables tipo Carácter: El lenguaje C++ guarda los caracteres como números de 8 bits de acuerdo a la norma ASCII extendida, que asigna a cada carácter un número comprendido entre 0 y 255. Es común entonces que las variables que vayan a alojar caracteres sean definidas como: char x; FUNDAMENTOS DE PROGRAMACIÓN
  • 16. • Existen una serie de caracteres que no son imprimibles. Un caso típico sería el de "nueva línea" ó ENTER. • Con el fin de tener acceso a los mismos es que aparecen ciertas secuencias de escape convencionales. Las mismas están listadas en la tabla 3 y su uso es idéntico al de los caracteres normales, así para resolver el caso de una asignación de "nueva línea " se escribirán los caracteres de la tabla siguiente: FUNDAMENTOS DE PROGRAMACIÓN
  • 18. • Constantes: Es una mala práctica colocar en un programa valores constantes de manera literal, sobre todo, cuando se usa varias veces en un programa, es mejor asignar el valor a una variable y usar dicha variable, la forma de hacerlo es usando la directiva “#define”: • Ejemplos: #define PI 3.1416 #define GRV 9.81 FUNDAMENTOS DE PROGRAMACIÓN
  • 19. • Funciones cin y cout: cin es el flujo de entrada estándar que normalmente es el teclado y cout es el flujo de salida estándar que por lo general es la pantalla. Sintaxis: cout << “El total es: ” << total; (el texto es entre comillas) iostream es el archivo de encabezado del flujo de entrada/salida. Este archivo debe incluirse cuando se utilicen cin o cout. cin >> variable; La instrucción cin obtiene un valor desde el teclado. El usuario debe introducir un valor y luego enter. FUNDAMENTOS DE PROGRAMACIÓN
  • 20. Ejemplo: include <stdio.h> using namespace std; int main(int argc, char *argv[]) { int i1, i2, sum; cout << “Ingrese el 1er numero enteron”; cin >> i1; cout << “Ingrese el 2do numero enteron”; cin >> i2; sum = i1+i2; cout << “n La suma es ”; cout << sum; Cin.get(); return 0; } FUNDAMENTOS DE PROGRAMACIÓN
  • 21. #include <cstdlib> #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int main(int argc, char *argv[]) { float area, radio, PI; PI=3.1416; cout << "Teclea el Radio del Circulo: n"<<endl; cin >> radio; area = PI*radio*radio; cout << "El area del circulo es: "; cout << area << endl; system("pause"); return 0; } FUNDAMENTOSDE PROGRAMACIÓN Ejemplo:
  • 23. • Ejercicio: realiza el programa para solucionar el área de un círculo: a=pi*(r*r) utilizar también la directiva #define FUNDAMENTOS DE PROGRAMACIÓN
  • 24. • Ejercicio: hacer el programa para solucionar el área, el perímetro y la superficie de un triángulo; Fórmulas: área=(b*h)/2 superficie=b*h perímetro=2(b+h) Nota: debes declarar las variables necesarias para ser capturadas: FUNDAMENTOS DE PROGRAMACIÓN
  • 25. • abs; sintaxis: int abs (int x); Macro que devuelve el valor absoluto de un entero. • sqrt; sintaxis: double sqrt (double x); Calcula la raíz cuadrada. Devuelve la raíz cuadrada de x. Si se llama con un número negativo se produce un error de dominio. • atof; sintaxis: double atof (const char *s); Convierte cadena a punto flotante. • Devuelve el valor contenido en s convertido a tipo double, o 0 si s no puede ser convertido. • cabs; sintaxis: double cabs (struct complex z); Valor absoluto de un número complejo. Devuelve el valor absoluto de z como un double. • ceil; sintaxis: double ceil (double x); Redondea por arriba. Devuelve el menor entero mayor o igual que x. • exp; sintaxis: double exp (double x); Calcula e elevando a la x-éxima potencia. • fabs; sintaxis: double fabs (double x); Valor absoluto de valor en punto flotante. • floor; sintaxis: double floor (double x); Redondea por abajo. Devuelve el mayor entero que no es mayor que x. FUNDAMENTOS DE PROGRAMACIÓN
  • 26. •fmod; sintaxis: double fmod (double x, double y); Calcula x módulo y. •labs; sintaxis: long int labs (long int x); Calcula el valor absoluto de un long. •ldexp; sintaxis: double ldexp (double x, int exp); Calcula el producto entre x y 2 elevado a exp. •modf; sintaxis: double modf (double x, double *parte_entera); Descompone en parte entera y parte fraccionaria. La función modf() descompone x en sus partes entera y fraccionaria. Devuelve la parte fraccionaria y sitúa la parte entera en la variable apuntada por parte_entera. •pow; sintaxis: double pow (double base, double exponente); Función potencia, x elevado a y); Devuelve base elevado a exponente. Se produce un error de dominio si base es 0 y exponente es menor o igual que 0. También puede ocurrir si base es negativo y exponente no es entero. Un desbordamiento produce un error de rango. •pow10; sintaxis: double pow10 (int p); Función potencia, 10 a la p. Devuelve 10 elevado a p. FUNDAMENTOS DE PROGRAMACIÓN
  • 27. • Ejercicio: haga el programa que obtenga el cuadrado, el cubo y el valor absoluto de un número. FUNDAMENTOS DE PROGRAMACIÓN
  • 28. • Ejercicio: hacer un programa que convierta una cantidad de grados Centígrados a grados Fahrenheit la fórmula es: GF=GC*(9/5)+32 FUNDAMENTOS DE PROGRAMACIÓN
  • 29. • Ejercicio: Escriba un programa que calcule el valor absoluto de un número entero. Debe utilizar la función correspondiente y además hacer el cálculo por medio de raíz cuadrada y desplegar ambos resultados que deben ser iguales. Nota: no debes utilizar comparaciones. FUNDAMENTOS DE PROGRAMACIÓN
  • 30. • Ejercicio: hacer programa que pida el nombre de una persona, su peso en libras y su estatura en pies (medidas americanas) y convierta su peso a kilos y su estatura a metros, desplegar al final los resultados con el nombre • 1 libra equivale a 0.4536 kilos • 1 pie equivale a 0.3047 metros FUNDAMENTOS DE PROGRAMACIÓN
  • 31. • Ejercicio: hacer un programa que solucione el problema de una gasolinera, sus bombas surten la gasolina en galones pero la cobran en litros, mostrar en pantalla cuanto se debe cobrar dependiendo de la cantidad de galones vendidos y el precio de la gasolina (precio variable), un galón equivale a 3.785 litros. FUNDAMENTOS DE PROGRAMACIÓN
  • 32. • Ejercicio: Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual FUNDAMENTOS DE PROGRAMACIÓN
  • 33. • Ejercicio: Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. FUNDAMENTOS DE PROGRAMACIÓN
  • 34. • Ejercicio: construya un programa que determine la distancia entre dos puntos, leyendo para esto las coordenadas de los puntos p1 y p2. Coordenadas x1, y1, x2, y2 x1, y1 son el punto p1 de las coordenadas x2, y2 son el punto p2 de las coordenadas Fórmula: FUNDAMENTOS DE PROGRAMACIÓN
  • 35. Funciones puts() y gets(); • La función puts( ) escribe una cadena de caracteres y un carácter de nueva línea al final de la cadena en la salida estándar. Acepta como argumento una cadena (sin formato). • La función gets( ) lee una cadena de caracteres de la entrada estándar hasta que se encuentra el carácter ‘n’, aunque este carácter no es añadido a la cadena. FUNDAMENTOS DE PROGRAMACIÓN