Está en la página 1de 52

COMPUTACION

SIS100

Ing. Gustavo Poquechoque


T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Lenguaje C
INTRODUCCION

El lenguaje C fue implementado por Dennis


Ritchie en los laboratorios BELL. En 1983. El
lenguaje C se denomina como un lenguaje
de nivel medio, puesto que combina
elementos de lenguajes de alto nivel (Fortran,
Pascal, Basic…) con el funcionalismo del
lenguaje ensamblador.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
C estándar

 Durante muchos años no existieron reglas para el lenguaje, ANSI


(Instituto Nacional Americano de Estándares), estableció un estándar
para el lenguaje C, y es así que a principios de los 90 el estándar es
reconocido por la ISO (Organización Internacional de Estándares) y
comienza a comercializarse con el nombre ANSI C.
C++

 Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup


(también de Laboratorios Bell de AT&T). Diseña este lenguaje con el
objetivo de añadir a C nuevas características: clases y funciones
virtuales y sobre todo, un auténtico motor de objetos con herencia
múltiple que permite combinar la programación imperativa de C con
la programación orientada a objetos. Debido al éxito del lenguaje, en
1990 se reúnen las organizaciones ANSI e ISO para definir un estándar
que formalice el lenguaje. El proceso culmina en 1998 con la
aprobación del ANSI C++.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Características del lenguaje C Estándar - ANSI.

 Tamaño pequeño,
 Uso extensivo de llamadas a funciones,
 Comandos breves (poco tecleo),
 Lenguaje estructurado,
 Programación de bajo nivel (nivel bit),
 Posibilidad de poder ser compilado en una variedad de
computadoras, con pocos cambios (portabilidad).
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

// Breve descripción del programa

// Directivas inclusión librerías

// Zona de prototipos de funciones

// Cabecera función principal

//Declaración de constantes
// Zona declaración de variables
// Código del programa

// Desarrollo del código de las funciones

//secuencia de sentencias;
T02. RESOLUCIÓN DE PROBLEMAS CON COMPUTADORAS, ALGORITMOS Y PROGRAMAS

EJEMPLO
Evaluar el valor de z y mostrar el resultado

Inicio

x
ANÁLISIS
Se debe implementar la expresión
aritmética dentro de la notación
Z  -((15+(x*5.5)/(2.3*14.7))/((4*4.8)/(x^3*11.8)+8.6-65))
algorítmica
Entrada:
X que es un valor real
Método: ‘El valor de Z=’, Z
Escribir la expresión en una sentencia
según la notación algorítmica
Salida:
El resultado es Z también un valor real Fin
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

// Breve descripción del programa

// Directivas inclusión librerías

// Cabecera función principal

//secuencia de sentencias;
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Elementos
 a) Comentarios. Son textos que no son procesados por el
compilador. Sirven como información al programador y son parte de la
documentación interna del programa. Ej.:
/* Esto es un comentario de varias
lineas*/

//esto también pero de una sola línea


 b) Constantes. Son expresiones con un significado invariable y pueden
ser: Números enteros, Números reales, Caracteres, Cadenas de
caracteres.
 Ej: PI, MAX, MIN
 c) Variables. Es una posición de memoria con nombre que se usa para
mantener un valor que puede ser modificado en el programa. Todas
las variables deben ser declaradas antes de poder usarlas.
 Ej: a,b,c,x,y,x,i,j,k
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Elementos
 d) Identificadores. Se usan para referenciar las variables,
las funciones, las etiquetas y otros objetos definidos por
el usuario.
 Ej: Edad, Salario, Potencia, MAX
 e) Operadores. Los operadores son palabras o símbolos
que hacen que un programa actúe sobre las variables.
Aritméticos, relacionales, de asignación, lógico.
 Ej: *,+,AND, OR, >=,==,<>
 f) Sentencias. Una sentencia es una expresión en C
donde se esperan unas consecuencias, normalmente
son asignaciones, operaciones, llamadas a funciones, etc.
 Ej: R=2 * PI + x + y
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

 Tipos de datos. Los tipos de datos básicos son los siguientes:


• Int
• long int
ENTEROS • short int
• unsigned int

• float
REALES • double

CARÁCTER • char

LÓGICOS • bool
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Tipo Tamaño(bits) Rango
 Tipos
