Exemplos de Programas para Tratamento de Ficheiros DXF. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Tamanho: px
Começar a partir da página:

Download "Exemplos de Programas para Tratamento de Ficheiros DXF. João Manuel R. S. Tavares Joaquim Oliveira Fonseca"

Transcrição

1 Exemplos de Programas para Tratamento de Ficheiros DXF João Manuel R. S. Tavares Joaquim Oliveira Fonseca

2 1º Exemplo (BASIC) O seguinte programa em BASIC lê um ficheiro DXF de um desenho e extrai todas as entidades LINE (ignorando as que possam aparecer em Blocks). Este programa projecta no ecrã as coordenadas das extremidades destas entidades REM 1030 g1% = LINE INPUT " Nome do ficheiro DXF : "; a$ 1050 OPEN "i", 1, a$ + ".dxf" 1060 REM 1070 REM Ignora até que o inicio de uma seccao seja encontr REM 1090 GOSUB João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 2

3 1º Exemplo (BASIC) 1100 IF s$ <> "SECTION" THEN GOSUB REM 1140 REM salta ate que a seccao ENTITIES seja encontrada 1150 REM 1160 IF s$ <> "ENTITIES" THEN REM 1180 REM percorre ate ao fim da seccao, processando "LINE" 1190 REM 1200 GOSUB IF g% = 0 AND s$ = "ENDSEC" THEN IF g% = 0 AND s$ = "LINE" THEN GOSUB 1400: GOTO GOTO João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 3

4 1º Exemplo (BASIC) 1410 REM Acumula informacao associada a LINE 1420 REM 1430 GOSUB IF g% = 10 THEN x1 = x: y1 = y: z1 = z 1450 IF g% = 11 THEN x2 = x: y2 = y: z2 = z 1460 IF g% = 0 THEN PRINT "Line de ("; x1; ","; y1; ","; z1; ") a (";x2; ","; y2; ","; z2; ")" RETURN END IF 1470 GOTO REM 2010 REM le codigo de grupo e valor seguinte 2020 REM Para a coordenda X, le o Y e tenta ler o Z 2030 João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 4

5 1º Exemplo (BASIC) 2040 IF g% < 0 THEN g% = -g1%: g1% = 0 ELSE INPUT #1, g% 2050 IF g% < 10 OR g% = 999 THEN LINE INPUT #1, s$: RETURN 2060 IF g% >= 38 AND g% <= 49 THEN INPUT #1, v: RETURN 2080 IF g% >= 50 AND g% <= 59 THEN INPUT #1, a: RETURN 2090 IF g% >= 60 AND g% <= 69 THEN INPUT #1, p%: RETURN 2100 IF g% >= 70 AND g% <= 79 THEN INPUT #1, f%: RETURN 2110 IF g% >= 210 AND g% <= 219 THEN IF g% >= 1000 THEN LINE INPUT #1, t$: RETURN 2120 IF g% >= 20 THEN PRINT "Codigo de grupo invalido"; g%: STOP 2130 INPUT #1, x 2140 INPUT #1, g1% 2150 IF g1% <> (g% + 10) THEN PRINT "Codigo de coord. Y invalido"; g1%: STOP 2160 INPUT #1, João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 5

6 1º Exemplo (BASIC) 2170 INPUT #1, g1% 2180 IF g1% <> (g% + 20) THEN g1% = -g1% ELSE INPUT #1, z 2190 RETURN 2200 CLOSE João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 6

7 2º Exemplo Basic O programa BASIC seguinte, constrói um ficheiro DXF, para a representação de um polígono regular por entidades LINE, no layer 0. Uma vez que este programa só cria a secção ENTITIES e não cria a secção HEADER, os limites, extensão e view ficarão desajustados do desenho, após se ter realizado o comando João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 7

8 2º Exemplo Basic 1000 Rem 1010 Rem Gerador de Poligono 1020 Rem 1030 LINE INPUT "Nome do Ficheiro DXF : "; A$ 1040 OPEN "o", 1, A$ + ".dxf" 1050 Print #1, Print #1, "SECTION" 1070 Print #1, Print #1, "ENTITIES" 1090 PI = Atn(1) * INPUT "Numero de lados do Poligono : "; S% 1110 INPUT "Ponto de Inicio ( X, Y ) : "; X, Y 1120 INPUT "Comprimento do lado do Poligono: "; D 1130 A1 = (2 * PI) / João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 8

9 2º Exemplo Basic 1140 A = PI / For I% = 1 To S% 1160 Print #1, Print #1, "LINE" 1180 Print #1, Print #1, "0" 1200 Print #1, Print #1, X 1220 Print #1, Print #1, Y 1240 Print #1, Print #1, 0! 1260 NX = D * Cos(A) + X 1270 NY = D * Sin(A) + Y 1280 Print #1, João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 9

10 2º Exemplo Basic 1290 Print #1, NX 1300 Print #1, Print #1, NY 1320 Print #1, Print #1, 0! 1340 X = NX 1350 Y = NY 1360 A = A + A Next I% 1380 Print #1, Print #1, "ENDSEC" 1400 Print #1, Print #1, "EOF" 1420 Close João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 10

11 3º Exemplo (QBASIC) O programa do 1º exemplo pode ser apresentado de uma forma estruturada, por exemplo, para Qbasic. Apresenta-se de seguida esta implementação já com processamento das entidades ARC, CIRCLE e João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 11

12 3º Exemplo (QBASIC) DECLARE SUB f1400 (g%, g1%, x, y, z, f%, s$) DECLARE SUB f1500 (g%, g1%, x, y, z, f%, s$) DECLARE SUB f1600 (g%, g1%, x, y, z, f%, s$) DECLARE SUB f1700 (g%, g1%, x, y, z, f%, s$) DECLARE SUB f2000 (g%, g1%, x, y, z, f%, s$) ' ' Este programa retira as coordenadas dos extremos de segmentos ' de recta, de arcos de circunferência e Insert, de um ficheiro dxf ' jof-sdi-demegi ' Cls g1% = 0 INPUT "nome do ficheiro: "; a$ a1$ = a$ + ".DXF" Open a1$ For Input As #1 ' Ciclo while para saltar a informação que não seja respeitante a João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 12

13 3º Exemplo (QBASIC) f = 0 ' Define variável de teste para o while While f = 0 Call f2000(g%, g1%, x, y, z, f%, s$) ' PRINT s$ If g% = 0 Then If s$ = "SECTION" Then Call f2000(g%, g1%, x, y, z, f%, s$) If s$ = "ENTITIES" Then f = 1 End If End If End If Wend ' Ciclo while para processar a informação respeitante a ENTITIES ' Define variável de teste para o while e variável para chamada de João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 13

