Programação de Computadores III

Documentos relacionados
Programação de Computadores III

Programação de Computadores:

Introdução ao FORTRAN (Parte I)

Programação de Computadores. Primeiro contato

Programação de Computadores. Professor Ilaim Costa Junior

Introdução à Computação

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Introdução ao Fortran 90-1

Introdução ao Fortran 90-1

Introdução à Computação

Programação de Computadores

Programação Introdução

Aula 08: Repetição (Parte 3)

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Aula 04: Fluxogramas e condicionais

Programação de Computadores III

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Programação de Computadores

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Linguagens de Programação Aula 13

Lógica de Programação I. Gilson de Souza Carvalho

Segundo programa: media.c

11 - Estrutura de um programa em C

Puca Huachi Vaz Penna

Algoritmos RESUMO - LINGUAGEM C

ALGORITMOS VARIÁVEIS E OPERADORES. Prof. Angelo Augusto Frozza, M.Sc.

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

= = = = = = = = = = = = = = = =

Fluxogramas e variáveis

Programação de Computadores III

Programação de Computadores IV

Introdução ao Fortran 90. Aula 3

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

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

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Algoritmo e Programação Matemática

Introdução à Programação uma Abordagem Funcional

Introdução à Linguagem C. Adaptado de Deise Saccol

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

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação

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

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Programação de Computadores II

Conceitos Introdutórios sobre a Linguagem FORTRAN

Ocorrem em três tipos:

Algoritmos I Aula 13 Linguagem de Programação Java

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Introdução à Computação - FORTRAN

Algoritmos e Programação I

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL

ALGORITMOS AULA 2. Profª Amanda Gondim

Introdução à Ciência da Computação

Ambiente de desenvolvimento

SSC 0301 IC para Engenharia Ambiental

Programação Imperativa. Lição n.º 3 Operações aritméticas

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

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Linguagem Haskell. Riocemar S. de Santana

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Oficina de Python Prof. Me. José Carlos Perini

Aula 4: Introdução à Linguagem C++

Roteiro para Aula 1 de laboratório. 1) Mostrar estrutura básica de um código em Fortran. algoritmo. program nome_da_codificacao.

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Unidade 3: Linguagem de programação

Murilo F. Tomé ICMC-USP

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Programação de Computadores:

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Algoritmos e Programação

Oficina de Python Prof. Me. José Carlos Perini

3. Linguagem de Programação C

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Introdução à Linguagem C

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação imperativa. 3. Mais funções

Constantes, Variáveis, tipos de dados e expressões

Tipos de dados, constantes e variáveis. Prof.: Jesus

Noções de algoritmos - Aula 1

Material Didático Unificado.

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Introdução ao fortran 90 - Aula 1

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Transcrição:

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 TCC-03.063 Programação de Computadores III (2013.1) Introdução ao FORTRAN Cinco aspectos precisam ser considerados antes de escrever o primeiro programa em FORTRAN Como um programa é organizado Quais são os tipos de dados disponíveis Como declarar variáveis Como fazer a entrada e saída de dados Como atribuir valores às variáveis TCC-03.063 Programação de Computadores III (2013.1) 2 1