char de datos. Los tipos de datos
8 básicos son los siguientes:
-127 a 127
unsigned char 8 0 a 255
signed char 8 -127 a 127
int 16 -32767 a 32767
unsigned int 16 0 a 65535
signed int 16 -32767 a 32767
short int 16 -32767 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32767 a 32767
long int 32 -2147483647 a 2147483647
signed long int 32 -2147483647 a 2147483647
unsigned long int 32 0 a 4294967295
float 32 seis dígitos de precisión
double 64 diez dígitos de precisión
long double 64 diez dígitos de precisión

void . sin valor


T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Declaraciones. La declaración de objetos en C tiene como
finalidad dar a conocer el tipo y propiedades de los
identificadores e inicializar su valor, en el caso de las constantes el
identificador debe estar en mayúsculas
En general la forma de una declaración e inicialización es:

tipo_dato identificador =valor inicial;

Por ejemplo:

const int MAX=100; //constante tipo entero con valor de 100


int n=10; // variable de tipo entero inicia con 10
float salario; //variable tipo real no se inicializa su valor
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS DECLARACIONES:
 Se necesita manipular edades de personas
int edad =0; edad =3,5; X
 Se necesita declarar una constante para establecer
un máximo de un salario
const float MAX=15000; MAX=1501; X
 Se debe calcular el seno de un Angulo en radianes

float seno; seno=´A´; X

 Se necesita manipular letras del alfabeto


char letra=‘z’; letra=8; X
 Se necesita nombrar cursos paralelos
char paralelo=‘A’; paralelo=A; X
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
 Caracteres de control en función del tipo. (Cuando necesitamos especificar
el valor de una variable dentro de una instrucción de entrada o salida
estándar debemos especificar un carácter de control que indica el tipo de
dato de entrada o salida.)

Control Tipo asociado Control Tipo asociado Control Tipo asociado


Punto flotante en tipo
Entero
%d % lf doublé \n salto de línea
(decimal) int
double
Entero largo Punto flotante tabulador a la
% ld %e (notación exponencial) \t
long int derecha
Entero corto Entero decimal sin
%h %u signo unsigned int \a beeep !
short int
Carácter simple Retorno de
%c %o Entero octal sin signo \r
char carro
Cadena de Entero Hexadecimal Retroceso de
%s %x \b
caracteres string sin signo carro
Punto flotante
%f
(real) float
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Tipo Tamaño(bits) Rango Carácter de control
char 8 -127 a 127 %c
unsigned char 8 0 a 255
signed char 8 -127 a 127
int 16 -32767 a 32767 %d
unsigned int 16 0 a 65535 %u
signed int 16 -32767 a 32767
short int 16 -32767 a 32767 %h
unsigned short int 16 0 a 65535
signed short int 16 -32767 a 32767
long int 32 -2147483647 a 2147483647 %ld
signed long int 32 -2147483647 a 2147483647
unsigned long int 32 0 a 4294967295
float 32 seis dígitos de precisión %f
double 64 diez dígitos de precisión %lf
long double 64 diez dígitos de precisión

void . sin valor


T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Operadores.

Operadores aritméticos
OPERADOR EN C SIGNIFICADO
+ Suma
- Resta
* Producto
/ Cociente de una división
% Resto de una división
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Operadores aritméticos

10 % 3= 1 3 % 3= ?

10 % -3= 1 990 % 80= ?


-10 % 3= -1 730 % 19= ?

3 % 10= 3 17 % 100= ?
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Operadores.

Operadores relacionales
OPERADOR OPERADOR EN C SIGNIFICADO
< < Menor que
> > Mayor que
<= <= Menor igual que
>= >= Mayor igual que
= == Igualdad
<> != Distinto
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Diferencia entre:

Asignación y Comparación de igualdad

A=B Completamente distinto a: A==B

Resultado: La variable A toma Resultado: Se compara el valor se la


el valor que tiene la variable B variable A con el valor de la variable B

Si A=4 y B=2 antes de evaluar la expresión Si A=4 y B=2 antes de evaluar la expresión
Después A=2 y B=2 Después A=4 y B=2, Solo se compara los
valores y el resultado es Falso
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Operadores.

Operadores lógicos
OPERADOR EN C SIGNIFICADO
! Not (no lógico)
&& And (y lógico)
|| Or (ó lógico)
^ XOr (Disyunción exclúyente)
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Operadores.

Tabla de verdad Operadores lógicos