14 3º Exemplo (QBASIC) f = 0 ' Variável para o while f1 = 0 ' Variável para controlo da chamada de f2000 z = 0 While f = 0 If f1 = 0 Then Call f2000(g%, g1%, x, y, z, f%, s$) f1 = 0 If g% = 0 And s$ = "ENDSEC" Then f = 1 End If If g% = 0 And s$ = "LINE" Then Call f1400(g%, g1%, x, y, z, f%, s$) f1 = 1 End If If g% = 0 And s$ = "ARC" Then Call f1500(g%, g1%, x, y, z, f%, s$) f1 = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 14

15 3º Exemplo (QBASIC) End If If g% = 0 And s$ = "CIRCLE" Then Call f1600(g%, g1%, x, y, z, f%, s$) f1 = 1 End If If g% = 0 And s$ = "INSERT" Then Call f1700(g%, g1%, x, y, z, f%, s$) f1 = 1 End If Wend Close #1 End ' ' subprograma 1400 ' ' para tratamento de segmentos de recta LINE João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 15

16 3º Exemplo (QBASIC) Sub f1400(g%, g1%, x, y, z, f%, s$) ' Define variável para o ciclo while ff = 0 While ff = 0 Call f2000(g%, g1%, x, y, z, f%, s$) If g% = 10 Then X1 = x: Y1 = y: z1 = z If g% = 11 Then X2 = x: Y2 = y: z2 = z If g% = 0 Then Print "linha de ("; X1; ","; Y1; ","; z1; ") para ("; X2; ","; Y2; Print ","; z2; ")" ff = 1 End If Wend End João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 16

17 3º Exemplo (QBASIC) ' ' subprograma 1500 ' ' para tratamento de arcos de circunferência ARC ' Sub f1500(g%, g1%, x, y, z, f%, s$) fff = 0 'Define variável para o ciclo while While fff = 0 Call f2000(g%, g1%, x, y, z, f%, s$) If g% = 10 Then cx = x: cy = y: cz = z If g% = 40 Then raio = x If g% = 50 Then ang1 = x If g% = 51 Then ang2 = x If g% = 0 Then Print "Centro do arco : ("; cx; ","; cy; ","; cz; ") raio:"; raio; Print " ang inicial: "; ang1; " ang final: "; João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 17

18 3º Exemplo (QBASIC) fff = 1 End If Wend End Sub ' ' subprograma 1600 ' ' para tratamento de circunferências CIRCLE ' Sub f1600(g%, g1%, x, y, z, f%, s$) ' Define variável para controlo do while fff = 0 While fff = 0 Call f2000(g%, g1%, x, y, z, f%, s$) If g% = 10 Then cx = x: cy = y: cz = z If g% = 40 Then raio = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 18

19 3º Exemplo (QBASIC) If g% = 8 Then LAYER$ = s$ If g% = 0 Then Print "Centro da circunf. : ("; cx; ","; cy; ","; cz; ") raio:"; raio fff = 1 End If Wend End Sub ' ' subprograma 1700 ' ' para tratamento de INSERT/Blocks ' Sub f1700(g%, g1%, x, y, z, f%, s$) flag% = 0 fff = 0 ler% = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 19

20 3º Exemplo (QBASIC) ' Define valores que são admitidos por defeito sx = 1 sy = 1 sz = 1 r = 0 While fff = 0 If ler% = 0 Then Call f2000(g%, g1%, x, y, z, f%, s$) If g% = 66 Then flag% = f% If g% = 10 Then X1 = x: Y1 = y: z1 = z If g% = 41 Then sx = x If g% = 42 Then sy = x If g% = 43 Then sz = x If g% = 50 Then r = x If (g% = 0 And flag% = 0) Or (g% = 0 And s$ = "SEQEND") Then Print "Bloco em : ("; X1; ","; Y1; ","; z1; ")" Print "nome :"; b$; " Escalas e rotação : "; sx; sy; sz; João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 20

21 3º Exemplo (QBASIC) fff = 1 ElseIf g% = 0 And flag% = 1 And s$ = "ATTRIB" Then itrib% = 0 While itrib% = 0 Call f2000(g%, g1%, x, y, z, f%, s$) If g% = 10 Then xt = x: yt = y: zt = z If g% = 1 Then at$ = s$ F g% = 2 THEN t$ = s$ If g% = 51 Then ang2 = x If g% = 0 Then Print "Atributo em : ("; xt; ","; yt; ","; zt; ")" Print "Tag : "; t$; ", Valor: "; at$ itrib% = 1 ler% = 1 End If João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 21

22 3º Exemplo (QBASIC) End If Wend End Sub ' ' subprograma 2000 ' para leitura do ficheiro de um par código/valor ' ou as coordenadas x, y e z de um ponto ' Sub f2000(g%, g1%, x, y, z, f%, s$) If g1% < 0 Then g% = -g1%: g1% = 0 Else Input #1, g% If g% < 10 Or g% = 999 Or g% = 100 Or g% = 102 Or g% = 105 Then Input #1, s$ Exit Sub End If If g% >= 38 And g% <= 59 Then Input #1, x: Exit Sub If g% >= 60 And g% <= 79 Then Input #1, f%: Exit João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 22

23 3º Exemplo (QBASIC) flag% = 0 ' Define variável para controlo de salto If g% >= 210 And g% <= 219 Then flag% = 1 If flag% = 0 Then If g% > 230 Then Line Input #1, t$: Exit Sub ElseIf g% >= 20 Then Print "grupo de código inválido"; g%: Stop End If End If Input #1, x Input #1, g1% If g1% <> g% + 10 Then Print "código da ordenada Y inválido"; g1%: Stop Input #1, y Input #1, g1% If g1% <> g% + 20 Then g1% = -g1% Else Input #1, z End João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 23

24 O programa seguinte tem uma estrutura de programação semelhante ao anterior mas, neste caso, apresenta-se na linguagem Fortran. Processa as entidades POLYLINE e POINT mas não a João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 24

25 *********************************************************************** * * * PROGRAMA para leitura e processamento de ficheiros DXF * * * * Salta outras SECTION e só processa a SECTION ENTITIES * * Dentro desta secção vai processar as entidades através * * de subrotinas * * A subrotina F2000 lê do ficheiro o par Código/Valor ou * * o código 10 e as coordenadas de um ponto * * * *********************************************************************** * CHARACTER*12 string, finame C WRITE (*,'(/,12X,A/)')'Programa de transcrição DXF WRITE (*,'(13X,A/)') 'FEUP/DEMEGI JOF-93/12/21' C WRITE (*,'(4x,A\)')'Nome do ficheiro sem a extensão : João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 25

