Estrutura de um Programa:

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 5 Criado por Frederick H. Colclough, Colorado Technical University Vetores.
Programação em Java Prof. Maurício Braga
Linguagem de Programação I
Programação em Java Prof. Maurício Braga
Programação de Computadores
Programação de Computadores
Programação de Computadores
Programação de Computadores
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA MECÂNICA INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
1 Trabalho prático 8 Private Sub cmdExecutar_Click() If optLer Then frmLer.Show Else frmEscrever.Show End If End Sub Ficheiro de pontos Ficheiro de distancias.
Construção de Algoritmos AULA 07
03/08/2011 Professor Leomir J. Borba- –
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
LINGUAGEM C.
Programação para Engenharia I
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Paulo Henrique Graf Fernandes
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos
Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001
Linguagem C.
Ponteiros.
Variável Variável: “objecto” que pode assumir diversos valores;
Revisão da Linguagem C.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Prof. Marcello Macarthy
Algoritmos e Programação
O Portal do Estudante de Computação
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Subprogramas - Funções e Sub-rotinas
Variáveis, Tipos de Dados e Constantes
Introdução a Computação e Cálculo Numérico
Algoritmos Computacionais ( Programas )
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Linguagens imperativas: Aula prática
Aula 02 Variáveis, Matrizes, Gráficos
Estrutura de dados, pseudocódigo
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Seminário 1: Revisão de C
Introdução ao uso de vatores na linguagem PASCAL.
Entradas e Saídas Comando PRINT Direciona um dado não formatado para a saída padrão (exemplo: tela) PRINT,,,... Comando READ Lê um dado não formatado da.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Tipos de Dados Paradigmas de Programação
PROGRAMAÇÃO I Dados Tipos de dados Variáveis Constantes Expressões
Programação em C++ Compiladores
Fundamentos de Programação
Vetores e Matrizes Ameliara Freire
CPC782 Fundamentos de Programação
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Computação Eletrônica
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Campus de Caraguatatuba
Tipos de Dados Operadores
UTILIZAÇÃO DA LINGUAGEM MS-VISUAL BASIC.NET Objetivo: apresentar os principais recursos da linguagem “Visual Basic” necessários à criação de macros para.
Aula01 – Técnicas de Programação II
Algoritmos e Programação
Estruturas de Dados + Algoritmos = Programas
Algoritmos.
Professor: André Didier Autor: Francisco Airton
Paradigmas das Linguagens de Programação - História
Introdução ao Fortran Agosto/
Transcrição da apresentação:

Estrutura de um Programa: Aula 2 Estrutura de um Programa: Cabeçalho de Definição PROGRAM, FUNCTION, SUBROUTINE, MODULE ou BLOCK DATA Pode haver apenas um comando PROGRAM, ou BLOCK DATA Pode haver vários comandos SUBROUTINE e/ou FUNCTION e/ou MODULE Comandos de Declaração REAL, INTEGER, IMPLICIT, PARAMETER, DATA Comandos de Execução IF-EDNIF, DO-ENDDO, etc Finalização do Programa END

Tipos de Dados (Variáveis / Constantes): Declaração Inteiros INTEGER i,j,k 10 dígitos – 4 byte Reais (simples) REAL*4 r,s,t ou REAL r,s,t E-78 a E+75 6 casas decimais – 4 byte Reais (duplo) REAL *8 r,s,t ou DOUBLE PRECISION r,s,t D-78 a D+75 15 casas decimais – 8 byte Complexos (simples) COMPLEX*8 z ou COMPLEX z 6 casas decimais – 8 byte Complexos (duplo) COMPLEX*16 z 15 casas decimais – 16 byte Alfanuméricos CHARACTER var*m ou CHARACTER*m, var, ou ainda CHARACTER (LEN=m) var1, (LEN=n) var2 .1316 Lógicas LOGICAL nome 4 byte

Declaração de variáveis (F90) <tipo>[,atributos,] :: <variaveis>=[valor] atributos podem ser: PARAMETER, DIMENSION, etc Variáveis não declaradas possuem um tipo implícito de dados: Iniciando com I,J,K,L,M e N: Inteiro Qualquer outra letra: Real A declaração IMPLICIT NONE impede que sejam usados tipos implícitos de dados Declaração de Constantes INTEGER pre PARAMETER(pre=252) F77 REAL, PARAMETER :: pi=3.14159 F90

Vetores e Matrizes (array): Seqüência ordenada e estruturada de variáveis indexadas e agrupadas em localizações adjacentes de memória. Vetores – Unidimensionais Matrizes - Multidimensionais Uma matriz pode ter até 7 índices. Exemplo: A(1,1), A(1,2), A(2,1), A(2,2) são os elementos de uma matriz A DIMENSION X(2,3) X(1,1), X(1,2), X(2,1), X(2,2), X(2,3) DIMENSION Y(2:5) Y(2), Y(3), Y(4), Y(5) REAL X(2,3) REAL, DIMENSION(1:100) :: C F90