A B A&&B A||B !B
V V V V F
V F F V V
F V F V F
F F F F V
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Operadores.

Operadores de asignación
OPERADOR SENTENCIA SENTENCIA NO
ABREVIADA ABREVIADA
= = =
++ m++ m=m+1

-- m-- m=m-1
+= m+=n m=m+n

-= m-=n m=m-n
*= m*=n m=m*n

/= m/=n m=m/n
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Reglas de prioridad
Las expresiones que tienen dos o más operandos requieren unas reglas matemáticas que
permitan determinar el orden de las operaciones, se denominan reglas de prioridad o
precedencia y son:
1. Las operaciones que están encerradas entre paréntesis se evalúan primero. Si
existen diferentes paréntesis anidados (interiores unos a otros), las expresiones
más internas se evalúan primero.
2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente
orden de prioridad:

• operador ( )
• operadores ++, – – + y – unitarios,
• operadores *, /, % (producto, división, módulo)
• operadores +, – (suma y resta).

En los lenguajes que soportan la operación de exponenciación, este operador tiene la


mayor prioridad.
En caso de coincidir varios operadores de igual prioridad en una expresión o
subexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de
izquierda a derecha, y a esta propiedad se denomina asociatividad.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Reglas de prioridad
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Reglas de prioridad
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Reglas de prioridad
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Reglas de prioridad
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLO 8
Seguir las instrucciones que se detallan y determinar los valores finales de X,Y y Z

X5 X0 X3


Y3 Y1 ZX
XY *2 + 3 ^ 2 * 2 Z2 X0
YY+4 XX+Y*Z YZ
X5 + X ZX XX+Y+Z+X
XY MOD 1 X5 * 2 MOD 3 MOD 2 Z3
YY YY+3*2-1 MOD Z
XX+Z XX MOD Y + 3

X=  Y=  X=  Y=    Z= X= Y=   Z=
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Funciones internas
Las operaciones que se requieren en los programas exigen en numerosas ocasiones, un número
determinado de operadores especiales que se denominan funciones internas, incorporadas o
estándar. Por ejemplo, la función ln se puede utilizar para determinar el logaritmo neperiano de un
número y la función raiz2 (sqrt) calcula la raíz cuadrada de un número positivo. Existen otras
funciones que se utilizan para determinar las funciones trigonométricas.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Funciones internas
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Operaciones

Si A=2 y B=4 entonces poner en notación del Lenguaje C:

((A Mod B) + 2 >= 3 * 2 + 3) AND (4-1<>3) OR (A+2=1)

______________________________________________

(( B Mod A) >= 4 - 2) OR (4-1<>3) OR (A+2=1) OR (33<=B+2)

______________________________________________
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Instrucciones de Entrada y Salida .
Las funciones estándar de C para realizar entrada de datos (generalmente por teclado)
y salida de datos (hacia pantalla o impresora).

a) Entrada salida de datos estándar.- Son funciones definidas en la librería estándar.


Para usarlas es necesario incluir el fichero de cabecera de las funciones :

#include <stdio.h>

using namespace std;

b) Entrada y Salida con Streams en C++.

Un stream en C++ es un objeto mediante el cual un programa puede insertar o extraer


datos utilizando los operadores de inserción << y de extracción >> o funciones. Los
datos pueden ser tipos básicos (int, char, double, etc.), o cadenas de caracteres.

Las definiciones necesarias para su uso están contenidas en el archivo de


encabezamiento iostream.h
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Instrucciones de Entrada y Salida .

a) Entrada de datos estándar.-

Función scanf ( ).- Lee datos de la entrada estándar (teclado), los interpreta y los
almacena en los argumentos. Incluye caracteres y especificaciones de formato.

Sintaxis: scanf ( “%cadena de control”, &lista de variables);

Parámetros La cadena de control, entre comillas dobles, que especifica cómo van a ser introducidos los
datos. Según se especifique en el formato, así deberán ser introducidos los datos.

float tarifa;
int horas;
scanf("%f %d“,&tarifa,&horas);
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Instrucciones de Entrada y Salida .

a) Salida de datos estándar.-


Función printf ( ) .- Escriben una serie de caracteres o valores en la salida estándar (pantalla).

Sintaxis printf (“MENSAJE %cadena de control”, lista de variables);