26 READ (*,'(a)') finame C C Define o nome do ficheiro de leitura C FINAME(9:12) = '.DXF' IOPEN = 10 OPEN (iopen,file=finame) C C Ciclo while para saltar a informação que não seja respeitante C a ENTITIES Define variável de teste para o while C iff = 0 DO WHILE (iff.eq. 0) CALL f2000(ig, ig1, x, y, z, iif, string,iopen) c write (*,'( 5H ppp,i3)') ig IF (ig.eq. 0) THEN IF (string.eq. 'SECTION') THEN CALL f2000(ig, ig1, x, y, z, iif, João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 26

27 IF (string.eq. 'ENTITIES') THEN iff = 1 END IF END IF END IF END DO C C Ciclo while para processar a informação respeitante a ENTITIES C Define variável de teste para o while e para chamada de f2000 C iff = 0! Variável para o while if1 = 0! Variável para controlo da chamada de f2000 DO WHILE (iff.eq. 0) IF (if1.eq. 0) THEN CALL f2000(ig, ig1, x, y, z, iif, string,iopen) END IF if1 = 0 c WRITE(*,'(1x,a)') João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 27

28 IF (ig.eq. 0.AND. string.eq. 'ENDSEC') THEN iff = 1 ELSE IF (ig.eq.0.and. string.eq.'line') THEN CALL f1400(ig, ig1, x, y, z, iif, string, iopen) if1 = 1 ELSE IF (ig.eq.0.and. string.eq.'arc') THEN CALL f1500(ig, ig1, x, y, z, iif, string, iopen) if1 = 1 ELSE IF (ig.eq.0.and. string.eq.'circle') THEN CALL f1600(ig, ig1, x, y, z, iif, string, iopen) if1 = 1 ELSE IF (ig.eq.0.and. string.eq.'polyline') THEN CALL f1700(ig, ig1, x, y, z, iif, string, iopen) if1 = 1 ELSE IF (ig.eq.0.and. string.eq.'point') THEN CALL f1800(ig, ig1, x, y, z, iif, string, iopen) c WRITE (*,'(1x,a)') ' Saii if1 = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 28

29 END IF END DO CLOSE (iopen) STOP 'FIM DO PROGRAMA' END ********************************************************************* * * * subprograma 1400 para Tratamento da entidade LINE * * * * Códigos: * * 10 - Coordenadas da primeira extremidade * * 11 - Coordenadas da segunda extremidade * * 8 - Layer ao qual pertence a entidade * * * ********************************************************************* * SUBROUTINE f1400 (ig, ig1, x, y, z, iif, string, icanal) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 29

30 CHARACTER*12 string,lay C Define variável para o ciclo while zprof = 0 iff = 0 DO WHILE (iff.eq.0) CALL f2000(ig, ig1, x, y, z, iif, string,icanal) IF (ig.eq.10) THEN x1 = x y1 = y z1 = z ELSE IF (ig.eq.11) THEN x2 = x y2 = y z2 = z ELSE IF (ig.eq.8) THEN lay = string ELSE IF (ig.eq.39) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 30

31 zprof = x ELSE IF (ig.eq.0) THEN WRITE (*,1000) x1, y1, z1, x2, y2, z2 iff = 1 END IF END DO C RETURN 1000 FORMAT (1x,9HLinha de(,f9.3,2(2h,f9.3),6h)para(,. F9.3,2(2H,F9.3),2H ) ) END ********************************************************************* * * * subprograma 1500 para Tratamento da entidade ARC * * * * Códigos: * * 10 - Coordenadas do centro do arco de circunferência * * 8 - Layer ao qual pertence a entidade João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 31

32 * 40 - Valor do raio * * 50 - Angulo do início do arco * * 51 - Angulo do fim do arco * * * ********************************************************************* * SUBROUTINE f1500 (ig, ig1, x, y, z, iif, string,icanal) CHARACTER*12 string,lay C Define variável para o ciclo while iff = 0! Inicializa variável para controlo do while DO WHILE (iff.eq.0) CALL f2000(ig, ig1, x, y, z, iif, string,icanal) c WRITE (*,'(5H 1800, i4)') ig IF (ig.eq.10) THEN cx = x cy = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 32

33 cz = z ELSE IF (ig.eq.8) THEN lay = string ELSE IF (ig.eq.40) THEN r = x ELSE IF (ig.eq.50) THEN a1 = x ELSE IF (ig.eq.51) THEN a2 = x ELSE IF (ig.eq.0) THEN WRITE (*,1000) cx, cy, cz, r, a1, a2 iff = 1 END IF END DO C RETURN 1000 FORMAT (1x,7HArc (,F9.3,2(2H,F9.3),6H) Raio,F9.3,. 8H João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 33

34 END ********************************************************************* * * * subprograma 1600 para Tratamento da entidade CIRCLE * * * * Códigos: * * 10 - Coordenadas do centro da circunferência * * 8 - Layer ao qual pertence a entidade * * 40 - Valor do raio * * * ********************************************************************* * SUBROUTINE f1600 (ig, ig1, x, y, z, iif, string,icanal) CHARACTER*12 string,lay C C Inicializa a variável para controlo do while João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 34

35 iff = 0 DO WHILE (iff.eq.0) CALL f2000(ig, ig1, x, y, z, iif, string,icanal) c WRITE (*,'(5H 1800, i4)') ig IF (ig.eq.10) THEN cx = x cy = y cz = z ELSE IF (ig.eq.8) THEN lay = string ELSE IF (ig.eq.40) THEN r = x ELSE IF (ig.eq.0) THEN WRITE (*,1000) cx, cy, cz, r iff = 1 END IF END DO João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 35

36 1000 FORMAT (1x,8HCircle (,F9.3,2(2H,F9.3),7H ) Raio,F9.3 ) END ********************************************************************* * * * subprograma 1700 para Tratamento da entidade POLYLINE * * * * Códigos: * * 10 - Coordenadas de um VERTEX * * 8 - Layer ao qual pertence a entidade * * 42 - Um quarto da tangente do ângulo do arco seguinte 0=LINE* * 70 - Flag 1=Polyline fechada ; 0=aberta * * 0 - SEQEND fim da definição da POLYLINE * * * ********************************************************************* * SUBROUTINE f1700 (ig, ig1, x, y, z, iif, string,icanal) CHARACTER*12 João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 36

37 pi = ATAN(1.0)*4 C C Define variável para o controlo do ciclo while C iflag = 0 C C Tratamento de uma polyline. Define valores por defeito. C iclose = 0 a0 = 0 iflag = 0 C C Vai ler o cabeçalho da polyline C DO WHILE (iflag.eq. 0) CALL f2000(ig, ig1, x, y, z, iif, string, icanal) IF (ig.eq. 70) THEN IF (iif.eq. 1) iclose = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 37

38 ELSE IF (ig.eq. 8) THEN lay = string ELSE IF (ig.eq. 0) THEN IF (iclose.eq. 0) THEN WRITE (*,1000) ' Aberta ', lay ELSE WRITE (*,1000) ' Fechada', lay END IF iflag = 1 END IF END DO c c Vai ler o primeiro vertex na polyline c iflag = 0 DO WHILE (iflag.eq. 0) CALL f2000(ig, ig1, x, y, z, iif, string, icanal) IF (ig.eq. 10) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 38

39 x1 = x y1 = y z1 = z ELSE IF (ig.eq. 42) THEN a0 = x ELSE IF (ig.eq. 0) THEN xold = x1 yold = y1 zold = z1 C C guarda o primeiro ponto para o caso de ser Polyline fechada C x00 = x1 y00 = y1 z00 = z1 iflag = 1 WRITE (*,1010) x1, y1, z1 END João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 39

40 END DO c c Vai ler os VERTEX até encontrar o SEQEND c iflag = 0 a1 = 0 DO WHILE (iflag.eq. 0) jflag = 0 a1 = 0 DO WHILE (jflag.eq. 0) CALL f2000(ig, ig1, x, y, z, iif, string, icanal) IF (ig.eq. 10) THEN x1 = x y1 = y z1 = z ELSE IF (ig.eq. 42) THEN a1 = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 40

41 ELSE IF (ig.eq. 8) THEN lay = string ELSE IF (ig.eq. 0) THEN jflag = 1 IF (string.eq. 'SEQEND') THEN iflag = 1 END IF c c Processa um segmento de recta entre dois VERTEX c IF (a0.eq. 0) THEN WRITE (*,1020) x1, y1, z1 ELSE c c Processa um arco unicamente no plano XY c dx = x1 - João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 41

42 dy = y1 - yold ddd = SQRT(dx * dx + dy * dy) / 2 aaa = 4 * ATAN(a0) raio = ABS(ddd / SIN(aaa / 2)) ddd = ABS(ddd * (COS(aaa / 2) / SIN(aaa / 2))) c c define o ângulo de orientação do centro relativamente ao ponto médio c sinal = aaa / ABS(aaa) IF (ABS(aaa).GT. pi) sinal = -sinal CALL ANGLIN(xold, yold, x1, y1, aacc) aacc = aacc + pi * sinal / 2 xxmm = xold + dx / 2 yymm = yold + dy / 2 xxmm = xxmm + ddd * COS(aacc) yymm = yymm + ddd * SIN(aacc) CALL ANGLIN(xxmm, yymm, xold, João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 42

43 WRITE (*,1030) xxmm,yymm,z1, raio, aaa1,aaa END IF a0 = a1 xold = x1 yold = y1 END IF END DO END DO c c Vai fechar POLYLINE, se for o caso presente c IF (iclose.eq. 1) THEN c c Processa um segmento de recta c IF (a0.eq. 0) THEN WRITE (*,1020) x00, y00, João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 43

44 ELSE c c Processa um arco a fechar no primeiro ponto c dx = x00 - xold dy = y00 - yold ddd = SQRT(dx * dx + dy * dy) / 2 aaa = 4 * ATAN(a0) raio = ABS(ddd / SIN(aaa / 2)) ddd = ABS(ddd * (COS(aaa / 2) / SIN(aaa / 2))) c c define o ângulo de orientação do centro relativa ao ponto médio c sinal = aaa / ABS(aaa) IF (ABS(aaa).GT. pi) sinal = -sinal CALL ANGLIN(xold, yold, x00, y00,aacc) aacc = aacc + pi * sinal / 2 xxmm = xold + dx / João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 44

45 yymm = yold + dy / 2 xxmm = xxmm + ddd * COS(aacc) yymm = yymm + ddd * SIN(aacc) CALL ANGLIN(xxmm, yymm, xold, yold, aaa1) WRITE (*,1030) xxmm,yymm,z1, raio, aaa1,aaa END IF END IF C RETURN 1000 FORMAT (1x,9HPolyline,a8,10H no layer,a12) 1010 FORMAT (4x,16HPrimeiro VERTEX,3F9.3) 1020 FORMAT (13x,7HVERTEX,3F9.3) 1030 FORMAT (9x,11HARC VERTEXc,3F9.3,5H Raio,F8.3,3H A1,F7.3,. 3H AA,F7.3) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 45

46 ********************************************************************* * * * subprograma 1800 para Tratamento da entidade POINT * * * * Códigos: * * 10 - Coordenadas do ponto * * 8 - Layer ao qual pertence a entidade * * * ********************************************************************* * SUBROUTINE f1800 (ig, ig1, x, y, z, iif, string,icanal) CHARACTER*12 string,lay C C Define variável para controlo do while C zprof = 0 iff = João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 46

47 DO WHILE (iff.eq. 0) CALL f2000(ig, ig1, x, y, z, iif, string,icanal) IF (ig.eq. 10) THEN x1 = x y1 = y z1 = z ELSE IF (ig.eq. 8) THEN lay = string ELSE IF (ig.eq. 39) THEN zprof = x ELSE IF (ig.eq. 0) THEN WRITE (*,1000) x1, y1, z1 iff = 1 END IF END DO RETURN 1000 FORMAT (1x,7HPonto (,F9.3,2(2H,F9.3),2H ) ) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 47

48 ********************************************************************* * * * subprograma 2000 para Leitura de Códigos e valores respectivos * * * * icanal - Número do canal de leitura * * * * Códigos: * * Variáveis de tipo string * * Variáveis de tipo real * * Variáveis de tipo inteiro * * - Outros casos particulares * * * * Saída: * * ig - Código do valor lido * * ig1 - Código temporário * * x,y,z- Coordenadas de um ponto ou valor real em x * * str - Valor de uma string * * iff - Valor inteiro João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 48

49 * * ********************************************************************* * SUBROUTINE f2000 (ig, ig1, x, y, z, iff, str,icanal) CHARACTER*72 tt CHARACTER*12 str IF (ig1.lt. 0) THEN ig = -ig1 ig1 = 0 ELSE READ (icanal,*) ig END IF IF (ig.lt.10.or.ig.eq.999.or.ig.eq.100.or.ig.eq.102.or.ig.eq.105) THEN READ (icanal,'(a)') str ELSE IF (ig.ge. 38.AND. ig.le. 59) THEN READ (icanal,*) João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 49

50 ELSE IF (ig.ge. 60.AND. ig.le. 79) THEN READ (icanal,*) iff ELSE C C Define variável para controlo de salto C iflag = 0 IF (ig.ge. 210.AND. ig.le. 219) THEN iflag = 1 END IF IF (iflag.eq. 0) THEN IF (ig.gt. 230) THEN READ (icanal,'(a)') tt RETURN ELSE IF (ig.ge. 20) THEN WRITE (*,'(a,i4)') ' Grupo de código inválido ', ig STOP END João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 50

51 END IF READ (icanal,*) x READ (icanal,*) ig1 IF (ig1.ne. (ig+10)) THEN WRITE (*,'(a,i4)') ' Código de coord Y inválido ', ig1 STOP END IF READ (icanal,*) y READ (icanal,*) ig1 IF (ig1.ne. (ig+20)) THEN ig1 = -ig1 ELSE READ (icanal,*) z END IF END IF RETURN João Tavares/JOF CFAC: Exemplos de Programas para Tratamento de Ficheiros DXF 51

Exemplos de Programas para Tratamento de Ficheiros DXF

Exemplos de Programas para Tratamento de Ficheiros DXF Exemplos de Programas para João Manuel R. S. Tavares Joaquim Oliveira Fonsea 1º Exemplo (BASI) O seguinte programa em BASI lê um fiheiro DXF de um desenho e extrai todas as entidades LINE (ignorando as

Leia mais

CFAC: Programação em FORTRAN - V

CFAC: Programação em FORTRAN - V Programação em FORTRAN V João Manuel R. S. Tavares Output no écran Exemplo de escrita em formato livre (*): radius = 7.2345121 PRINT *,'Radius = ',radius,' cm' Resultado: Radius = 7.2345121 cm @2001 -

Leia mais

CFAC: Exemplos de Programas em FORTRAN

CFAC: Exemplos de Programas em FORTRAN FA: Exemplos de Programas em FORTRAN Exemplos de Programas em FORTRAN João Manuel R. S. Tavares Joaquim O. Fonseca Exemplo I Programa simples de utilização do ciclo DO, com escrita não formatada: PROGRAM

Leia mais

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos e de AutoLISP -VII Funções Geométricas, de Strings, de Listas e de João Manuel R. S. Tavares / JOF Funções geométricas As funções geométricas do AutoLISP são: distance, angle, polar, inters, cal, osnap

Leia mais

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos AutoLISP - VII Funções Geométricas, de Strings, de Listas e de João Manuel R. S. Tavares Joaquim Oliveira Fonseca Funções geométricas As funções geométricas do AutoLISP são: distance, angle, polar, inters,

Leia mais

AutoLISP Programas Exemplo

AutoLISP Programas Exemplo AutoLISP Programas Exemplo João Manuel R. S. Tavares Joaquim Oliveira Fonseca 1º Exemplo - Rectângulo Desenvolva um programa em AutoLISP que permita criar a figura junta. Utilize a função LIST para definir

Leia mais

Programação estruturada no Fortran 90-3

Programação estruturada no Fortran 90-3 Programação estruturada no Fortran 90-3 Departamento de Física UFPel Em Fortran 90 existem dois tipos de subprogramas: Funções e Subrotinas Uma Função, quando chamada, retorna um único valor calculado

Leia mais

Exemplos de Programas em FORTRAN. João Manuel R. S. Tavares Joaquim O. Fonseca

Exemplos de Programas em FORTRAN. João Manuel R. S. Tavares Joaquim O. Fonseca Exemplos de Programas em FORTRAN João Manuel R. S. Tavares Joaquim O. Fonseca Exemplo I Programa simples de utilização do ciclo DO, com escrita não formatada: PROGRAM exercicio1 DIMENSION A(10) Vai gerar

Leia mais

Aplicações de Programação CNC/ISO com Microcomputador. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Aplicações de Programação CNC/ISO com Microcomputador. João Manuel R. S. Tavares Joaquim Oliveira Fonseca Aplicações de Programação CNC/ISO com Microcomputador João Manuel R. S. Tavares Joaquim Oliveira Fonseca Introdução No contexto da programação CNC é benéfica a possibilidade de trabalhar com programas

Leia mais

AutoLISP Programas Exemplo. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP Programas Exemplo. João Manuel R. S. Tavares Joaquim Oliveira Fonseca AutoLISP Programas Exemplo João Manuel R. S. Tavares Joaquim Oliveira Fonseca 1º Exemplo - Rectângulo (O utilizador define a largura, a altura e o ponto pt1. AutoLISP - Programas Exemplo 2009@JST/JOF 2

Leia mais

1º Exemplo - Rectângulo

1º Exemplo - Rectângulo AutoLISP Programas Exemplo João Manuel R. S. Tavares Joaquim Oliveira Fonseca 1º Exemplo - Rectângulo Desenvolva um programa em AutoLISP que permita criar a figura junta. Utilize a função LIST para definir

Leia mais

Resumo. 1- Introdução

Resumo. 1- Introdução Agenda EXPERTa Resumo O objetivo deste artigo é modificar o programa Agenda EXPERTa, publicado no manual do Expert MSX da Gradiente, de forma a ler e gravar os dados da agenda em disco. 1- Introdução O

Leia mais

$ 5HTXHULPHQWRVPtQLPRVSDUDFULDUXPDUTXLYR';)GHXP PRGHOR'

$ 5HTXHULPHQWRVPtQLPRVSDUDFULDUXPDUTXLYR';)GHXP PRGHOR' $ 5HTXHULPHQWRVPtQLPRVSDUDFULDUXPDUTXLYR';)GHXP PRGHOR' $,QWURGXomR O formato DXF é possivelmente o formato mais usado pelos softwares CAD ('esenho $ssistido pelo &omputador) em sistemas computacionais.

Leia mais

CFAC: Introdução ao AutoCAD - V. Capitulo V: Construções geométricas

CFAC: Introdução ao AutoCAD - V. Capitulo V: Construções geométricas Introdução ao AutoCAD João Manuel R. S. Tavares Objectivos Criar objectos utilizando comandos básicos de desenho: Arc e suas opções; Boundary; Circle, Donut, Ellipse, Point; Multiline, Polyline, Spline,

Leia mais

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Objectivos Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Vantagens da programação Eficiência em operações repetitivas Melhor clarividência na decomposição

Leia mais

Elementos básicos das linguagens de programação

Elementos básicos das linguagens de programação Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)

Leia mais

Programação em FORTRAN V. João Manuel R. S. Tavares

Programação em FORTRAN V. João Manuel R. S. Tavares Programação em FORTRAN V João Manuel R. S. Tavares Output no écran Exemplo de escrita em formato livre (*): radius = 7.2345121 PRINT *,'Radius = ',radius,' cm' Resultado: Radius = 7.2345121 cm @2001 -

Leia mais

Introdução ao AutoCAD Capitulo V: Construções geométricas. João Manuel R. S. Tavares Joaquim O. Fonseca

Introdução ao AutoCAD Capitulo V: Construções geométricas. João Manuel R. S. Tavares Joaquim O. Fonseca Introdução ao AutoCAD João Manuel R. S. Tavares Joaquim O. Fonseca Objetivos Criar objetos utilizando comandos de desenho: Arc e suas opções; BOundary; Circle, DOnut, ELlipse, POint; MultiLine, PoLyline,

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO

UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO Plano de Ensino Curso 1604B Bacharelado em Física de Materiais Ênfase Identificação Disciplina - Optativa 0004214A Física Computacional I Docente(s) Francisco Carlos Lavarda Unidade Faculdade de Ciências

Leia mais

CFAC: Programação em FORTRAN - I

CFAC: Programação em FORTRAN - I Programação em FORTRAN - I João Manuel R. S. Tavares Bibliografia FORTRAN ANSI 77 e WATFIV-S Jorge Filho, Caetano Loiola Editora Campus Linguagem de Programação Estruturada FORTRAN 77 Maximilian Emil Hehl

Leia mais

Resumo. 1- Introdução. 2- Matrizes e Arquivos Vetores e Matrizes

Resumo. 1- Introdução. 2- Matrizes e Arquivos Vetores e Matrizes Agenda EXPERTa Resumo O objetivo deste artigo é modificar o programa Agenda EXPERTa, publicado no manual do Expert MSX da Gradiente, de forma a ler e gravar os dados da agenda em disco. 1- Introdução O

Leia mais

Programação em FORTRAN - I. João Manuel R. S. Tavares

Programação em FORTRAN - I. João Manuel R. S. Tavares Programação em FORTRAN - I João Manuel R. S. Tavares Bibliografia FORTRAN ANSI 77 e WATFIV-S Jorge Filho, Caetano Loiola Editora Campus Linguagem de Programação Estruturada FORTRAN 77 Maximilian Emil Hehl

Leia mais

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD Introdução ao AutoCAD João Manuel R. S. Tavares / JOF Bibliografia AutoCAD 2002 Depressa & Bem Pedro Leão Neto, José Manuel Garcia FCA AutoCAD 2004 Guia de Consulta Rápida João Santos FCA Mechanical Desktop

Leia mais

Visual Basic. VII Ficheiros Sequenciais. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Visual Basic. VII Ficheiros Sequenciais. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Visual Basic VII Ficheiros Sequenciais CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Ficheiros Sequenciais; 2) Adicionar itens a Ficheiros Sequenciais; 3)

Leia mais

CFAC: Visual Basic: VII - Ficheiros Sequenciais. VII Ficheiros Sequenciais

CFAC: Visual Basic: VII - Ficheiros Sequenciais. VII Ficheiros Sequenciais Visual Basic VII Ficheiros Sequenciais CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Ficheiros Sequenciais; 2) Adicionar itens a Ficheiros Sequenciais; 3)

Leia mais

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD Introdução ao AutoCAD João Manuel R. S. Tavares Bibliografia AutoCAD 2002 Depressa & Bem Pedro Leão Neto, José Manuel Garcia FCA AutoCAD 2004 Guia de Consulta Rápida João Santos FCA Mechanical Desktop

Leia mais

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre Correção do º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 3 de Junho de 26, 2º Semestre. (2.) Perguntas de resposta rápida de Fortran (.4 valores cada).. Todos os componentes

Leia mais

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Módulo 1a: Introdução ao Visual Basic for Applications (VBA) Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Elementos básicos - O Excel (revisões ou não?) Folha de cálculo baseada em células Usa um sistema de coordenadas (letra, número) Recalcula

Leia mais

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO 001-00 IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP MARIA JOÃO TAVARES DE CASTRO SANTOS COSTA MARIA TERESA VITERBO

Leia mais

Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep

Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep João Manuel R. S. Tavares Joaquim Oliveira Fonseca Elemento de Revolução Um elemento de revolução, é criado por rotação de um perfil de esboço

Leia mais

Ferramentas de Desenvolvimento Rápido de Jogos 3D [DarkBasicPro] Prof. Osório Pag.: 1

Ferramentas de Desenvolvimento Rápido de Jogos 3D [DarkBasicPro] Prof. Osório Pag.: 1 Ferramentas de Desenvolvimento Rápido de Jogos 3D [DarkBasicPro] Prof. Osório Pag.: 1 - UNIVERSIDADE VALE RIO S SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS GRADUAÇÃO TECNOLÓGICA GT JEDi CURSO DE DESENVOLVIMENTO

Leia mais

4 - APLICAÇÕES DE PROGRAMAÇÃO CNC/ISO COM MICROCOMPUTADOR

4 - APLICAÇÕES DE PROGRAMAÇÃO CNC/ISO COM MICROCOMPUTADOR 4 - APLICAÇÕES DE PROGRAMAÇÃO CNC/ISO COM MICROCOMPUTADOR Do que já foi exposto, tem-se a impressão de que seria benéfico para todos a possibilidade de se trabalhar com programas que, dentro do possível,

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

Visual Basic. V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Visual Basic. V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Visual Basic V - Repetição CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Estruturas de repetição (ciclo); 2) Elementos de uma estrutura de repetição; 3) Processar

