SlideShare una empresa de Scribd logo
1 de 88
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 1
PROGRAMACION DIGITAL
LABORATORIOS
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Introducción
1. Competencias
2. Metodología
3. Cronograma
4. Temas
5. Software
6. Entorno
4. Evaluación
5. Bibliografía
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 2
1: Silabo ABET de Programación Digital 2016-II
Competencias del Curso1
1. Desarrolla la secuencia del procesamiento de datos, la generación
de información y su interpretación.
2. Razona, planea y construye una secuencia lógica de procesos
utilizando estructuras de selección e iteración.
3. Conoce nuevas técnicas y herramientas que permita su aplicación
en la solución de problemas.
4. Conoce y utiliza un lenguaje de programación a través de prácticas
de edición y ejecución de programas estructurados.
5. Comprende el comportamiento de otros programas de cómputo
durante su utilización.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 3
1: Silabo ABET de Programación Digital 2016-II
Metodología1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 4
• En las sesiones de laboratorio, el alumno experimenta la
creación y ejecución de un programa real, mediante la
interacción directa con el computador.
• El docente de laboratorio dirige al alumno en el desarrollo
de los programas y lo evalúa en dos prácticas de uso de
la computadora previo a las evaluaciones de los
Exámenes Parcial y Final.
• El docente se apoya de medios escritos y audio-visuales,
como separatas, pizarra y proyecciones multimedia así
como el uso del Aula Virtual
1: Silabo ABET de Programación Digital 2016-II
Cronograma de Laboratorios1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 5
1: Silabo ABET de Programación Digital 2016-II
Temas de Laboratorios1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 6
1: Silabo semanal CB412-G Programación Digital 2014-II
Semana Laboratorio Tema
1 0 Introducción. Entorno PSeInt. Entorno DEV.
2 1 Creación y Ejecución de Diagramas de Flujo. Paso a paso. Prueba de Escritorio.
3 2 Edición, Compilación y Ejecución de un programa C. Elementos del lenguaje C.
4 3 Sentencias de entrada y salida. Decisiones y bifurcaciones.
5 4 Ciclos controlados y de selección. Principales funciones matemáticas.
6 5 Archivos tipo texto. Arreglos lineales.
7 PL1 Primera Práctica de Laboratorio
8 EXAMEN PARCIAL
9 6 Arreglos bidimensionales.
10 7 Funciones.
11 8 Paso de parámetros.
12 9 Cadenas de caracteres.
13 10 Arreglos de cadenas.
14 11 Registros.
15 PL2 Segunda Práctica de Laboratorio
16 EXAMEN FINAL
Software1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 7
PSeInt
Construcción y Ejecución de
Diagramas de Flujo.
http://pseint.sourceforge.net/
DEV C++
Edición y Ejecución de
Programas en lenguaje C
https://sourceforge.net/projects/orwelldevcpp/
1: Portables y con licencia GNU General Public License (GPL)
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 8
Entorno del PSeInt
MENU
HERRAMIENTAS
AREA DE
TRABAJO
LINEA DE
ESTADO
COMANDOS
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 9
Entorno del DEV C++
MENU
HERRAMIENTAS
AREA DE
TRABAJO
LINEA DE
ESTADO
Evaluación1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 10
1: Silabo ABET de Programación Digital 2016-II
Bibliografía1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 11
1. MARZAL, Andrés; GRACIA, Isabel
Introducción a la Programación con C
Departamento de Lenguajes y Sistemas Informáticos
Universitat Jaume I, España, 2004.
2. KERNIGHAN, Brian; RITCHIE, Dennis
El Lenguaje de Programación C
Editorial Prentice Hall, Estados Unidos, 1991.
3. DEL VALLE SOTELO, Juan Carlos
Álgebra Lineal para Estudiantes de Ingeniería y Ciencias
Editorial McGraw Hill, México, 2011.
1: Silabo ABET de Programación Digital 2016-II
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 12
PROGRAMACION DIGITAL
LABORATORIO N° 1
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Laboratorio N°1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 13
Objetivos
1. Utilizar el PSeInt para la creación y ejecución de
Diagramas de Flujo.
2. Conocer las facilidades del PSeInt para la Ejecución
Paso a Paso y Prueba de Escritorio.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 14
Entorno del PSeInt
MENU
HERRAMIENTAS
AREA DE
TRABAJO
LINEA DE
ESTADO
COMANDOS
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 15
Creación de Diagramas de Flujo
AREA DE
TRABAJO
COMANDOS
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 16
Creación de
Diagramas
de Flujo
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 17
Operadores y Funciones
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 18
Ejecución del Diagrama de Flujo
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 19
Ejecución paso a paso
Permite realizar un seguimiento más detallado de la
ejecución del diagrama de flujo, observando en tiempo
real las instrucciones y el orden en que se ejecutan.
También se puede observar el contenido de variables o
expresiones durante el proceso.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 20
Ejecución paso a paso
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 21
Prueba de Escritorio
Ejercicios
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 22
1. Se leen las coordenadas (x, y) de un triángulo y un
punto P (px, py). Determinar si el punto P está en el
interior o no del triángulo.
2. Dados n valores x, determinar el mayor valor, el menor
valor, el promedio de valores y la desviación estándar.
P
x
Ejercicios
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 23
3. Telefónica del Perú ha diseñado los siguientes planes
para sus usuarios de telefonía fija:
Determinar la cantidad de minutos libres que le
corresponden según el plan que elija, el pago por los
minutos adicionales, el monto de descuento y el monto
que debe pagar un usuario. Considere la posibilidad
que el usuario no tenga que pagar nada porque sus
minutos consumidos ya estén cubiertos por sus
minutos libres.
Plan Min. Libres Costo por min. adicional % Dscto.
1 300 0.10 0%
2 200 0.08 5%
3 100 0.05 10%
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 24
PROGRAMACION DIGITAL
LABORATORIO N° 2
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Laboratorio N°2
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 25
Objetivos
1. Utilizar el DEV C++ para Codificar, Compilar y
Ejecutar un programa.
2. Familiarizarse con los elementos del lenguaje
C
Ejercicio1
Dados los datos de dos circunferencias:
C1x C1y r1 //coordenadas del centro y radio de
C2x C2y r2 //la circunferencia
Determinar si estas circunferencias son
TANGENTES, SECANTES o simplemente no hay
contacto entre ellas.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 26
Entrada Salida
C1x, C1y, r1 “Tangentes”
C2x, C2y, r2 “Secantes”
“No hay contacto”
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 27
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 28
Codigo PSeInt
Proceso Circunferencias
Leer c1x,c1y,r1
Leer c2x,c2y,r2
d<-rc((c1x-c2x)^2+(c1y-c2y)^2)
Si d<r1+r2 Y d>abs(r1-r2) Entonces
Escribir 'Son Secantes'
Sino
Si d>r1+r2 O d<abs(r1-r2) Entonces
Escribir 'No se Tocan'
Sino
Escribir 'Son Tangentes'
FinSi
FinSi
FinProceso
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 29
Exportación a C
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 30
Codigo C
//Circunferencias Tangentes, Secantes o no se Tocan
#include<stdio.h>
#include<math.h>
int main() {
float c1x,c1y,c2x,c2y,d,r1,r2;
scanf("%f %f %f",&c1x,&c1y,&r1);
scanf("%f %f %f",&c2x,&c2y,&r2);
d = sqrt(pow((c1x-c2x),2)+pow((c1y-c2y),2));
if (d<r1+r2 && d>abs(r1-r2)) {
printf("Son Secantesn");
} else {
if (d>r1+r2 || d<abs(r1-r2)) {
printf("No se Tocann");
} else {
printf("Son Tangentesn");
}
}
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 31
Entorno del DEV C++
MENU
HERRAMIENTAS
AREA DE
TRABAJO
LINEA DE
ESTADO
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 32
Nuevo  Archivo Fuente
Proyecto
Abrir Proyecto o Archivo…
Abrir Archivo Reciente
Grabar
Grabar Como…
Grabar Todo
Cerrar
Cerrar Todo
Propiedades
Importar
Exportar
Imprimir…
Configura Impresión
Salir
Menu File (Archivo)
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 33
Compilar
Compila el archivo actual
Ejecutar
Parámetros…
Compilar y Ejecutar
Reconstruir Todo
Revisar Sintáxis
Limpiar Resultados
Análisis de Perfil
Reiniciar ejecución del programa
Menu Execute (Ejecutar)
Lenguaje de Programación C
Conjunto de instrucciones que se ejecutan de
modo secuencial.
El ANSI C es un lenguaje de alto nivel, es decir
está mucho más cerca del lenguaje natural.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 34
ANSI: American National Standards Institute
Directivas del Pre-procesador
int main(){
…
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 35
Inicio
Fin
…
#include<stdio.h> : Incluye la librería de
funciones de Entrada/Salida del archivo de
cabecera stdio.h
#define PI 3.14159 : Define la constante PI
Terminal
Declaración de Variables
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 36
tipo variable;
char caracter
int entero
long entero largo
float punto flotante
double doble precisión
Comentarios
//Comentario en una línea
/*Comentario en
varias líneas*/
Operadores
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 37
Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
% Resto división entera
Incrementales
++ Incremento en 1
-- Decremento en 1
Lógicos
&& Y
|| O
! Negación
Primarios
( ) Llamada función
[ ] Indice de arreglo
. Miembro estructura
Permiten realizar operaciones en el programa.
Operadores
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 38
Relacionales
== Igual que
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
!= No igual que
De Asignación
= Asignación simple
+= Asignación suma
-= Asignación resta
*= Asignación
multiplicación
/= Asignación división
%= Asignación resto
Permiten realizar operaciones en el programa.
Procesos
var=expresion;
var=var+delta;
var+=delta;
var=var+1;
var++;
a=b%2;
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 39
var  expresión
var  var + delta
var  var + 1
a  b Resto 2
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 40
Compilación (Execute  Compile)
Ejecución (Execute  Run)
El archivo ejecutable es independiente del DEV.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 41
Errores de Sintáxis
prrintf("n Hola mundo ");
Errores de Ejecución
c=15/0; /*No tiene errores de sintaxis*/
Errores Lógicos
Si en vez de la instrucción:
a=b+c;
hubiera escrito:
a=b*c;
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 42
PROGRAMACION DIGITAL
LABORATORIO N° 3
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Laboratorio N°3
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 43
Objetivos
Utilizar Sentencias de Ejecución:
• Lectura
• Escritura
• Decisión
• Selector múltiple
Lectura
scanf(“formato”,&Var);
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 44
Leer
Var
Especificadores de formato
%c carácter
%d entero
%ld entero largo
%f punto flotante
%lf doble precisión
%g punto flotante o notación científica
con signo, el que sea más corto
Ejemplos de Lectura
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 45
scanf(“%d”,&n);
scanf(“%f”,&x1);
scanf(“%f”,&y1);
scanf(“%d %f %f”,&n,&x1,&y1);
Leer
n
Leer
x1,y1
Escritura
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 46
Escribir
Var
printf(“formato”,Var);
Secuencias de Escape
n salto de línea
t tabulador
” doble comilla
 diagonal
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 47
Especificadores
Adicionales
Efecto
Ancho Justifica a la derecha
.Precisión Redondea al n° de decimales
- Justifica a la izquierda
+ Muestra el signo del valor
0 Llena con ceros según el ancho
Especificadores de Formato
Ejemplos de Escritura
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 48
printf(“Perimetro= %f”,perim);
printf(“Perimetro= %fn”,d);
printf(“Perimetro= %.3fn”,d);
printf(“Perimetro= %7.3fn”,d);
printf(“Lado menor= L%dn”,lmin);
Escribir
‘Perimetro=’,perim
Escribir
‘Lado menor= L’,lmin
Decisión
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 49
if(Condición){
Sentencias V;
}
else {
Sentencias F;
}
Condición
V F
… …
Sentencias F
Sentencias V
Ejemplo de Decisión
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 50
Determinar los créditos permitidos para un alumno
teniendo en cuenta su promedio ponderado:
Promedio Ponderado (PP) de
los dos últimos ciclos
N° de Créditos
[13, 20] 28
[10, 13> 26
[07, 10> 20
[00, 07> 16
Codificación
//Créditos permitidos según el promedio ponderado
#include<stdio.h>
int main(){
float pp;
int credmax;
printf("Promedio= ");
scanf("%f",&pp);
if(pp<7) credmax=16;
else if(pp<10) credmax=20;
else if(pp<13) credmax=26;
else if(pp<=20) credmax=28;
printf("Creditos permitidos=%dn",credmax);
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 51
switch(expr){
case cte1:
sent1;
break;
case cte2:
sent2;
break;
…
case cten:
sentn;
break;
[default:
sent;]
}
Selector Múltiple
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 52
~
~
expr
sent1 sent2 … sentn sent
cte1 cte2 cten default
Ejemplo de Selector Múltiple
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 53
Dado un número de mes, mostrar en pantalla el
nombre del mes.
Nro Nombre
1 ENERO
2 FEBRERO
… …
12 DICIEMBRE
Codificación
//Nombre del mes
#include<stdio.h>
int main(){
int mes;
printf("Mes= "); scanf("%d",&mes);
switch(mes){
case 1: printf("ENEROn"); break;
case 2: printf("FEBREROn"); break;
case 3: printf("MARZOn"); break;
case 4: printf("ABRILn"); break;
case 5: printf("MAYOn"); break;
case 6: printf("JUNIOn"); break;
case 7: printf("JULIOn"); break;
case 8: printf("AGOSTOn"); break;
case 9: printf("SETIEMBREn"); break;
case 10: printf("OCTUBREn"); break;
case 11: printf("NOVIEMBREn"); break;
case 12: printf("DICIEMBREn"); break;
default: printf("ERRORn");
}
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 54
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 55
PROGRAMACION DIGITAL
LABORATORIO N° 4
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Laboratorio N°4
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 56
Objetivos
Utilizar:
• Funciones Matemáticas
• Ciclos controlados y de selección
Funciones Matemáticas
El ANSI C tiene una biblioteca estándar de
funciones matemáticas.
Se debe incluir al comienzo del programa el
archivo math.h con la directiva de pre-procesador:
#include<math.h>
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 57
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 58
Funciones Matemáticas
Función Descripción
double pow(double x, double y) xy
double exp(double x) ex
double log(double x) ln(x)
double log10(double x) log(x)
Función Descripción
double sin(double x) Seno(x), x en radianes
double cos(double x) Coseno(x)
double tan(double x) Tangente(x)
double asin(double x) arco seno(x) en radianes
double acos(double x) arco coseno(x)
double atan(double x) arco tangente(x)
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 59
Función Descripción
double sinh(double x) seno hiperbólico(x), x en radianes
double cosh(double x) coseno hiperbólico(x)
double tanh(double x) tangente hiperbólica(x)
Función Descripción
double sqrt(double x) x (x positivo)
double abs(int x) |x| (entero x)
double fabs(double x) |x| (double x)
double ceil(double x) Redondea x hacia arriba al entero
mas cercano
double floor(double x) Redondea x hacia abajo al entero
mas cercano
Funciones Matemáticas
Bucle condición al inicio
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 60
while(Condición){
Sentencias;
}
Condición
Sentencias
~
V
F
~
Bucle condición al final
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 61
do {
Sentencias;
}
while(Condición);
Condición
Sentencias
~
V
F
~
Bucle de repetición
Permite repetir una sentencia o bloque de
sentencias, mientras se cumple una determinada
condición.
for(inicial; condición; cambio){
sentencia;
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 62
sentencia
~
~
variable ← v_inicial .. v_final, cambio
Ejemplo de Bucle de repetición
Escribir un programa que
calcule N!
…
for(i=1; i<=N; i++){
F=F*i;
}
…
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 63
F ← F * i
~
~
i←1..N
F ← 1
Leer
N
Inicio
Fin
Escribir
F
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 64
Ejercicio 1
Dada una poligonal abierta de N vértices, se desea
calcular sus ángulos de deflexión 1, 2, ... (en
grados)
X Y
X1 Y1
X2 Y2
… …
XN YN
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 65
Ejecución
10
5.
11
63
0°
1
1
1
.8
4
3
7
1
°
9
4
.
6
4
9
1
2
°
1
2
3
4
5
N° X Y
1 78 89
2 128 162
3 192 87
4 224 148
5 303 98
Ejercicio 2
Dados las coordenadas de una poligonal cerrada
de n puntos (x,y). Determinar su perímetro y su
menor lado.
Entrada
n
x1 y1
x2 y2
…
xn yn
Salida
Perímetro = 123.456
Lado menor = L3
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 66
(x1,y1)
(x2,y2)
(x3,y3)
…
X
Y
L1
L2
L3
…
Ln
2
Diagrama de Flujo
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 67
1
3
3
Pseudo código PSeInt
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 68
Proceso Poligonal_Cerrada
Escribir 'Nro Vertices'
Leer n
Escribir 'Vertice1'
Leer x1,y1
x1copia <-x1
y1copia <- y1
i<-2
perim<-0
Mientras i<=n Hacer
Escribir 'Vertice',i
Leer x2,y2
d<-RC((x1-x2)^2+(y1-y2)^2)
perim<-perim+d
Si i=2 Entonces
dmin<-d
lmin<-1
Sino
Si d<dmin Entonces
dmin<-d
lmin<-i-1
FinSi
FinSi
x1<-x2
y1<-y2
i<-i+1
FinMientras
d<-RC((x1copia-x2)^2+(y1copia-y2)^2)
perim<-perim+d
Si d<dmin Entonces
dmin<-d
lmin<-n
FinSi
Escribir 'Perimetro= ',perim
Escribir 'Lado Menor= L',lmin
FinProceso
Codificación C
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 69
#include<stdio.h>
#include<math.h>
int main() {
float d,dmin,perim,x1,x1copia,x2,y1,y1copia,y2; int i,lmin,n;
printf("Nro Vertices: "); scanf("%d",&n);
printf("Vertice1: "); scanf("%f %f",&x1,&y1);
x1copia = x1; y1copia = y1; i = 2; perim = 0;
while (i<=n) {
printf("Vertice%d: ",i); scanf("%f %f",&x2,&y2);
d = sqrt(pow((x1-x2),2)+pow((y1-y2),2));
perim = perim+d;
if (i==2) {
dmin = d; lmin = 1;
} else {
if (d<dmin) {
dmin = d; lmin = i-1;
}
}
x1 = x2; y1 = y2; i = i+1;
}
d = sqrt(pow((x1copia-x2),2)+pow((y1copia-y2),2));
perim = perim+d;
if (d<dmin) {
dmin = d; lmin = n;
}
printf("Perimetro = %7.3fn",perim); printf("Lado Menor= L%dn",lmin);
}
2. Realizar un programa que encuentre el valor de
e con un error menor a 10-4, dado que el valor
del exponencial para un valor de x se puede
expresar mediante la serie:
𝑒𝑥 = 1 + 𝑥 +
𝑥2
2!
+
𝑥3
3!
+ ⋯
3. Dadas las coordenadas (x,y) de una poligonal
convexa de n puntos, calcular su área y el lado
de mayor longitud.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 70
Ejercicios Propuestos
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 71
PROGRAMACION DIGITAL
LABORATORIO N° 5
WILFREDO CUPE ROMÁN
CICLO 2016-II
UNIVERSIDADNACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA CIVIL
Laboratorio N°5
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 72
Objetivos
Utilizar:
• Arreglo lineal
• Archivo tipo texto
Arreglo Lineal
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 73
Tiene un solo subíndice.
Declaración:
tipo nombre_arreglo[N° elementos];
Ejemplo: int x[50];
x0 x1 x2
… x49
50 elementos
subíndice
Arreglo Lineal
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 74
Lectura y Escritura:
scanf(“formato”,&elemento[i-ésimo]);
printf(“formato”,elemento[i-ésimo]);
Ejemplo:
scanf(“%d”, &x[i]);
printf(“%d”, x[i]);
Leer
xi
~
~
Escribir
xi
~
Ejercicio1
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 75
Dado un arreglo de n elementos, determinar la media
y la desviación estándar.
Entradas Salidas
N
xi (i 1..N)
media
desv
Codificación C
/*Obtiene la media y desviacion de n números x*/
#include<stdio.h>
#include<math.h>
int main()
{ int n,i; double s=0,x[100],media,d=0,desv;
printf("Ingrese n:" ); scanf("%d",&n);
for (i=1;i<=n;i++) {
printf("x%d: ",i); scanf("%lf",&x[i]);
s=s+x[i];
}
media=s/n;
for (i=1;i<=n;i++) {
d=d+(x[i]-media)*(x[i]-media);
}
desv=sqrt(d/(n-1));
printf("Media = %8.2lfnDesviacion = %8.2lfn",media,desv);
system("pause");
}
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 76
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 77
Ejecución
Ingrese n:6
x1: 4
x2: 1
x3: 11
x4: 13
x5: 2
x6: 7
Media = 6.33
Desviacion = 4.89
Presione una tecla para continuar . . .
Archivo Tipo Texto
Esta formado por un conjunto de caracteres
ASCII organizados secuencialmente.
Utilizamos el archivo para entrada y/o salida del
programa.
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 78
Programa
Archivo de
Datos
ENTRADA
Archivo de
Resultados
SALIDA
1. Declarar variable FILE
FILE *var_archi;
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 79
2. Abrir el Archivo
var_archi=fopen(archivo, modo);
Modo
Apertura
Descripción
“r” Abre un Archivo para lectura (ENTRADA)
“w” Crea un Archivo para escritura (SALIDA)
“a” Abre un Archivo para añadir al final (SALIDA)
3. Leer y/o Escribir
fscanf(var_archi, “formato”, &variable);
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 80
fprintf(var_archi, “formato”, expresión);
4. Cerrar el Archivo
fclose(var_archi);
_fcloseall();
feof(var_archi) será Verdadero si se alcanzó el EOF y
será Falso si aún no se alcanza.
!feof(var_archi) será Verdadero mientras no se alcance
el EOF.
Fin de Archivo para archivos de lectura
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 81
negación
Archivo
de
Lectura
inicio
EOF
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 82
Lectura hasta el fin de archivo
while(!feof(var_archi)){
//Sentencias de Lectura
…
}
_______________________________________________
do {
//Sentencias de Lectura
…
} while(!feof(var_archi));
Ejercicio 1
Un archivo contiene las coordenadas (x, y) de los
puntos de una poligonal cerrada. Determinar los
ángulo internos de la poligonal si no se conoce la
cantidad de puntos.
Poligonal.txt
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 83
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5
… (x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
X
Y
…
Ejercicio2
Un archivo contiene las coordenadas (x, y) de los
puntos de una poligonal cerrada. Determinar si es
una poligonal cóncava o convexa. No se conoce
la cantidad de puntos.
Poligonal.txt
PROGRAMACION DIGITAL - CB412 CICLO 2015-1 84
10 13
11 06
20 12
17 21
09 18
05 16
…
Ejercicio3
Un archivo contiene los promedios de los
alumnos FIC. Se pide determinar la cantidad de
aprobados, desaprobados y dado un código
ingresado por teclado mostrar en pantalla su
promedio.
Promedios20132.txt
PROGRAMACION DIGITAL - CB412 CICLO 2015-1 85
codigo letra promedio
20090205 K 11.553
20112053 C 11.559
20054511 H 08.506
……
Ejercicio4
Se tiene registrado las marcaciones de un
empleado (fecha, hora de entrada y de salida) en
el archivo Marca.txt, se desea guardar en otro
archivo las horas trabajadas en el mes.
Marca.txt Horastrab.txt
PROGRAMACION DIGITAL - CB412 CICLO 2015-1 86
2014-04-03 09:58:49
2014-04-03 21:04:45
2014-04-04 10:19:53
2014-04-04 18:31:02
2014-04-05 10:26:15
2014-04-05 18:30:53
……
2014-04-03 11:05:56
2014-04-04 8:11:09
2014-04-05 8:04:38
……
Ejercicio5
Escribir un programa que escriba en un archivo un
triángulo como el de la figura. El dato del programa
será la altura del triángulo.
h= 5
Triangulo.txt
PROGRAMACION DIGITAL - CB412 CICLO 2015-1 87
*
* *
* *
* *
*********
Ejercicio Propuesto
Un archivo contiene las coordenadas (x, y) de los
puntos de una poligonal. Escribir un programa
que genere un archivo script (*.SCR) para dibujar
los puntos (x, y) en AutoCAD.
Puntos.txt Puntos.scr AutoCAD
PROGRAMACION DIGITAL - CB412 CICLO 2016-2 88
10 13
11 06
20 12
17 21
09 18
05 16
…
POINT
10,13
POINT
11,06
…
ZOOM
E
PDMODE
35
10,13
9,18
5,16

Más contenido relacionado

Similar a Laboratorios CB412 2016-2 Primera Parte.pptx

Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareIsabel Gómez
 
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01Cap1 resolucionproblemasconcomputador-090407121107-phpapp01
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01Frank Diego Quispe Vigo
 
Temario lenguaje ensamblador
Temario lenguaje ensambladorTemario lenguaje ensamblador
Temario lenguaje ensambladorFrancisco Cardona
 
Aprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primeroAprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primeroAndy Juan Sarango Veliz
 
programacion c++ basico
programacion c++  basicoprogramacion c++  basico
programacion c++ basicoLoyda PM
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programaTensor
 
1 conceptos generales de_programacion
1 conceptos generales de_programacion1 conceptos generales de_programacion
1 conceptos generales de_programacionOscar William Coral
 
Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2Franklin J.
 
APLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200EAPLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200ERafael Garcia
 

Similar a Laboratorios CB412 2016-2 Primera Parte.pptx (20)

Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de Software
 
El mundo del lenguaje c++
El mundo del lenguaje c++El mundo del lenguaje c++
El mundo del lenguaje c++
 
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01Cap1 resolucionproblemasconcomputador-090407121107-phpapp01
Cap1 resolucionproblemasconcomputador-090407121107-phpapp01
 
Temario lenguaje ensamblador
Temario lenguaje ensambladorTemario lenguaje ensamblador
Temario lenguaje ensamblador
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de C
Tutorial de CTutorial de C
Tutorial de C
 
Aprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primeroAprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primero
 
C++ basico subido JHS
C++ basico subido JHSC++ basico subido JHS
C++ basico subido JHS
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de c++
Tutorial de c++Tutorial de c++
Tutorial de c++
 
programacion c++ basico
programacion c++  basicoprogramacion c++  basico
programacion c++ basico
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programa
 
Informe1
Informe1Informe1
Informe1
 
Fase i requerimientos
Fase i requerimientosFase i requerimientos
Fase i requerimientos
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Cocomo
CocomoCocomo
Cocomo
 
1 conceptos generales de_programacion
1 conceptos generales de_programacion1 conceptos generales de_programacion
1 conceptos generales de_programacion
 
Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2
 
Estimacion de costos del Software
Estimacion de costos del SoftwareEstimacion de costos del Software
Estimacion de costos del Software
 
APLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200EAPLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200E
 

Último

La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 

Último (20)

La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 

Laboratorios CB412 2016-2 Primera Parte.pptx

  • 1. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 1 PROGRAMACION DIGITAL LABORATORIOS WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 2. Introducción 1. Competencias 2. Metodología 3. Cronograma 4. Temas 5. Software 6. Entorno 4. Evaluación 5. Bibliografía PROGRAMACION DIGITAL - CB412 CICLO 2016-2 2 1: Silabo ABET de Programación Digital 2016-II
  • 3. Competencias del Curso1 1. Desarrolla la secuencia del procesamiento de datos, la generación de información y su interpretación. 2. Razona, planea y construye una secuencia lógica de procesos utilizando estructuras de selección e iteración. 3. Conoce nuevas técnicas y herramientas que permita su aplicación en la solución de problemas. 4. Conoce y utiliza un lenguaje de programación a través de prácticas de edición y ejecución de programas estructurados. 5. Comprende el comportamiento de otros programas de cómputo durante su utilización. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 3 1: Silabo ABET de Programación Digital 2016-II
  • 4. Metodología1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 4 • En las sesiones de laboratorio, el alumno experimenta la creación y ejecución de un programa real, mediante la interacción directa con el computador. • El docente de laboratorio dirige al alumno en el desarrollo de los programas y lo evalúa en dos prácticas de uso de la computadora previo a las evaluaciones de los Exámenes Parcial y Final. • El docente se apoya de medios escritos y audio-visuales, como separatas, pizarra y proyecciones multimedia así como el uso del Aula Virtual 1: Silabo ABET de Programación Digital 2016-II
  • 5. Cronograma de Laboratorios1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 5 1: Silabo ABET de Programación Digital 2016-II
  • 6. Temas de Laboratorios1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 6 1: Silabo semanal CB412-G Programación Digital 2014-II Semana Laboratorio Tema 1 0 Introducción. Entorno PSeInt. Entorno DEV. 2 1 Creación y Ejecución de Diagramas de Flujo. Paso a paso. Prueba de Escritorio. 3 2 Edición, Compilación y Ejecución de un programa C. Elementos del lenguaje C. 4 3 Sentencias de entrada y salida. Decisiones y bifurcaciones. 5 4 Ciclos controlados y de selección. Principales funciones matemáticas. 6 5 Archivos tipo texto. Arreglos lineales. 7 PL1 Primera Práctica de Laboratorio 8 EXAMEN PARCIAL 9 6 Arreglos bidimensionales. 10 7 Funciones. 11 8 Paso de parámetros. 12 9 Cadenas de caracteres. 13 10 Arreglos de cadenas. 14 11 Registros. 15 PL2 Segunda Práctica de Laboratorio 16 EXAMEN FINAL
  • 7. Software1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 7 PSeInt Construcción y Ejecución de Diagramas de Flujo. http://pseint.sourceforge.net/ DEV C++ Edición y Ejecución de Programas en lenguaje C https://sourceforge.net/projects/orwelldevcpp/ 1: Portables y con licencia GNU General Public License (GPL)
  • 8. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 8 Entorno del PSeInt MENU HERRAMIENTAS AREA DE TRABAJO LINEA DE ESTADO COMANDOS
  • 9. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 9 Entorno del DEV C++ MENU HERRAMIENTAS AREA DE TRABAJO LINEA DE ESTADO
  • 10. Evaluación1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 10 1: Silabo ABET de Programación Digital 2016-II
  • 11. Bibliografía1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 11 1. MARZAL, Andrés; GRACIA, Isabel Introducción a la Programación con C Departamento de Lenguajes y Sistemas Informáticos Universitat Jaume I, España, 2004. 2. KERNIGHAN, Brian; RITCHIE, Dennis El Lenguaje de Programación C Editorial Prentice Hall, Estados Unidos, 1991. 3. DEL VALLE SOTELO, Juan Carlos Álgebra Lineal para Estudiantes de Ingeniería y Ciencias Editorial McGraw Hill, México, 2011. 1: Silabo ABET de Programación Digital 2016-II
  • 12. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 12 PROGRAMACION DIGITAL LABORATORIO N° 1 WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 13. Laboratorio N°1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 13 Objetivos 1. Utilizar el PSeInt para la creación y ejecución de Diagramas de Flujo. 2. Conocer las facilidades del PSeInt para la Ejecución Paso a Paso y Prueba de Escritorio.
  • 14. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 14 Entorno del PSeInt MENU HERRAMIENTAS AREA DE TRABAJO LINEA DE ESTADO COMANDOS
  • 15. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 15 Creación de Diagramas de Flujo AREA DE TRABAJO COMANDOS
  • 16. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 16 Creación de Diagramas de Flujo
  • 17. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 17 Operadores y Funciones
  • 18. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 18 Ejecución del Diagrama de Flujo
  • 19. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 19 Ejecución paso a paso Permite realizar un seguimiento más detallado de la ejecución del diagrama de flujo, observando en tiempo real las instrucciones y el orden en que se ejecutan. También se puede observar el contenido de variables o expresiones durante el proceso.
  • 20. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 20 Ejecución paso a paso
  • 21. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 21 Prueba de Escritorio
  • 22. Ejercicios PROGRAMACION DIGITAL - CB412 CICLO 2016-2 22 1. Se leen las coordenadas (x, y) de un triángulo y un punto P (px, py). Determinar si el punto P está en el interior o no del triángulo. 2. Dados n valores x, determinar el mayor valor, el menor valor, el promedio de valores y la desviación estándar. P x
  • 23. Ejercicios PROGRAMACION DIGITAL - CB412 CICLO 2016-2 23 3. Telefónica del Perú ha diseñado los siguientes planes para sus usuarios de telefonía fija: Determinar la cantidad de minutos libres que le corresponden según el plan que elija, el pago por los minutos adicionales, el monto de descuento y el monto que debe pagar un usuario. Considere la posibilidad que el usuario no tenga que pagar nada porque sus minutos consumidos ya estén cubiertos por sus minutos libres. Plan Min. Libres Costo por min. adicional % Dscto. 1 300 0.10 0% 2 200 0.08 5% 3 100 0.05 10%
  • 24. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 24 PROGRAMACION DIGITAL LABORATORIO N° 2 WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 25. Laboratorio N°2 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 25 Objetivos 1. Utilizar el DEV C++ para Codificar, Compilar y Ejecutar un programa. 2. Familiarizarse con los elementos del lenguaje C
  • 26. Ejercicio1 Dados los datos de dos circunferencias: C1x C1y r1 //coordenadas del centro y radio de C2x C2y r2 //la circunferencia Determinar si estas circunferencias son TANGENTES, SECANTES o simplemente no hay contacto entre ellas. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 26 Entrada Salida C1x, C1y, r1 “Tangentes” C2x, C2y, r2 “Secantes” “No hay contacto”
  • 27. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 27
  • 28. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 28 Codigo PSeInt Proceso Circunferencias Leer c1x,c1y,r1 Leer c2x,c2y,r2 d<-rc((c1x-c2x)^2+(c1y-c2y)^2) Si d<r1+r2 Y d>abs(r1-r2) Entonces Escribir 'Son Secantes' Sino Si d>r1+r2 O d<abs(r1-r2) Entonces Escribir 'No se Tocan' Sino Escribir 'Son Tangentes' FinSi FinSi FinProceso
  • 29. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 29 Exportación a C
  • 30. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 30 Codigo C //Circunferencias Tangentes, Secantes o no se Tocan #include<stdio.h> #include<math.h> int main() { float c1x,c1y,c2x,c2y,d,r1,r2; scanf("%f %f %f",&c1x,&c1y,&r1); scanf("%f %f %f",&c2x,&c2y,&r2); d = sqrt(pow((c1x-c2x),2)+pow((c1y-c2y),2)); if (d<r1+r2 && d>abs(r1-r2)) { printf("Son Secantesn"); } else { if (d>r1+r2 || d<abs(r1-r2)) { printf("No se Tocann"); } else { printf("Son Tangentesn"); } } }
  • 31. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 31 Entorno del DEV C++ MENU HERRAMIENTAS AREA DE TRABAJO LINEA DE ESTADO
  • 32. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 32 Nuevo  Archivo Fuente Proyecto Abrir Proyecto o Archivo… Abrir Archivo Reciente Grabar Grabar Como… Grabar Todo Cerrar Cerrar Todo Propiedades Importar Exportar Imprimir… Configura Impresión Salir Menu File (Archivo)
  • 33. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 33 Compilar Compila el archivo actual Ejecutar Parámetros… Compilar y Ejecutar Reconstruir Todo Revisar Sintáxis Limpiar Resultados Análisis de Perfil Reiniciar ejecución del programa Menu Execute (Ejecutar)
  • 34. Lenguaje de Programación C Conjunto de instrucciones que se ejecutan de modo secuencial. El ANSI C es un lenguaje de alto nivel, es decir está mucho más cerca del lenguaje natural. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 34 ANSI: American National Standards Institute
  • 35. Directivas del Pre-procesador int main(){ … } PROGRAMACION DIGITAL - CB412 CICLO 2016-2 35 Inicio Fin … #include<stdio.h> : Incluye la librería de funciones de Entrada/Salida del archivo de cabecera stdio.h #define PI 3.14159 : Define la constante PI Terminal
  • 36. Declaración de Variables PROGRAMACION DIGITAL - CB412 CICLO 2016-2 36 tipo variable; char caracter int entero long entero largo float punto flotante double doble precisión Comentarios //Comentario en una línea /*Comentario en varias líneas*/
  • 37. Operadores PROGRAMACION DIGITAL - CB412 CICLO 2016-2 37 Aritméticos + Suma - Resta * Multiplicación / División % Resto división entera Incrementales ++ Incremento en 1 -- Decremento en 1 Lógicos && Y || O ! Negación Primarios ( ) Llamada función [ ] Indice de arreglo . Miembro estructura Permiten realizar operaciones en el programa.
  • 38. Operadores PROGRAMACION DIGITAL - CB412 CICLO 2016-2 38 Relacionales == Igual que < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que != No igual que De Asignación = Asignación simple += Asignación suma -= Asignación resta *= Asignación multiplicación /= Asignación división %= Asignación resto Permiten realizar operaciones en el programa.
  • 39. Procesos var=expresion; var=var+delta; var+=delta; var=var+1; var++; a=b%2; PROGRAMACION DIGITAL - CB412 CICLO 2016-2 39 var  expresión var  var + delta var  var + 1 a  b Resto 2
  • 40. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 40 Compilación (Execute  Compile) Ejecución (Execute  Run) El archivo ejecutable es independiente del DEV.
  • 41. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 41 Errores de Sintáxis prrintf("n Hola mundo "); Errores de Ejecución c=15/0; /*No tiene errores de sintaxis*/ Errores Lógicos Si en vez de la instrucción: a=b+c; hubiera escrito: a=b*c;
  • 42. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 42 PROGRAMACION DIGITAL LABORATORIO N° 3 WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 43. Laboratorio N°3 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 43 Objetivos Utilizar Sentencias de Ejecución: • Lectura • Escritura • Decisión • Selector múltiple
  • 44. Lectura scanf(“formato”,&Var); PROGRAMACION DIGITAL - CB412 CICLO 2016-2 44 Leer Var Especificadores de formato %c carácter %d entero %ld entero largo %f punto flotante %lf doble precisión %g punto flotante o notación científica con signo, el que sea más corto
  • 45. Ejemplos de Lectura PROGRAMACION DIGITAL - CB412 CICLO 2016-2 45 scanf(“%d”,&n); scanf(“%f”,&x1); scanf(“%f”,&y1); scanf(“%d %f %f”,&n,&x1,&y1); Leer n Leer x1,y1
  • 46. Escritura PROGRAMACION DIGITAL - CB412 CICLO 2016-2 46 Escribir Var printf(“formato”,Var); Secuencias de Escape n salto de línea t tabulador ” doble comilla diagonal
  • 47. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 47 Especificadores Adicionales Efecto Ancho Justifica a la derecha .Precisión Redondea al n° de decimales - Justifica a la izquierda + Muestra el signo del valor 0 Llena con ceros según el ancho Especificadores de Formato
  • 48. Ejemplos de Escritura PROGRAMACION DIGITAL - CB412 CICLO 2016-2 48 printf(“Perimetro= %f”,perim); printf(“Perimetro= %fn”,d); printf(“Perimetro= %.3fn”,d); printf(“Perimetro= %7.3fn”,d); printf(“Lado menor= L%dn”,lmin); Escribir ‘Perimetro=’,perim Escribir ‘Lado menor= L’,lmin
  • 49. Decisión PROGRAMACION DIGITAL - CB412 CICLO 2016-2 49 if(Condición){ Sentencias V; } else { Sentencias F; } Condición V F … … Sentencias F Sentencias V
  • 50. Ejemplo de Decisión PROGRAMACION DIGITAL - CB412 CICLO 2016-2 50 Determinar los créditos permitidos para un alumno teniendo en cuenta su promedio ponderado: Promedio Ponderado (PP) de los dos últimos ciclos N° de Créditos [13, 20] 28 [10, 13> 26 [07, 10> 20 [00, 07> 16
  • 51. Codificación //Créditos permitidos según el promedio ponderado #include<stdio.h> int main(){ float pp; int credmax; printf("Promedio= "); scanf("%f",&pp); if(pp<7) credmax=16; else if(pp<10) credmax=20; else if(pp<13) credmax=26; else if(pp<=20) credmax=28; printf("Creditos permitidos=%dn",credmax); } PROGRAMACION DIGITAL - CB412 CICLO 2016-2 51
  • 52. switch(expr){ case cte1: sent1; break; case cte2: sent2; break; … case cten: sentn; break; [default: sent;] } Selector Múltiple PROGRAMACION DIGITAL - CB412 CICLO 2016-2 52 ~ ~ expr sent1 sent2 … sentn sent cte1 cte2 cten default
  • 53. Ejemplo de Selector Múltiple PROGRAMACION DIGITAL - CB412 CICLO 2016-2 53 Dado un número de mes, mostrar en pantalla el nombre del mes. Nro Nombre 1 ENERO 2 FEBRERO … … 12 DICIEMBRE
  • 54. Codificación //Nombre del mes #include<stdio.h> int main(){ int mes; printf("Mes= "); scanf("%d",&mes); switch(mes){ case 1: printf("ENEROn"); break; case 2: printf("FEBREROn"); break; case 3: printf("MARZOn"); break; case 4: printf("ABRILn"); break; case 5: printf("MAYOn"); break; case 6: printf("JUNIOn"); break; case 7: printf("JULIOn"); break; case 8: printf("AGOSTOn"); break; case 9: printf("SETIEMBREn"); break; case 10: printf("OCTUBREn"); break; case 11: printf("NOVIEMBREn"); break; case 12: printf("DICIEMBREn"); break; default: printf("ERRORn"); } } PROGRAMACION DIGITAL - CB412 CICLO 2016-2 54
  • 55. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 55 PROGRAMACION DIGITAL LABORATORIO N° 4 WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 56. Laboratorio N°4 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 56 Objetivos Utilizar: • Funciones Matemáticas • Ciclos controlados y de selección
  • 57. Funciones Matemáticas El ANSI C tiene una biblioteca estándar de funciones matemáticas. Se debe incluir al comienzo del programa el archivo math.h con la directiva de pre-procesador: #include<math.h> PROGRAMACION DIGITAL - CB412 CICLO 2016-2 57
  • 58. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 58 Funciones Matemáticas Función Descripción double pow(double x, double y) xy double exp(double x) ex double log(double x) ln(x) double log10(double x) log(x) Función Descripción double sin(double x) Seno(x), x en radianes double cos(double x) Coseno(x) double tan(double x) Tangente(x) double asin(double x) arco seno(x) en radianes double acos(double x) arco coseno(x) double atan(double x) arco tangente(x)
  • 59. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 59 Función Descripción double sinh(double x) seno hiperbólico(x), x en radianes double cosh(double x) coseno hiperbólico(x) double tanh(double x) tangente hiperbólica(x) Función Descripción double sqrt(double x) x (x positivo) double abs(int x) |x| (entero x) double fabs(double x) |x| (double x) double ceil(double x) Redondea x hacia arriba al entero mas cercano double floor(double x) Redondea x hacia abajo al entero mas cercano Funciones Matemáticas
  • 60. Bucle condición al inicio PROGRAMACION DIGITAL - CB412 CICLO 2016-2 60 while(Condición){ Sentencias; } Condición Sentencias ~ V F ~
  • 61. Bucle condición al final PROGRAMACION DIGITAL - CB412 CICLO 2016-2 61 do { Sentencias; } while(Condición); Condición Sentencias ~ V F ~
  • 62. Bucle de repetición Permite repetir una sentencia o bloque de sentencias, mientras se cumple una determinada condición. for(inicial; condición; cambio){ sentencia; } PROGRAMACION DIGITAL - CB412 CICLO 2016-2 62 sentencia ~ ~ variable ← v_inicial .. v_final, cambio
  • 63. Ejemplo de Bucle de repetición Escribir un programa que calcule N! … for(i=1; i<=N; i++){ F=F*i; } … PROGRAMACION DIGITAL - CB412 CICLO 2016-2 63 F ← F * i ~ ~ i←1..N F ← 1 Leer N Inicio Fin Escribir F
  • 64. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 64 Ejercicio 1 Dada una poligonal abierta de N vértices, se desea calcular sus ángulos de deflexión 1, 2, ... (en grados) X Y X1 Y1 X2 Y2 … … XN YN
  • 65. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 65 Ejecución 10 5. 11 63 0° 1 1 1 .8 4 3 7 1 ° 9 4 . 6 4 9 1 2 ° 1 2 3 4 5 N° X Y 1 78 89 2 128 162 3 192 87 4 224 148 5 303 98
  • 66. Ejercicio 2 Dados las coordenadas de una poligonal cerrada de n puntos (x,y). Determinar su perímetro y su menor lado. Entrada n x1 y1 x2 y2 … xn yn Salida Perímetro = 123.456 Lado menor = L3 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 66 (x1,y1) (x2,y2) (x3,y3) … X Y L1 L2 L3 … Ln
  • 67. 2 Diagrama de Flujo PROGRAMACION DIGITAL - CB412 CICLO 2016-2 67 1 3 3
  • 68. Pseudo código PSeInt PROGRAMACION DIGITAL - CB412 CICLO 2016-2 68 Proceso Poligonal_Cerrada Escribir 'Nro Vertices' Leer n Escribir 'Vertice1' Leer x1,y1 x1copia <-x1 y1copia <- y1 i<-2 perim<-0 Mientras i<=n Hacer Escribir 'Vertice',i Leer x2,y2 d<-RC((x1-x2)^2+(y1-y2)^2) perim<-perim+d Si i=2 Entonces dmin<-d lmin<-1 Sino Si d<dmin Entonces dmin<-d lmin<-i-1 FinSi FinSi x1<-x2 y1<-y2 i<-i+1 FinMientras d<-RC((x1copia-x2)^2+(y1copia-y2)^2) perim<-perim+d Si d<dmin Entonces dmin<-d lmin<-n FinSi Escribir 'Perimetro= ',perim Escribir 'Lado Menor= L',lmin FinProceso
  • 69. Codificación C PROGRAMACION DIGITAL - CB412 CICLO 2016-2 69 #include<stdio.h> #include<math.h> int main() { float d,dmin,perim,x1,x1copia,x2,y1,y1copia,y2; int i,lmin,n; printf("Nro Vertices: "); scanf("%d",&n); printf("Vertice1: "); scanf("%f %f",&x1,&y1); x1copia = x1; y1copia = y1; i = 2; perim = 0; while (i<=n) { printf("Vertice%d: ",i); scanf("%f %f",&x2,&y2); d = sqrt(pow((x1-x2),2)+pow((y1-y2),2)); perim = perim+d; if (i==2) { dmin = d; lmin = 1; } else { if (d<dmin) { dmin = d; lmin = i-1; } } x1 = x2; y1 = y2; i = i+1; } d = sqrt(pow((x1copia-x2),2)+pow((y1copia-y2),2)); perim = perim+d; if (d<dmin) { dmin = d; lmin = n; } printf("Perimetro = %7.3fn",perim); printf("Lado Menor= L%dn",lmin); }
  • 70. 2. Realizar un programa que encuentre el valor de e con un error menor a 10-4, dado que el valor del exponencial para un valor de x se puede expresar mediante la serie: 𝑒𝑥 = 1 + 𝑥 + 𝑥2 2! + 𝑥3 3! + ⋯ 3. Dadas las coordenadas (x,y) de una poligonal convexa de n puntos, calcular su área y el lado de mayor longitud. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 70 Ejercicios Propuestos
  • 71. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 71 PROGRAMACION DIGITAL LABORATORIO N° 5 WILFREDO CUPE ROMÁN CICLO 2016-II UNIVERSIDADNACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL
  • 72. Laboratorio N°5 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 72 Objetivos Utilizar: • Arreglo lineal • Archivo tipo texto
  • 73. Arreglo Lineal PROGRAMACION DIGITAL - CB412 CICLO 2016-2 73 Tiene un solo subíndice. Declaración: tipo nombre_arreglo[N° elementos]; Ejemplo: int x[50]; x0 x1 x2 … x49 50 elementos subíndice
  • 74. Arreglo Lineal PROGRAMACION DIGITAL - CB412 CICLO 2016-2 74 Lectura y Escritura: scanf(“formato”,&elemento[i-ésimo]); printf(“formato”,elemento[i-ésimo]); Ejemplo: scanf(“%d”, &x[i]); printf(“%d”, x[i]); Leer xi ~ ~ Escribir xi ~
  • 75. Ejercicio1 PROGRAMACION DIGITAL - CB412 CICLO 2016-2 75 Dado un arreglo de n elementos, determinar la media y la desviación estándar. Entradas Salidas N xi (i 1..N) media desv
  • 76. Codificación C /*Obtiene la media y desviacion de n números x*/ #include<stdio.h> #include<math.h> int main() { int n,i; double s=0,x[100],media,d=0,desv; printf("Ingrese n:" ); scanf("%d",&n); for (i=1;i<=n;i++) { printf("x%d: ",i); scanf("%lf",&x[i]); s=s+x[i]; } media=s/n; for (i=1;i<=n;i++) { d=d+(x[i]-media)*(x[i]-media); } desv=sqrt(d/(n-1)); printf("Media = %8.2lfnDesviacion = %8.2lfn",media,desv); system("pause"); } PROGRAMACION DIGITAL - CB412 CICLO 2016-2 76
  • 77. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 77 Ejecución Ingrese n:6 x1: 4 x2: 1 x3: 11 x4: 13 x5: 2 x6: 7 Media = 6.33 Desviacion = 4.89 Presione una tecla para continuar . . .
  • 78. Archivo Tipo Texto Esta formado por un conjunto de caracteres ASCII organizados secuencialmente. Utilizamos el archivo para entrada y/o salida del programa. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 78 Programa Archivo de Datos ENTRADA Archivo de Resultados SALIDA
  • 79. 1. Declarar variable FILE FILE *var_archi; PROGRAMACION DIGITAL - CB412 CICLO 2016-2 79 2. Abrir el Archivo var_archi=fopen(archivo, modo); Modo Apertura Descripción “r” Abre un Archivo para lectura (ENTRADA) “w” Crea un Archivo para escritura (SALIDA) “a” Abre un Archivo para añadir al final (SALIDA)
  • 80. 3. Leer y/o Escribir fscanf(var_archi, “formato”, &variable); PROGRAMACION DIGITAL - CB412 CICLO 2016-2 80 fprintf(var_archi, “formato”, expresión); 4. Cerrar el Archivo fclose(var_archi); _fcloseall();
  • 81. feof(var_archi) será Verdadero si se alcanzó el EOF y será Falso si aún no se alcanza. !feof(var_archi) será Verdadero mientras no se alcance el EOF. Fin de Archivo para archivos de lectura PROGRAMACION DIGITAL - CB412 CICLO 2016-2 81 negación Archivo de Lectura inicio EOF
  • 82. PROGRAMACION DIGITAL - CB412 CICLO 2016-2 82 Lectura hasta el fin de archivo while(!feof(var_archi)){ //Sentencias de Lectura … } _______________________________________________ do { //Sentencias de Lectura … } while(!feof(var_archi));
  • 83. Ejercicio 1 Un archivo contiene las coordenadas (x, y) de los puntos de una poligonal cerrada. Determinar los ángulo internos de la poligonal si no se conoce la cantidad de puntos. Poligonal.txt PROGRAMACION DIGITAL - CB412 CICLO 2016-2 83 x1 y1 x2 y2 x3 y3 x4 y4 x5 y5 … (x1,y1) (x2,y2) (x3,y3) (x4,y4) X Y …
  • 84. Ejercicio2 Un archivo contiene las coordenadas (x, y) de los puntos de una poligonal cerrada. Determinar si es una poligonal cóncava o convexa. No se conoce la cantidad de puntos. Poligonal.txt PROGRAMACION DIGITAL - CB412 CICLO 2015-1 84 10 13 11 06 20 12 17 21 09 18 05 16 …
  • 85. Ejercicio3 Un archivo contiene los promedios de los alumnos FIC. Se pide determinar la cantidad de aprobados, desaprobados y dado un código ingresado por teclado mostrar en pantalla su promedio. Promedios20132.txt PROGRAMACION DIGITAL - CB412 CICLO 2015-1 85 codigo letra promedio 20090205 K 11.553 20112053 C 11.559 20054511 H 08.506 ……
  • 86. Ejercicio4 Se tiene registrado las marcaciones de un empleado (fecha, hora de entrada y de salida) en el archivo Marca.txt, se desea guardar en otro archivo las horas trabajadas en el mes. Marca.txt Horastrab.txt PROGRAMACION DIGITAL - CB412 CICLO 2015-1 86 2014-04-03 09:58:49 2014-04-03 21:04:45 2014-04-04 10:19:53 2014-04-04 18:31:02 2014-04-05 10:26:15 2014-04-05 18:30:53 …… 2014-04-03 11:05:56 2014-04-04 8:11:09 2014-04-05 8:04:38 ……
  • 87. Ejercicio5 Escribir un programa que escriba en un archivo un triángulo como el de la figura. El dato del programa será la altura del triángulo. h= 5 Triangulo.txt PROGRAMACION DIGITAL - CB412 CICLO 2015-1 87 * * * * * * * *********
  • 88. Ejercicio Propuesto Un archivo contiene las coordenadas (x, y) de los puntos de una poligonal. Escribir un programa que genere un archivo script (*.SCR) para dibujar los puntos (x, y) en AutoCAD. Puntos.txt Puntos.scr AutoCAD PROGRAMACION DIGITAL - CB412 CICLO 2016-2 88 10 13 11 06 20 12 17 21 09 18 05 16 … POINT 10,13 POINT 11,06 … ZOOM E PDMODE 35 10,13 9,18 5,16