F90 – Alocação dinâmica de matrizes: ALLOCATABLE Declara as variáveis INTEGER, DIMENSION(:), ALLOCATABLE::idade REAL, DIMENSION(:,:), ALLOCATABLE::vel ALLOCATE Aloca memória ALLOCATE(idade(5)) ALLOCATE(vel(2,3)) DEALLOCATE Libera memória DEALLOCATE(idade) DEALLOCATE(vel)

F90 – Funções de matrizes: Consideremos: REAL, DIMENSION (-10:10,23,14,28)::A LBOUND(Matriz,[Dim]) LBOUND(A) LBOUND(A,1) Limite inferior das dimensões de uma matriz Resultado: ( /-10, 1,14/ ) Resultado: -10 UBOUND(Matriz,[Dim]) UBOUND(A) Limite superior das dimensões de uma matriz Resultado: ( /10,23,28/ ) SHAPE(Matriz) Shape(A) Identifica a forma de uma matriz Resultado: ( /21,23,15/ ) RESHAPE(Matriz,Shape) RESHAPE((/1,2,3,4/),(/2,2/) Formata um matriz Resultado: 1 3 2 4 SIZE(Matriz,[Dim]) SIZE(A,1) SIZE(A) Identifica o número de elementos de uma matriz Resultado: 21 Resultado: 7245

Atribuição de valores: F90 REAL vet(5) INTEGER i REAL, DIMENSION(2,3) :: mat vet = (/ 1,2,3,4,5 /) vet = (/ i, i=1, 5 /) 1,2,3,4,5 vet=(/-1,(0, i=2, 4),1/) -1, 0, 0, 0, 1 mat=RESHAPE((/1,2,3,4,5,6/),(/2,3/) 1 3 5 2 4 6

Operadores: Relacionais Aritiméticos Matemática F77 F90 < .LT.  .LE. <= = .EQ. ==  .NE. /= > .GT.  .GE. >= Exemplo: ( x.LT.y ) F77 ( x<=y ) F90 Soma + Subtração - Multiplicação * Divisão / Potenciação ** Atribuição = Concatenação // x=10 Y=15 Z=X+Y ! Resultado 25 CHARACTER(LEN=5), PARAMETER:: S=“ABCDE” CHARACTER(LEN=8) X X=S//”123” ! Resultado: ABCDE123

Lógicos .AND. Junção .OR. Disjunção .NOT. Negação .NEQV. ou .XOR. Desigualdade lógica .EQV. Igualdade lógica Exemplo: LOGICAL,PARAMETER:: S=.TRUE., T=.FALSE. S.AND.T False T.AND.T S.OR.T True T.OF.T S.EQ.T S.NEQV.T

Funções e Sub-rotinas Procedimentos relativamente independentes do corpo do programa principal e que realiza determinada tarefa de processamento Função (FUNCTION): Retorna sempre um valor representado pelo nome da função O nome da função deve corresponder ao tipo de valor retornado Pode usar uma lista de argumentos para a entrada de valores Pode ser chamada dentro de um comando [<Tipo da Função>] FUNCTION <Nome> [(argumentos>)] Declarações de variáveis Comandos executáveis Comando de atribuição do resultado END [FUNCTION] [<Nome>]

Sub-rotina (SUBROUTINE): Não representa um valor – o nome da sub-rotina não é uma variável Pode usar uma lista de argumentos para entrada e saída de valores Pode retornar um valor, muitos valores ou nenhum É chamada com o comando CALL SUBROUTINE <Nome> [(argumentos>)] Declarações dos argumentos e variáveis Comandos executáveis END [SUBROUTINE] [<Nome>] Uso: CALL <Nome>[<argumentos>]

Exemplo: PROGRAM PROGSOMINT INTEGER K PRINT *,'Informe um número inteiro' READ *,K KK=SOMINT(K) Print *,'A soma dos ',K,' primeiro numeros inteiros é: ',KK CONTAINS INTEGER FUNCTION SOMINT(N) INTEGER I,N,M M=0 DO 10 I=1,N M=M+I 10 CONTINUE SOMINT=M END FUNCTION SOMINT END PROGRAM PROGSOMINT

Calcular as raízes reais de uma equação do segundo grau. Ler, a partir da entrada padrão, os coeficientes reais a, b, c Calcular as raízes da equação a*x**2+b*x+c Escrever o resultado para a saída padrão Utilize sempre IMPLICIT NONE