Leia mais

Modelação Geométrica e Visualização de Edifícios 2007/2008

Modelação Geométrica e Visualização de Edifícios 2007/2008 Instituto Superior Técnico Modelação Geométrica e Visualização de Edifícios 2007/2008 Segundo Teste/Primeiro Exame 3/07/2008 Nome: Número: Escreva o seu número em todas as folhas da prova. O tamanho das

Leia mais

Introdução à Computação - FORTRAN

Introdução à Computação - FORTRAN Universidade Federal do Maranhão Departamento de Informática Notas de Aula arlos Eduardo Portela Serra de astro 1 Ficha 12 FORTRAN FORMULA TRANSLATION Linguagem algébrica, cujas regras e estruturas são

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador. 2) Elementos de uma estrutura de repetição;

V - Repetição. CFAC Concepção e Fabrico Assistidos por Computador. 2) Elementos de uma estrutura de repetição; Visual Basic V - Repetição CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Estruturas de repetição (ciclo); 2) Elementos de uma estrutura de repetição; 3) Processar

Leia mais

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo

Leia mais

Introdução à Programação Aula prática Nº O número de bactérias numa cultura pode ser estimado pela expressão:

Introdução à Programação Aula prática Nº O número de bactérias numa cultura pode ser estimado pela expressão: Funções 1. O número de bactérias numa cultura pode ser estimado pela expressão: N e kt sendo N a população inicial, k a taxa de crescimento e t o tempo de evolução. Escreva uma função para calcular o número

