GEO764 - Programação avançada em Geofísica. Entrada e saída no Fortran 90. Comando OPEN. Comando OPEN: exemplo
|
|
|
- Eduarda Godoi Bandeira
- 8 Há anos
- Visualizações:
Transcrição
1 GEO764 - Programação avançada em Geofísica FORTRAN 90: Aula no 9 Miscelânea Entrada e saída no Fortran 90 É extenso em assuntos relativos a E/S. Permite um grande número de arquivos conectados a um programa, tanto para leitura como escrita. Um arquivo é conectado por meio de uma unidade lógica, denotado por um número. Cada unidade tem diversas propriedades: nome: nome do arquivo conectado ação: se para leitura, escrita, leitura e escrita, etc. estado: existente, novo, substituir, etc. método de acesso: seqüencial, direto. 2 mar-07 Hédison K. Sato Comando OPEN 3 Comando OPEN: exemplo 4 A sintaxe é: OPEN([UNIT=]<inteiro>, FILE=<filename>, & ERR=<label>, STATUS=<status>, ACCESS=<method>,& ACTION=<mode>,RECL=<int-expr>) onde <filename> é uma cadeia de caracteres, <status> é OLD, NEW, REPLACE, SCRATCH, ou UNKNOWN <method> é DIRECT ou SEQUENTIAL <mode> é READ, WRITE ou READWRITE se o acesso é direto, <int-expr> precisa ser dado. OPEN(17, FILE= output.dat, ERR=10, & STATUS= REPLACE, ACCESS= SEQUENTIAL,& ACTION= WRITE ) OPEN(14, FILE= input.dat, ERR=10, & STATUS= OLD, ACCESS= DIRECT,& ACTION= READ,RECL=nlength)
2 5 6 Comando READ Comando READ Nem todas especificações podem ser simultâneas. READ([UNIT=]<inteiro>, [FMT=]<format>, & IOSTAT=<int-variable>, ERR=<label>, & END=<label>, EOR=<label>, & ADVANCE=<advance-mode>, REC=<int-expr>, & SIZE=<num-chars>) <input-list> onde <unit> é um número ou *, <format> é uma cadeia de caracteres ou o rótulo de um FORMAT, <int-variable> armazena um código de retorno, zero significa sem erro, <label> rótulo de um comando executável, <advance-mode> é YES ou NO <num-chars> é o número de caracteres lido, <int-expr> é o número do registro (p/ acesso direto) Exemplo: READ(14,FMT= (3(F10.7,1X)),REC=iexp) a,b,c READ(*, (A),ADVANCE= NO,EOR=12,SIZE=nch) str 7 8 Comando WRITE Comando WRITE Nem todas especificações podem ser simultâneas. WRITE([UNIT=]<inteiro>, [FMT=]<format>, & IOSTAT=<int-variable>, ERR=<label>, & ADVANCE=<advance-mode>, REC=<int-expr>) & <output-list> onde <unit> é um número ou *, <format> é uma cadeia de caracteres ou o rótulo de um FORMAT, <int-variable> armazena um código de retorno, zero significa sem erro, <label> rótulo de um comando executável, <advance-mode> é YES ou NO <int-expr> é o número do registro (p/ acesso direto) Exemplo: WRITE(17,FMT= (I4),IOSTAT=istat,ERR=10) IVAL WRITE(*, (A),ADVANCE= NO ) Yello
3 Comando FORMAT especificação FMT 9 Descritores de edição 10 FMT= pode especificar tanto o número da linha do comando FORMAT, uma expressão tipo caracter ou um * (asterisco). O Fortran 90 tem uma rica sintaxe para formatação. Aqui serão vistos alguns deles. WRITE(17, FMT= (2X,2I4,1X, NOME,A7) ) I,J,STR READ(14,*) x,y WRITE(*,FMT=10) a,b 10 FORMAT( vals, 2(F15.6,2x)) o dado é formatado por meio de descritores de edição. No exemplo, o seguinte é escrito NOME Philip vals Sumário: Iw w caracteres de dado inteiro Fw.dw caracteres de dado real. (d número de decimais) Ew.dw caracteres de dado real. (d número de decimais) Lw w caracteres de dado lógico A[w ] w caracteres de dado caracter nx pula n caracteres (n espaços) Por exemplo: WRITE(*,FMT= (2X,2(I4,1X), name,& A4,F13.5,1X,E13.5) ) & 77778,3, ABCDEFGHI,14.45, imprime **** 3 name ABCD E Outros comandos de E/S Procedimentos externos CLOSE - desfaz a conexão da unidade do número especificado no comando. REWIND - reposiciona o apontador no início do arquivo. BACKSPACE - o apontador é reposicionado um registro em direção ao início do arquivo. ENDFILE - força a gravação de um end-of-file. Esses comandos têm outros especificações tais como o IOSTAT REWIND(14) BACKSPACE(UNIT=14) ENDFILE(17) CLOSE(UNIT=17,IOSTAT=ival) O Fortran 90 admite o procedimento externo (similar ao velho estilo de programação do Fortran 77). Evidentemente, este procedimento não faz parte de um programa ou módulo, devendo ser denotado como sendo um procedimento externo (EXTERNAL). Assim: eles podem ser compilados separadamente, podem necessitar uma interface explícita para ser fornecida ao programa usuário, podem ser utilizados como argumentos (somando-se aos intrínsecos), devem conter o especificador IMPLICIT NONE.
4 Sintaxe de subrotina externa não recursiva 13 Subrotina externa: exemplo 14 SUBROUTINE Ext_1()! CONTAINS! Procedimentos internos SUBROUTINE Int_1()! comandos executáveis END SUBROUTINE Int_1 FUNCTION Int_n()! comandos executáveis END FUNCTION Int_n END SUBROUTINE Ext_1 SUBROUTINE Ext_2()! etc END SUBROUTINE Ext_2 Um procedimento externo pode chamar um outro procedimento externo. SUBROUTINE sub1(a,b,c) IMPLICIT NONE EXTERNAL sum_sq! declara ou use INTERFACE REAL :: a,b,c ; CALL sum_sq(a,b,c,s); END SUBROUTINE sub1 chama SUBROUTINE sum_sq(aa,bb,cc,ss) REAL, INTENT(IN) :: aa,bb,cc REAL, INTENT(OUT):: ss ss = aa*aa + bb*bb + cc*cc END SUBROUTINE sum_sq Sintaxe de uma função não recursiva 15 Sintaxe de uma função não recursiva 16 Primeiro modelo: [<prefixo>] FUNCTION <nome-proc>([<arg-mudos>]) <declaração dos argumentos mudos> <declaração dos objetos locais> <comandos executáveis, atribuição do resultado> [CONTAINS <definições internas ao procedimento>] END [FUNCTION [<nome-proc>]] O <prefixo> especifica o tipo do resultado. Segundo modelo: FUNCTION <nome-proc>([<arg-mudos>]) <declaração dos argumentos mudos> <declaração do tipo do resultado> <declaração dos objetos locais> <comandos executáveis, atribuição do resultado> [CONTAINS <definições internas ao procedimento>] END [FUNCTION [<nome-proc>]] O <nome-proc> precisa ser declarado.
5 17 18 Exemplo de função externa Interfaces de procedimentos A função é ativada pela sua presença na expressão, no local em que o resultado é exigido. total = total + maior(a, b, c) As funções externas devem ser declaradas como EXTERNAL, senão a INTERFACE deve ser fornecida. INTEGER, EXTERNAL:: largest A função é descrita como INTEGER FUNCTION & maior(i,j,k) IMPLICIT NONE; INTEGER, & INTENT(IN):: i,j,k maior = max(i, j, k) END FUNCTION maior FUNCTION maior(i,j,k) IMPLICIT NONE; INTEGER, & INTENT(IN):: i,j,k INTEGER:: maior maior = max(i, j, k) END FUNCTION maior É possível prover uma interface explícita para um procedimento externo. Assim, considerando a seguinte subrotina, SUBROUTINE expsum(n,k,x,sum)! interface USE KIND_VALS: ONLY long IMPLICIT NONE INTEGER, INTENT(IN):: n! interface REAL(long), INTENT(IN) :: k,x! interface REAL(long), INTENT(OUT):: sum! interface REAL(long), SAVE:: cool_time END SUBROUTINE expsum! interface Interfaces de procedimentos (cont.) 19 O quê aparece na interface? 20 A interface propriamente dita é formada com os comandos que aparecem no intervalo contendo as declarações INTERFACE! p/ procedimentos externos SUBROUTINE expsum(n,k,x,sum)! interface USE KIND_VALS: ONLY long INTEGER, INTENT(IN):: n! interface REAL(long), INTENT(IN) :: k,x! interface REAL(long), INTENT(OUT):: sum! interface END SUBROUTINE expsum! interface END INTERFACE As interfaces substituem qualquer comando EXTERNAL e são desnecessários para os procedimentos internos. Uma interface contém somente: o cabeçalho SUBROUTINE ou FUNCTION o tipo da função (se não estiver definido no cabeçalho), declaração dos argumentos mudos, incluindo os atributos. o comando END SUBROUTINE ou END FUNCTION As interfaces somente são necessárias para procedimentos externos e eliminam a necessidade de qualquer outra forma de declaração para os procedimentos em questão.
6 21 22 Exemplo de interface Interfaces obrigatórias O programa inclui uma interface explícita PROGRAM exemplo_de_interface IMPLICIT NONE INTERFACE SUBROUTINE expsum(n,k,x,sum) INTEGER, INTENT(IN):: n REAL, INTENT(IN) :: k,x REAL, INTENT(OUT):: sum END SUBROUTINE expsum END INTERFACE REAL:: sum ; CALL expnum( 10,0.5,0.1,sum); END PROGRAM exemplo_de_interface As interfaces explícitas permite compilações separadas, otimizações e verificação dos tipos. Interfaces explícitas são obrigatórias se o procedimento externo tiver argumentos mudos que sejam conjuntos de forma a determinar, apontadores ou alvos, argumentos opcionais, conjuntos ou apontador como resultado (função), um resultado que tem uma especificação de comprimento LEN=* herdada (funções caracter). e quando a referência: tem uma palavra-chave como argumento, é uma atribuição definida, é uma chamada para um nome genérico, é uma chamada para um operador definido (função) Procedimentos como argumentos 23 Exemplos de procedimentos como argumentos 24 Os procedimentos externos usados como argumentos precisam ser declarados no local da chamada (CALL) como INTRINSIC: para os procedimentos internamente construídos. INTRINSIC MVBITS ; REAL, INTRINSIC:: ASIN EXTERNAL: para os procedimentos externos ou mudos EXTERNAL my_subby ; INTEGER, EXTERNAL:: my_fun Se o nome de um procedimento interno é usado em um comando EXTERNAL, então somente o procedimento externo homônimo é visível no escopo; o procedimento intrínseco fica indisponível. Nos dois casos, o procedimento específico, não o genérico, pode ser usado como argumento efetivo. Procedimentos internos não podem aparecer como argumentos. PROGRAM main IMPLICIT NONE INTRINSIC ASIN REAL, EXTERNAL:: my_sin EXTERNAL diffo1 CALL subby(asin,my_sin,diffo1,sin(0.5)) END PROGRAM main SUBROUTINE subby(fun1,fun2,sub1,x) IMPLICIT NONE REAL, INTENT(IN):: x REAL, EXTERNAL:: fun1, fun2; EXTERNAL sub1 PRINT *, fun1(x), fun2(x) CALL sub1(fun2(x),fun1,x) END SUBROUTINE subby
7 Exemplos de procedimentos como argumentos (cont.) 25 Comando DATA 26 SUBROUTINE diffo1(y,f,x) IMPLICIT NONE ; REAL, INTENT(IN):: x, y REAL, EXTERNAL:: f PRINT *, Diffo1 =, y - f(x) END SUBROUTINE diffo1 REAL FUNCTION my_sin(x) END FUNCTION my_sin O comando DATA é bom para iniciar seções de conjuntos de forma irregular, complicada. DATA <lista-var-1>/<lista-1-dados>/, & <lista-var-n>/<lista-n-dados>/ O número de constantes em cada <lista-dados> precisa ser igual ao número de variáveis e elementos de conjuntos da <lista-var> correspondente. Qualquer objeto iniciado por um comando DATA tem o atributo SAVE. Exemplo de comando DATA 27 Comando DATA laço DO implícito 28 Como exemplo, considere iniciar um conjunto com todos os valores das extremidades iguais a um e o restante, nulo. Este não é um caso simples a ser feito com outro comando, como é com o DATA: REAL:: matriz(100,100) DATA matriz(1, 1:100)/100*1.0/ DATA matriz(100,1:100)/100*1.0/ DATA matriz(2:99, 1)/98*1.0/ DATA matriz(2:99, 100)/98*1.0/ DATA matriz(2:99,2:99)/9604*0.0/ A expressão 100*1.0 significa 100 ocorrências de 1.0, o * é a especificação de repetição. Neste contexto, não deve ser confundido com a multiplicação. No comando DATA, a <lista-var> pode ser especificada por meio de um laço DO implícito. Iniciar um matriz com uma constante ao longo da diagonal e zero nos demais elementos é simples usando este método. A seção é especificada por um laço genioso que é mais expressivo do que a sintaxe de conjunto permitem. REAL:: diag(100,100) DATA (diag(i,i),i=1,100) / 100* 1.0/ DATA ((diag(i,j),diag(j,i), j=i+1,100),i=1,100)& /9900*0.0/
8 29 30 Comando GO TO Comando GOTO: exemplo É poderoso mas permite desvios indisciplinados. Pode ser usado para criar desvios para quase todos os locais de uma unidade de programa. Pode ser perigoso. Pode resultar códigos sem estrutura. Pode ser bastante útil. A sintaxe básica é: GOTO <rótulo-numérico> O rótulo precisa existir e estar no mesmo escopo junto a um comando executável. Considere o seguinte exemplo de uso atroz do GOTO GOTO 10! pulo p/ frente 23 CONTINUE i = i-1 IF(I.EQ.0) GOTO PRINT*, Linha j = j-1! loop IF(j.NE.0) GOTO 69 GOTO 23! desvio para trás 99 CONTINUE Este trecho de código mostra pulos p/ frente, p/ trás e a simulação de um laço DO. O melhor uso do GOTO é sair de uma estrutura muito embutida, em situações críticas. RETURN e STOP 31 Fortran 95 FORALL 32 Usar para tratar situações de exceção em procedimento. SUBROUTINE sub(ierror) INTEGER, INTENT(OUT):: ierror ALLOCATE(a(100),STAT=ierror) IF(ierror>0) THEN PRINT*, Falha na alocação RETURN END IF END SUBROUTINE STOP poderia ter sido usado em lugar do RETURN: STOP sub: falha na alocação A mensagem é opcional. Pode ser uma constante inteira com até 5 dígitos. Comando e estrutura FORALL FORALL (i=1:100,j=2:100) e(i,j)=b(i,j)+f(i,j) FORALL (i=1:100:3,j=2:100:2,a(i,j)>0) b(i,j)=c(i,j)+d(i,j) e(i,j)=b(i,j)+f(i,j) END FORALL Na estrutura FORALL, além de atribuições, podem ser usados os comandos e estruturas WHERE e FORALL Cada comando é executado por completo, em paralelo, antes do seguinte.
9 Fortran 95 FORALL (cont.) 33 EFEITO COLATERAL PROIBIDO 34 O FORALL dispõe uma alternativa eficiente para a construção elemento a elemento de um conjunto. Permite explicitar elementos de conjuntos, seções, subcadeias, ou alvos apontados com função dos subscritos dos elementos. FORALL (<lista-de-triplas>[,<máscara-escalar>]) onde cada tripla é índice=subscrito:subscrito[:passo] O comando considera, como no caso do WHERE, que as operações cálculo e atribuição são executadas em qualquer ordem sempre com o mesmo resultado, o que quer dizer, em paralelo. Para facilitar a compilação otimizada, a regra padrão do Fortran proíbe dependências a certos efeitos colaterais. A regra especifica ser desnecessária a avaliação parcial ou total de todos operandos de uma expressão, se o valor da expressão puder ser determinada de outra forma. Ex.: x>y.or. fun(z)! x, y e z reais e fun uma função lógica A chamada da função é dispensável se x é maior que y. Desta forma, z é indeterminado se o seu valor é modificado por fun. Similarmente, é dispensável a avaliação de subscrito ou subcadeia de um conjunto de tamanho nulo ou objeto caracter de comprimento nulo EFEITO COLATERAL PROIBIDO 35 Fortran 95 PURE 36 A chamada a uma função não deve redefinir o valor de uma variável que aparece no mesmo comando ou afete o valor de outra função no mesmo comando. Ex.: d=max(dist(p,q), dist(q,r)) Com relação a esta regra, o comando if, if (expressão lógica) comando é tratado como equivalente a if (expressão lógica) then comando endif O mesmo se aplica para o comando where Esta regra permite que quaisquer expressões, argumentos de um único procedimento, sejam avaliadas em qualquer ordem. A palavra PURE, adicionada aos comandos function e subroutine, assegura que o procedimento não tem efeitos colaterais, ou seja, ficam assegurados que Não altera qualquer dos argumentos mudos Não altera qualquer parte de uma variável do hospedeiro ou associação Não contém variável local com o atributo save Não realiza operação com um arquivo externo Não contém o comando stop Ex.: pure function dist(p,q) Para maiores detalhes, consulte Metcalf e Reid (2000)
10 Fortran 95 ELEMENTAL 37 Fortran 95 ELEMENTAL 38 Denomina-se elemental os operadores e funções intrínsecas capazes de serem aplicados a escalares e conjuntos. Ex.: c=a+b; c=sin(a) onde a, b e c podem ser conjuntos similares Estende esta característica para os procedimentos não intrínsecos. Ex.: type estat real :: media, var end type estat elemental function soma(a,b) type (estat) :: soma type (estat), intent(in):: a, b soma%media=a%media+b%media soma%var=a%var+b%var end function soma No exemplo anterior, a função tem dois argumentos. Assim, ela é capaz de operar sobre dados com as seguintes combinações de ordem: 0-0, 0-1, 1-0, 1-1, 0-2, 2-0, 2-2,, 0-7, 7-0, combinações! Se restrito ao Fortran90, teriam que ser escritas 22 versões. A função elementar tem o atributo pure também. Não é permitido uma função elementar ter o caráter recursivo. Para maiores detalhes, consulte Metcalf e Reid (2000) Fortran 95 Miscelânea 39 Fortran 95 Miscelânea 40 O Fortran 95 possui uma função intrínseca NULL para atribuir valor inicial nulo aos apontadores, em lugar do indefinido. Também tem mecanismos para atribuir valores iniciais aos componentes dos tipos derivados. O Fortran 95 permite o uso das funções definidas pelo usuário nas expressões de especificação, desde que sejam PURE. Uso da <especificação> no comando END INTERFACE END INTERFACE <especifição> Características removidas em relação às versões anteriores: Comandos ASSIGN e GOTO atribuídos Comando PAUSE Variáveis de controle do tipo real no comando DO Descritor de edição H (para especificação de formato) Desvio para o ENDIF, de fora do bloco IF
11 FIM 41 Referências Metcalf, M. e Reid, John, 2000, Fortran 90/95 explained, Oxford Univ. Press. Fazer os exercícios.
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
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
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
Capítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
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:
Introdução ao Fortran 90-1
Introdução ao Fortran 90-1 Departamento de Física UFPel Definição de Programa em Fortran 90 Programa ou Código-fonte Programa ou código-fonte é um conjunto de instruções, também chamadas de comandos, escritas
Programação Orientada a Objetos. Manipulação de Exceções
Programação Orientada a Objetos Manipulação de Exceções Cristiano Lehrer, M.Sc. Introdução à Manipulação de Exceções (1/2) Em uma linguagem sem manipulação de exceção: Quando ocorre uma exceção, o controle
Programação estruturada no Fortran 90-2
Programação estruturada no Fortran 90-2 Departamento de Física UFPel Faça um programa em Fortran 90 que calcule o valor do cos-seno de x através da série abaixo, co-seno(x) = 1 x2 2! + x4 4! x6 6! + x8
Linguagens de Programação
Linguagens de Programação Celso Olivete Júnior [email protected] Na aula passada Expressões Precedência e associatividade de operador Sobrecarga de operador Expressões de modo misto Várias formas de
Programação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
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
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:
Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius
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
Tipos Abstratos de Dados. Estrutura de Dados
Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
INSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Revisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Introdução à Ciência da Computação
Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado
Introdução ao fortran 90 - Aula 1
Introdução ao fortran 90 - Aula 1 Departamento de Física UFPel 1954-1957: The IBM Mathematical Formula Translating System John W. Backus da IBM: Fortran I: alternativa à linguagem assembler para a programação
Introdução ao Fortran 90-1
Introdução ao Fortran 90-1 Departamento de Física UFPel Definição de Programa em Fortran 90 Programa ou Código-fonte Programa ou código-fonte é um conjunto de instruções, também chamadas de comandos, escritas
ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Programação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto [email protected] [email protected] 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
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
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
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 -
Algoritmos e Programação
Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes [email protected] 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a
3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos
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
Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho [email protected] Material produzido pelo professor: Leandro Augusto Frata Fernandes ([email protected])
INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
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
Python: Exceções, Iteradores e Geradores. Claudio Esperança
Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção
Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias
SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de
O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.
O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO 1. A linguagem de programação Object Pascal a) Palavras reservadas b) Tipos de dados, variáveis e constantes
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
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
Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
CAP. VI ANÁLISE SEMÂNTICA
CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Nomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Modularidade - Funções e Procedimentos
Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de
Fundamentos Programação
Fundamentos Programação A programação de computadores não é difícil. Realmente só requer algo como: Aprender alguns conceitos gerais Ser cuidadoso, organizado e lógico Praticar até aprender a dominar a
Modularidade - Fun ções e Procedimentos
Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de
5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );
O todo é igual à soma das partes. Euclides. FUNÇÕES E PROCEDIMENTOS Embora sem saber, ao longo dos outros laboratórios, já foram utilizadas funções tais como printf, scanf, getchar, putchar, dentre outras
4. Estruturas Fundamentais de Programação em C
4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente
Ambiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Nomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
ESTRUTURAS DE CONTROLE
ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C 03/12/16 Repetição Contada Fluxograma Linguagem C I = C até F sim Comando não For (i=c; i
Introdução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria [email protected]
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
Métodos de Programação I Ana Maria de Almeida
Métodos de Programação I 2. 13 type naipe = ( ouros, copas, paus, espadas ); var trunfo : naipe; Claro que são apenas identificadores e não existirá a mesma escolha de operadores e funções sobre eles que