Parámetros. La Cadena de control, entre comillas dobles, que especifica cómo va a ser la
salida. Incluye caracteres y especificaciones de formato, la lista de variables indica las variables
a escribir.
Ejemplo:
float pi=3.141596;
int lados=5;
printf("El número pi = %f La cantidad de lados=%d“,pi,lados);

Especificaciones de formato para datos de tipo real: % [ancho] [.precisión], donde: ancho: Mínimo número de posiciones
reservadas para la salida, precisión: Mínimo número de posiciones reservadas para la parte decimal.
Ejemplo printf(“%6.2f”,pi) //La salida de esta instrucción sería 3.14|
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Instrucciones de Entrada y Salida .

a) Salida de datos estándar de un solo carácter.-

Entrada y Salida de un solo carácter.

C=getchar ( ); Lee un carácter de la entrada estándar.

funcion putchar ( ).- Escribe un carácter en la salida estándar.

int putchar(int c );
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Instrucciones de Entrada y Salida .

b) Entrada y Salida de datos con streams

Un stream en C++ es un objeto mediante el cual un programa puede


insertar o extraer datos utilizando :

operadores de inserción

<<

y de extracción

>>

Los datos pueden ser tipos básicos (int, char, double, etc.), o cadenas de
caracteres.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Cout. Por defecto, la salida asignada a un programa es la pantalla, y en C++ está
representada por el stream cout a la que se denomina “salida estándar”. Las definiciones
necesarias para su uso están contenidas en el archivo de encabezamiento iostream.h.

Ejemplo:
cout << “Hola!”; // muestra una cadena de texto en la pantalla
cout << 120; // muestra un número en pantalla
cout << x; // muestra el valor de la variable x en pantalla

El operador cout << puede concatenarse


cout << “Nombre: “ << nom << “ Edad: “ <<Ed;

Suponiendo que la variable nom contenga la cadena “Carla” y la variable Ed


contenga el entero 23, la salida en pantalla será: Nombre: Carla Edad: 23
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
Cout. Por defecto, la salida asignada a un programa es la pantalla, y en C++ está
representada por el stream cout a la que se denomina “salida estándar”. Las definiciones
necesarias para su uso están contenidas en el archivo de encabezamiento iostream.h.

Para separar las líneas en pantalla pueden usarse dos métodos: agregar “\n” o usar el
manipulador endl:

cout << “Nombre: “ << nom << “\n” << “ Edad: “ ;


cout << “Nombre: “ << nom << endl << “ Edad: “ ;

En ambos casos la salida será:

Nombre: Carla
Edad: 23
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
CIN
La “entrada estándar” de un programa C++ es el teclado, y está representado por
el stream >>.

El operador de extracción >> permite obtener caracteres o números desde el


teclado:

int temperatura;
cin >> temperatura;
Es importante recordar que cin sólo procesa la entrada desde el teclado una vez
que el usuario pulsó la tecla “Enter”. El tipo de la variable que recibe datos
determina cómo se interpretan los datos ingresados por teclado.
El operador de inserción puede concatenarse, por ejemplo:

cin >> a >> b;


es equivalente a:
cin >> a;
cin >> b;
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS
Realizar programa para calcular el salario mensual de un obrero, conociendo el
numero de horas trabajadas, la tarifa por hora y el porcentaje de impuesto.

Salario mensual, impuesto en porcentaje, salario básico o neto

horas : entero tasa : real


tarifa :real

impuesto: real salario: real

impuesto=((horas*tarifa)*tasa)/100 salario=(horas*tarifa)-impuesto
T03. ESTRUCTURA GENERAL DE UN PROGRAMA

Terminales
Inicio Fin

Entrada

Leer horas, tarifa, tasa horas, tarifa, tasa

Proceso