Leia mais

Departamento de Matemática Universidade de Coimbra

Departamento de Matemática Universidade de Coimbra Departamento de Matemática Universidade de Coimbra Ano Lectivo de 200x/200(x + 1) Introdução aos Computadores e Programação Exame Tipo Duração da prova: 2h30 1. (Pergunta (teórica) simples) Diga o que

Leia mais

Faculdade de Engenharia da Universidade do Porto Concepção e Fabrico Assistido por Computador. Relatório

Faculdade de Engenharia da Universidade do Porto Concepção e Fabrico Assistido por Computador. Relatório Faculdade de Engenharia da Universidade do Porto Concepção e Fabrico Assistido por Computador Relatório Programação em AutoLisp para desenho automático Licenciatura de Engenharia Mecânica 3ºAno-1ºSemestre

Leia mais

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Prof: Heni Mirna Cruz Santos

Prof: Heni Mirna Cruz Santos Prof: Heni Mirna Cruz Santos Email: henimirna@hotmail.com Com esta Ribbon é possível desenhar linhas retas, curvas, formas geométricas, hachuras, tabelas, entre outros. O comando LINE gera um segmento

Leia mais

Rotação e Interpolação

Rotação e Interpolação Rotação e Interpolação Resumo O objetivo desse artigo é mostrar como é feita a rotação em qualquer ângulo de imagens 2D, bem como apresentar dois métodos de interpolação de pontos vizinho mais próximo