Organização de Programas O programa deve ser escrito utilizando um editor de código, como o Force (http://force.lepsch.com) O FORTRAN faz exigências quanto o uso das colunas no código fonte As colunas 1 a 6 são reservadas para controle As colunas 7 a 72 são utilizadas para o programa em si As colunas 73 em diante são ignoradas Você DEVE documentar o código fonte TCC-03.063 Programação de Computadores III (2013.1) 3 Documentação do Código Fonte Sintaxe Iniciar a coluna 1 da linha de comentário com C ou *, com isso o restante da linha será ignorada Boas práticas Utilize linguagem natural (português) Descreva a finalidade do programa nas primeiras linhas do código fonte Descreva o que cada pedaço de código faz TCC-03.063 Programação de Computadores III (2013.1) 4 2

Exemplo Simples de Programa FORTRAN Comentário A palavra PROGRAM indica o início do código fonte do programa C Este programa imprime a expressão C Hello World na saída padrão program p1hello print *, Hello World! end Nome do programa O comando PRINT escreve na saída padrão (tela do computador) 6 colunas A palavra END indica o fim do código fonte do programa TCC-03.063 Programação de Computadores III (2013.1) 5 Tipos de Dados Toda variável declarada deve ter um tipo de dado Lembre-se O tipo define quais são os valores possíveis Diz ao compilador quanto de memória deve ser reservado para a variável Os tipos dividem-se em o Numéricos: inteiro, real e real com dupla precisão o Não numéricos: caractere e lógico TCC-03.063 Programação de Computadores III (2013.1) 6 3

Tipos de Dados no FORTRAN (32bits) Tipo inteiro: integer Valores numéricos inteiros de -2 31 a 2 31 Exemplos: 6, 123, -45 Tipo real com precisão simples: real Valores numéricos reais com precisão de até sete casas decimais Magnitude de 10-38 a 10 38 O ponto (. ) separa a parte inteira da parte fracionária Exemplo: 0.6023E24 = 0.6023 10 24 TCC-03.063 Programação de Computadores III (2013.1) 7 Tipos de Dados no FORTRAN (32bits) Tipo real com precisão dupla: double precision Valores numéricos reais com precisão de até quinze casas decimais Magnitude de 10-308 a 10 308 Exemplos: 0.54336D-94 = 0. 54336 ₓ 10-94 Tipo lógico: logical Permite representar valores lógicos, ou seja, verdadeiro (.true.) ou falso (.false.) Note que é preciso utilizar um ponto antes e outro depois dos valores TCC-03.063 Programação de Computadores III (2013.1) 8 4

Tipos de Dados no FORTRAN Tipo caractere: character Variáveis deste tipo permitem a representação de texto demarcado por aspas simples ( ) o Exemplo: Isso é um texto Para utilizar o caractere no meio do texto, coloque duas aspas simples consecutivas o Exemplo: Quero usar aspas aqui TCC-03.063 Programação de Computadores III (2013.1) 9 Declaração de Variáveis FORTRAN aceita declaração implícita e explícita de variáveis Declaração Implícita program p2implic print *, Informe A: read *, a x = 2 + a print *, Total:, x end Declaração Explícita program p3explic real a, x print *, Informe A: read *, a x = 2 + a print *, Total:, x end TCC-03.063 Programação de Computadores III (2013.1) 10 5

Declaração Implícita Declaração implícita se baseia na primeira letra do identificador (nome) da variável Variáveis que começam com a-h ou o-z são reais Variáveis que começam com i-n são inteiras Contudo, isso pode levar a erros! É recomendado utilizar declaração explícita TCC-03.063 Programação de Computadores III (2013.1) 11 Declaração Explícita A declaração explícita define qual é o tipo de cada variável que será utilizada no programa A declaração deve vir antes de todos os demais comandos Regras para identificadores (nomes) de variáveis Ter somente letras de A a Z, números de 0 a 9, e _ Começar com uma letra Maiúsculas e minúsculas são equivalentes Use o comando especial implicit none no início do programa para forçar o uso de declaração explícita TCC-03.063 Programação de Computadores III (2013.1) 12 6

Exemplo de uso do implicit none Veja o arquivo p4forced.f TCC-03.063 Programação de Computadores III (2013.1) 13 Declaração Explícita Mais de uma variável pode ser declarada numa mesma lista integer contador, n real X, Y, Z character*20 nome nome é uma variável caractere de tamanho 20 character nome*20, endereco*30 nome tem tamanho 20 e endereco tamanho 30 logical teste, aberto double precision raio, diametro TCC-03.063 Programação de Computadores III (2013.1) 14 7

Entrada e Saída de Dados Entrada Leitura de valores informados pelo usuário ou vindos de arquivo Comando read Saída Impressão na tela ou em arquivo Comandos write e print Por simplicidade, utilizaremos apenas read e print TCC-03.063 Programação de Computadores III (2013.1) 15 Sintaxe dos Comandos read e print Ambos os comandos esperam o formato do dado e a lista de parâmetros read (unidade, formato) lista_de_parâmetros print (unidade, formato) lista_de_parâmetros Por enquanto utilizaremos formato livre read *, altura, base print *, A altura é, altura, e a base é, base O asterisco seguido de vírgula indica formato livre TCC-03.063 Programação de Computadores III (2013.1) 16 8

Exemplos de Declaração, Entrada e Saída Veja o arquivo p5misc.f TCC-03.063 Programação de Computadores III (2013.1) 17 Atribuição de Valores No FORTRAN, o símbolo de igual (=) representa a atribuição de valores a variáveis Exemplo: x = 5 + b (a variável x recebe o valor de 5 + b) Na escrita de algoritmos, o símbolo representa atribuição e o símbolo = é o operador lógico de comparação de igualdade Não confunda os símbolos = da escrita de um algoritmo com o = em FORTRAN! TCC-03.063 Programação de Computadores III (2013.1) 18 9

Exemplo de Atribuição de Valores Veja o arquivo p6atribu.f TCC-03.063 Programação de Computadores III (2013.1) 19 Operadores Aritméticas no FORTRAN Descrição Álgebra FORTRAN Prioridade Parênteses (... ) (... ) 1 Potenciação A B A ** B 2 Multiplicação A B A * B 3 Divisão A B A / B 3 Adição A + B A + B 4 Subtração A B A B 4 TCC-03.063 Programação de Computadores III (2013.1) 20 10

Conflito de Prioridade Para duas operações com a mesma prioridade, a avaliação é feita da esquerda para a direita 8 + 512 2 520 2 518 6 * 3 * 4 18 * 4 72 Contudo, no caso da potência, a avaliação é feita da direita para a esquerda 4 ** 3 ** 2 4 ** 9 262144 Para evitar problemas, sempre utilize parênteses TCC-03.063 Programação de Computadores III (2013.1) 21 Operação de Divisão com Inteiros Aritmética de inteiros Na operação de divisão aplicada a valores inteiros, o resultado será somente a parte inteira da divisão o Ex.: 3 / 2 = 1 Aritmética em modo misto Na operação de divisão aplicada a um valor real e um inteiro, os inteiros serão automaticamente convertidos para reais Exemplo Veja o arquivo p7divide.f TCC-03.063 Programação de Computadores III (2013.1) 22 11

Funções Matemáticas Descrição FORTRAN Exemplo Valor absoluto ABS(X) ABS(-5.0) 5.0 Resto da divisão MOD(X, Y) MOD(5, 2) 1 Arredondamento NINT(X) NINT(5.7) 6 Raiz quadrada SQRT(X) SQRT(2.0) 1.41421354 Arco cosseno ACOS(X) ACOS(-1.0) 3.14159274 Cosseno COS(X) COS(0.0) 1.0 Arco seno ASIN(X) ASIN(1.0) 1.57079637 Seno SIN(X) SIN(0.0) 0.0 Arco tangente ATAN(X) ATAN(1.0) 0.785398185 Tangente TAN(X) TAN(1.0) 1.55740774 Exponencial EXP(X) EXP(1.0) 2.71828175 Logaritmo natural LOG(X) LOG(2.71828175) 1.0 Logaritmo na base 10 LOG10(X) LOG10(100.0) 2.0 Maior número de uma lista MAX(...) MAX(1, 5, 10) 10 Menor número de uma lista MIN(...) MIN(1, 5, 10) 1 Converter para inteiro INT(X) INT(5.7) 5 Converter para real REAL(X) REAL(5) 5.0 Converter para precisão TCC-03.063 dupla Programação DBLE(X) de Computadores III (2013.1) DBLE(5) 5.0 23 Estruturas de Decisão no FORTRAN SE... ENTÃO... SE NÃO... FIM SE IF (condição) THEN bloco de comandos ELSE bloco de comandos END IF SE... ENTÃO... FIM SE IF (condição) THEN bloco de comandos END IF TCC-03.063 Programação de Computadores III (2013.1) 24 12

Operadores Relacionais no FORTRAN Descrição Operador FORTRAN Exemplo Igual (equal) =.EQ. 3.EQ. 2.FALSE. Diferente (not equal).ne. 3.NE. 2.TRUE. Menor que (less than) <.LT. 3.LT. 2.FALSE. Menor ou igual (less or equal).le. 3.LE. 2.FALSE. Maior que (greater than) >.GT. 3.GT. 2.TRUE. Maior ou igual (greater or equal).ge. 3.GE. 2.TRUE. Exemplo Veja o arquivo p8oprela.f TCC-03.063 Programação de Computadores III (2013.1) 25 Operadores Lógicos no FORTRAN Operador Condição para Verdadeiro FORTRAN Exemplo E Ambos os valores verdadeiros.and..true..and..true..true..true..and..false..false..false..and..true..false..false..and..false..false. OU Um dos valores verdadeiro.or..true..or..true..true..true..or..false..true..false..or..true..true..false..or..false..false. Negação O valor ser falso.not..not..true..false..not..false..true. Exemplo Veja o arquivo p9oplogi.f TCC-03.063 Programação de Computadores III (2013.1) 26 13

Estruturas de Repetição Permitem que um bloco de comandos seja executado diversas vezes Dois tipos principais de estruturas de repetição Condicional Contável TCC-03.063 Programação de Computadores III (2013.1) 27 Repetição Condicional DO WHILE (<condição>) <bloco de comandos> END DO Significado <bloco de comandos> é executado repetidamente enquanto <condição> for verdadeira Verificação da <condição> é realizada antes de cada repetição Equivale na ENQUANTO... REPETIR... TCC-03.063 Programação de Computadores III (2013.1) 28 14

Exemplo de Repetição Condicional Veja o arquivo p10loop1.f TCC-03.063 Programação de Computadores III (2013.1) 29 Simulando o REPETIR... ENQUANTO... Existem casos em que é mais prático fazer a verificação no final do processamento Ou seja, o bloco de comandos é executado ao menos uma vez Nestes casos, utilizamos uma variável lógica de apoio LOGICAL repete repete =.TRUE. DO WHILE (repete) <bloco de comandos> repete = <condição> END DO TCC-03.063 Programação de Computadores III (2013.1) 30 15

Exemplo de Repetição Condicional Veja o arquivo p11loop2.f TCC-03.063 Programação de Computadores III (2013.1) 31 Repetição Contável DO <variável> = <início>, <fim>, <incremento> <bloco de comandos> Argumento opcional. END DO Significado Sua ausência significa que é igual a 1. Pode ser negativo. A <variável> inicia com <início> e a cada repetição é incrementada de <incremento> Para cada repetição <bloco de comandos> é executado, enquanto a <variável> for menor ou igual que <fim> Equivale ao PARA... ATÉ... REPETIR... TCC-03.063 Programação de Computadores III (2013.1) 32 16

Exemplo de Repetição Contável Veja o arquivo p12loop3.f TCC-03.063 Programação de Computadores III (2013.1) 33 17