impuesto  ((horas * tarifa) * tasa) /100 salario  ((horas * tarifa) - impuesto

Salida

‘Salario mensual=’, Escribir horas, tarifa, tasa Escribir horas, tarifa, tasa
salario

Líneas de flujo
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS Realizar programa para calcular el salario mensual de un obrero,
conociendo el numero de horas trabajadas, la tarifa por hora y el
porcentaje de impuesto.
Inicio
Inicio
‘Introducir Horas trabajadas mes, tarifa hora,
% tasa de impuesto’
horas, tarifa, tasa

horas, tarifa, tasa


impuesto  ((horas * tarifa) * tasa) /100

impuesto  ((horas * tarifa) * tasa) /100


salario  (horas * tarifa) - impuesto

salario  (horas * tarifa) - impuesto

‘Salario mensual=’,
salario
‘Salario mensual=’,
salario
Fin
Fin
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS
Realizar programa para calcular el salario mensual de un obrero, conociendo el
numero de horas trabajadas, la tarifa por hora y el porcentaje de impuesto.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS
Realizar programa para calcular el salario mensual de un obrero, conociendo el
numero de horas trabajadas, la tarifa por hora y el porcentaje de impuesto.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLOS
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLO 2
Evaluar el valor de z y mostrar el resultado

ANÁLISIS
Se debe implementar la expresión
aritmética dentro de la notación del
lenguaje C y sus operadores

Entrada:
X que es un valor real
Método:
Escribir la expresión en una sentencia
según la notación propia del lenguaje
Salida:
El resultado es Z también un valor real
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLO 2
Evaluar el valor de z
y mostrar el resultado
Inicio

‘Introducir el valor
de X’

Z  -((15+(x*5.5)/(2.3*14.7))/((4*4.8)/(x^3*11.8)+8.6-65))

‘El valor de Z=’, Z

Fin
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJEMPLO 3
Convertir un número binario de 4 dígitos a su equivalente decimal

ANÁLISIS

Número binario de 4 dígitos


Ej: 1111
1010
1110
Cada dígito se almacena en una
variable
d1 d2 d3 d4  decimal
1 1 1 1  15
Entrada:
d1,d2,d3,d4

Método:
Decimal=d1*8+d2*4+d3*2+d4*1
1*23+1*22+1*21+1*20=15

Salida:
decimal
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJERCICIOS
REALIZAR EL ALGORITMO EN DIAGRAMA DE FLUJO Y EL PROGRAMA EN LENGUAJE C PARA
LOS
1. Escribir un programa que pida por teclado dos resistencias y calcule
y presente la resistencia equivalente en paralelo
(Req=(R1*R2)/(R1+R2)).

2. Programa que calcula el capital final “F” de un interés simple “I” a un


determinado tiempo “t”. Según la siguiente expresión
F=c+c*(I/100)*t
3. Programa para calcular la fuerza de atracción gravitacional entre dos
masas M1 y M2, situadas a una distancia R

Donde las masa se expresan en Kilogramos y la distancia en metros y


donde la constante de gravitación universal. Declarar una Constante para
el valor de G.
T03. ESTRUCTURA GENERAL DE UN PROGRAMA
EJERCICIOS
4.- Se desea calcular el perímetro y el área del circulo mas grande que está inscrito en un
cuadrado de lado A.
5.- Se desea saber en cuantos minutos se llena una piscina de 126.6 galones de capacidad
con un caudal de 3 litros por segundo. Sabiendo que hay 3.7854 litros en un galón.
6.- La gravedad de la Luna es de alrededor del 17% de la Tierra. Escribe un programa que
calcule tu masa sabiendo que ejerces X newton de fuerza en la luna.
7.- Elabora un programa que solicite la medida de un árbol en Pies y realice la conversión a
pulgadas, cm y metros. Tomar en cuenta que un pie tiene 12 pulgadas y una pulgada
equivale a 2.54 cm.
8.- Programa lea la longitud de los catetos de un triángulo rectángulo y calcule la longitud de
la hipotenusa según el teorema de Pitágoras.
9.-Calcular el precio de un viaje en Bs y $us sabiendo que por cada Km. se paga 3.2 Euros y
que 10.2 Bs = 1 Euro y que 6.95 Bs.=1 $us.
10.- Calcular el salario mensual neto de un empleado con una antigüedad de 7.5 años, que
tiene un sueldo básico de 7630 Bs. Además: por cada tres años de antigüedad recibe 2% de
bono sobre su salario básico, y se le deduce un impuesto de 5%, y tiene que hacer un aporte
AFP del 0.5% de un sueldo mínimo que es igual a 1750 Bs. y que ha tenido x faltas y por cada
una de ellas se le descuenta 150 Bs.
11.- Elaborar un programa para calcular el numero de Cds que son necesarios para hacer una
copia de seguridad de la información de un disco duro de X capacidad y se sabe que esta
lleno (en Gb.) un CD tiene la capacidad de 700 Mb. de capacidad.

También podría gustarte