Leia mais

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

Errata* do livro Programação em Python Fundamentos e Resolução de Problemas

Errata* do livro Programação em Python Fundamentos e Resolução de Problemas Errata* do livro Programação em Python Fundamentos e Resolução de Problemas *Nota importante: Correções já consideradas na reimpressão de outubro de 2016. -- * pg. 32, listagem 1.3 Problema de alinhamento

Leia mais

Introdução ao Fortran 90-4

Introdução ao Fortran 90-4 Introdução ao Fortran 90-4 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da

Leia mais

Comandos básicos do AutoCAD

Comandos básicos do AutoCAD Curso: Engenharia Ambiental Disciplina: Desenho técnico e Geometria Descritiva Professor: Luiz Antonio do Nascimento Aluno: Período: Manhã Aula: Data: RA: 1. Linhas Comandos básicos do AutoCAD Existem

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Comandos e Construtos de Controle de Fluxo

Comandos e Construtos de Controle de Fluxo Capítulo 5 Comandos e Construtos de Controle de Fluxo Nos capítulos anteriores foi descrito como comandos de atribuição devem ser escritos e como estes podem ser ordenados um após o outro para formar uma

Leia mais

Capítulo 12. SUB-ROTINAS

Capítulo 12. SUB-ROTINAS Capítulo 12. SUB-ROTINAS OBJETIVOS DO CAPÍTULO Conceitos de: sub-rotina, programa-principal, projeto com diversos programas-fonte, passagem de argumentos Comandos do FORTRAN: PROGRAM, EXTERNAL, SUBROUTINE,

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C ompiladores Análise Léxica Bruno Lopes Bruno Lopes ompiladores 1 / 31 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

Introdução ao Fortran 90-3

Introdução ao Fortran 90-3 Introdução ao Fortran 90-3 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da

Leia mais

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM. Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.

Leia mais

1 Da aula teórica ao Java

1 Da aula teórica ao Java Universidade Federal do ABC Bacharelado em Ciência da Computação Processamento da Informação - Prof. Fabrício Olivetti de França Guia de tradução entre Java e outras linguagens 1 Da aula teórica ao Java

Leia mais

Resolução do exame de Computadores e Programação da licenciatura em Engenharia Biomédica

Resolução do exame de Computadores e Programação da licenciatura em Engenharia Biomédica Resolução do exame de Computadores e Programação da licenciatura em Engenharia Biomédica Solução da questão 1 Importa modulos necessarios import sys import string import copy Funcao para ler uma imagem

Leia mais

Árvores B (Parte III)

Árvores B (Parte III) Árvores B (Parte III) Profa. Dra. Cristina Dutra de Aguiar Ciferri Algoritmos Estrutura de dados determina cada página de disco pode ser implementada de diferentes formas Implementação adotada contador

Leia mais

Introdução ao AutoCAD Capitulo IV: Comandos de modificação

Introdução ao AutoCAD Capitulo IV: Comandos de modificação Introdução ao AutoCAD João Manuel R. S. Tavares / JOF Objectivos Métodos de selecção dos comandos de modificação; Criação de arrays rectangulares AR ; Criação de arrays polares AR ; Entender os diferentes

Leia mais

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos. Apostila de Fortran Fortran Uma das linguagens de programação mais velhas, o FORTRAN foi desenvolvido por uma equipe de programadores conduzida por John Backus na IBM, e foi primeiramente publicada em

Leia mais

Compiladores. Análise Léxica

Compiladores. Análise Léxica Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Subprogramação: Sub-rotinas e Funções Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

Introdução ao Fortran 90-7

Introdução ao Fortran 90-7 Introdução ao Fortran 90-7 Departamento de Física UFPel O Fortran 90 permite que a entrada (E) e a saída (S) de dados seja feita a partir de um (ou vários) arquivo externo ao programa. Para o acesso E/S

Leia mais

Informática I. Aula 19. Aula 19-31/10/2007 1

Informática I. Aula 19.  Aula 19-31/10/2007 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-31/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de

Leia mais

In I t n rto r d o u d ç u ão ã o à à Com o pu p t u a t ç a ão ã Linguagem Fortran! " 1

In I t n rto r d o u d ç u ão ã o à à Com o pu p t u a t ç a ão ã Linguagem Fortran!  1 Introdução à Computação Linguagem Fortran! " 1 ESTRUTURA DE CONTROLE DECISÃO SE / CASO; 2 ESTRUTURA DE CONTROLE Operadores Relacionais Símbolo Significado Fortran = Igual - Equal to.eq. Diferente - Not

Leia mais

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO Módulo 8 - Int. ao Visual Basic 1. O Visual Basic É uma linguagem de programação que utiliza objectos programáveis como interface com o utilizador. Foi criada

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

Site:

Site: Web: http://inf.unisinos.br/~osorio/jogos-gt.html IDE = Integrated Development Environment Gerência e Configuração do Projeto (.DBPRO) Editor de Textos (programas.dba) Compilador (.DPPRO,.DBA =>.EXE) Depurador

Leia mais

Aplicações de Programação CNC/ISO com Microcomputador

Aplicações de Programação CNC/ISO com Microcomputador Aplicações de Programação João Manuel R. S. Tavares Joaquim Oliveira Fonseca Introdução No contexto da programação CNC seria benéfica a possibilidade de trabalhar com programas que, dentro do possível,

Leia mais

Visual Basic. VI - Arrays. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Visual Basic. VI - Arrays. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Visual Basic VI - Arrays CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Arrays no Visual Basic arrays unidimensionais (vectores); arrays de controlos; arrays bidimensionais

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes (laffernandes@ic.uff.br)

Leia mais

Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep. João Manuel R. S. Tavares Joaquim Oliveira Fonseca Introdução ao SolidWorks (VI): Elementos de Rotação e de Sweep João Manuel R. S. Tavares Joaquim Oliveira Fonseca Elemento de Revolução n n n Um elemento de revolução, é criado por rotação de um perfil

Leia mais

MSXDOS GUIA DE CONSULTA RÁPIDA. Escrito e editorado por: Edison Antonio Pires de Moraes eapmoraes@msxall.com www.msxtop.msxall.com

MSXDOS GUIA DE CONSULTA RÁPIDA. Escrito e editorado por: Edison Antonio Pires de Moraes eapmoraes@msxall.com www.msxtop.msxall.com MSXDOS GUIA DE CONSULTA RÁPIDA Escrito e editorado por: Edison Antonio Pires de Moraes eapmoraes@msxall.com www.msxtop.msxall.com 22/05/2004 14 MSXDOS Um pode ser: CON Console PRN Impressora

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Introdução ao FORTRAN Cinco aspectos

Leia mais

Fabricação de Moldes 2011/ a 7.5. Novo BOTÃO no NX4. FEUP/DEMec/SDI 1

Fabricação de Moldes 2011/ a 7.5. Novo BOTÃO no NX4. FEUP/DEMec/SDI 1 a 7.5 Programa CAD Unigraphics-1 12 JOF_1 1-1 Application - MODELING OU Novo BOTÃO no NX4 12 JOF_1 1-2 FEUP/DEMec/SDI 1 MODELING - Conceitos Gerais Programa com editor de Criação (árvore) Sketch Trabalho

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

Licenciatura em Gestão e Engenharia Industrial CFAC

Licenciatura em Gestão e Engenharia Industrial CFAC Licenciatura em Gestão e Engenharia Industrial CFAC Trabalho realizado por: Ana Isabel Marques Joana Rita Simões Porto, 25 de Fevereiro de 2005 Índice 1. Agradecimentos------------------------------------------------------------------------3

Leia mais

DESENHO TÉCNICO E ARQUITETÔNICO

DESENHO TÉCNICO E ARQUITETÔNICO DESENHO TÉCNICO E ARQUITETÔNICO REPRESENTAÇÃO DE PROJETOS DE ARQUITETURA COM O AUTOCAD 2D Mundi - Centro de Formação Técnica Unidade Vitória da Conquista BA Professor: Philipe do Prado Santos Curso Técnico

Leia mais

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program

Leia mais

PROGRAMAÇÃO DE COMPUTADORES

PROGRAMAÇÃO DE COMPUTADORES PROGRAMAÇÃO DE COMPUTADORES COMANDOS E FORMATOS DE ENTRADA E SAÍDA 1 COMANDOS E FORMATOS DE ENTRADA E SAÍDA Os comandos de entrada e saída, na sua forma mais simplificada, possuem a seguinte estrutura:

Leia mais

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3 COMANDOS CONDICIONAIS E DE LAÇO Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3.1 COMANDOS CONDICIONAIS 3.1.1 Comando IF Como o próprio nome já indica, estes comandos

Leia mais

Programação em FORTRAN III. João Manuel R. S. Tavares

Programação em FORTRAN III. João Manuel R. S. Tavares Programação em FORTRAN III João Manuel R. S. Tavares Array versus Variáveis Simples Uma variável simples é utilizada para guardar um único valor; Uma variável do tipo array é utilizada para representar

Leia mais

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão Exercícios de Programação e Computação para Arquitectura António Menezes Leitão 18 de Dezembro de 2012 1 Processamento do Superfícies Por convenção, representámos as coordenadas de uma superfície como

Leia mais

Linguagem de programação: Pascal

Linguagem de programação: Pascal Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este

Leia mais

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC.

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC. CONVERSOR ANALÓGICO / DIGITAL SINAL DIGITAL ASSUME APENAS 2 ESTADOS: 0V E 5V SINAL ANALÓGICO TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC. 1 FONTE DESTES SINAIS ANALÓGICOS UM DOS NOSSOS OBJETIVOS

Leia mais

Figura 7.2 Sentido de construção dos arcos de circunferência

Figura 7.2 Sentido de construção dos arcos de circunferência DESENHR FORMS MIS COMPLEXS Se os parâmetros especificados na construção do arco de circunferência não forem suficientes para definir, de forma inequívoca, um só arco, este é construído segundo o sentido

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

Introdução ao FORTRAN 90. Aula 4

Introdução ao FORTRAN 90. Aula 4 Introdução ao FORTRAN 90 Aula 4 Usados quando o programa contém estruturas complexas e com estruturas contendo conjuntos de instruções repetidas. O conjunto de instruções repetidas não se enquadra em uma

Leia mais

Transformações Geométricas

Transformações Geométricas Transformações Geométricas Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Tópicos da aula de hoje: Por que transformações? Classificação das transformações Transformações

Leia mais

CFAC: Visual Basic: IV - Decisões

CFAC: Visual Basic: IV - Decisões Visual Basic IV - Decisões CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Operadores Relacionais e Lógicos; 2) Blocos If; 3) Blocos Select Case. @2009 - João Manuel

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais