Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Programação de Computadores
Viviane Torres da Silva
2
Introdução a Fortran Para a escrita de um primeiro programa em Fortran, quatro aspectos precisam ser considerados: Como um programa é organizado. Quais são os tipos de dados disponíveis. Como variáveis podem ser declaradas. Como entrada e saída básica de dados podem ser feitas. Como atribuir valores às variáveis.
3
Organização de programas
Utilizar um editor de texto. Ex: Force Regras: As colunas de 1 a 6 do programa são reservadas para controle. As colunas 7 a 72 são utilizadas para o programa em si. As colunas de 73 em diante devem ser ignoradas (não pode ter código nesta área). Uso de comentários: Texto em linguagem natural Iniciar a linha (coluna 1) com C (maiúsculo), * ou !, para indicar que se trata de uma linha de comentário. A linha será ignorada pelo Fortran. Todo programa deve iniciar com o nome do programa Utilize o comando “program” (embora seja opcional é uma boa prática de programação) Termine todo programa com o comando “end” (é obrigatório)
4
Exemplo 1 |----|----|----|----|----|----|----|----|----|----|----|----| C este programa imprime a expressão Hello World na saída padrão PROGRAM exemplo1 PRINT *,'Hello World!' END
5
Exemplo 1
6
Exemplo 2 C Este programa calcula a área de um triangulo retângulo
|----|----|----|----|----|----|----|----|----|----|----|----| C Este programa calcula a área de um triangulo retângulo program Triangulo C Dados de entrada integer altura, base C Dados de saida real area C Le a altura e base print *, 'Informe a altura: ' read *, altura print *, 'Informe a base: ' read *, base C Calcula a area area = 0.5 * altura * base C Escreve a area print *, 'Area: ', area end
7
Tipos de dados Toda variável deve ser de um determinado tipo.
O tipo da variável ajuda o Fortran saber quais são os valores possíveis, e reservar um espaço de memória no computador de tamanho adequado. Os tipos de dados podem ser divididos em duas categorias: numéricos e não numéricos. Alguns tipos numéricos são: inteiro, real e real com precisão dupla. Os tipos não numéricos são: caractere e lógico.
8
Tipos de dados: Numéricos
Tipo inteiro (integer): variáveis do tipo integer aceitam números inteiros de a em um computador de 32 bits. Exemplos: -999 ; +10 ; Tipo real (real): variáveis do tipo real aceitam números reais com precisão para até sete casas decimais, com magnitude de a Esses números podem ser representados com “.” separando parte inteira da parte decimal ou em notação científica. Notação científica: Um único dígito à esquerda do ponto decimal: 1,0 x 10-9, 3,15576 x 109 Exemplos: ; ; ; 0.6023E24 = 6.023x E-3= 0,4x E2 = -0,5x102
9
Tipos de dados: Numéricos
Tipo real com precisão dupla (double precision): variáveis do tipo double precision são equivalentes a real mas com precisão de até 15 casas decimais e magnitude de a Cuidado, o seu processamento pode demandar até 10 vezes mais tempo do que variáveis do tipo real. Exemplos: 0.23D-94 D-7 = x10-7
10
Tipos de dados: Não numéricos
Tipo Caractere (character): variáveis do tipo character permitem a representação de texto demarcado por aspas simples (‘) ou duplas (“). (se quiser utilizar ‘, tem que colocar outra ‘ antes) Exemplos: ‘Fortran’ ; ‘123456’ ; ‘caixa d’’agua’ Tipo lógico (logical): variáveis do tipo logical permitem a representação valores lógicos, ou seja, verdadeiro ou falso. (tem que utilizar o ponto antes e depois da palavra) Exemplos: true false.
11
Declaração de variáveis
Existe declaração implícita e explícita de variável. A declaração implícita se baseia na primeira letra 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. Declaração implícita pode levar a erros, devemos desabilitar essa opção com o comando “implicit none”.
12
Exemplo program someAcom2 print *, 'Informe valor de A: ' read *, a
x = 2 + a print *, 'Area: ', x end (a, x são reais) implicit none integer a, x
13
Declaração explícita de variáveis
Consiste em definir qual é o tipo de cada variável que será utilizada no programa. A declaração das variáveis tem que vir antes de todos os demais comandos de um programa Regras para nomes de variáveis: Ter somente letras de A a Z e números de 0 a 9 Começar com uma letra Maiúscula e minúscula são equivalentes Espaços em branco são ignorados Exemplos: X TAXA RAIO IN RAIO EX NUM2
14
Declaração explícita de variáveis
A declaração de uma variável consiste em definir o tipo e o nome da variável. Mais de uma variável pode ser declarada numa mesma linha. Exemplos: Integer contador Real X, Y, Z Character*20 nome (nome é uma variável do tipo caracter com tamanho 20) (se for associada uma palavra com mais de 20, nome truncará a palavra em 20, i.e. só armazenará os primeiros 20 caracteres) Character nome*20 endereço* (nome tem tamanho 20 e endereço 30) Complex fase (variável complexa) Logical teste (variável lógica) Double precision raio
15
Resumo C Este é um comentário C início do programa program divisão
|----|----|----|----|----|----|----|----|----|----|----|----| C Este é um comentário C início do programa program divisão C Declaração das variáveis implicit none integer x, y real resultado character*10 nome, sobrenome character endereço*10 ... C fim do programa end
16
Exercício Faça a declaração das variáveis de um programa que calcula a média das idades de um número N de pessoas. Faça a declaração das variáveis de um programa que receba como entrada o nome de uma pessoa, o endereço, o CEP, o sexo (F ou M) e a informação se é casada ou não.
17
Parte II
18
Entrada e saída de dados
Entrada e saída básica de dados: read e print. Esperam o formato e uma lista de variáveis a serem utilizados. Usaremos , por enquanto, formato livre (automático) para leitura e escrita identificado por * Para pedir ao usuário o valor da altura de um triângulo: read *, altura Para escrever o resultado do calculo da área do triângulo: print *, área Podemos também ler de uma só vez a altura e a base: read *, altura, base Podemos escrever o resultado com informação mais detalhada print *, ‘A área do triângulo com altura ‘, altura, ‘ e base ‘, base, ‘ é ‘, area
19
Atribuição de valores O símbolo de igual (=) representa a atribuição de valores a variáveis. Fortran executa os cálculos necessários do lado direito do “=” e armazena o resultado do cálculo no lado esquerdo do “=”. Importante: não imagine que o “=” representa uma equação algébrica a ser resolvida! Exemplos: x=3 x = 4 – x (qual é o valor de x após o cálculo desta expressão?) nome = ‘Fortran’ verdade = .true.
20
Exemplo: Faça o método chinês
program atribuicoes real x, y, z x = 1.0 y = 2.0 z = 3.0 x = -x print *, 'valor de x: ', x y = y - 1 print *, 'valor de y: ', y z = z + x z = z + x - y print *, 'valor de z: ', z end Método Chinês x y z -1 1 2
21
Exercício Construa um programa em Fortran para determinar as raízes de uma equação de 2º grau: ax2 + bx + c = 0 Recordar que : d = b2 – 4ac x = ( –b sqrt(d) ) /2a Assuma que só é possível fazer uma operação por linha Exemplo: x = b**2 Exemplo errado: aux= 4*a*c Utilize o método Chinês para verificar se o algoritmo está correto.
22
Operações aritméticas
Algumas operações aritméticas básicas são fornecidas pela linguagem Fortran. São elas: Em situações onde operações têm prioridade igual, a avaliação é feita da esquerda para a direita. Contudo, no caso de potência, a avaliação é feita da direita para a esquerda.
23
Exemplo 9.2 – (2.0**3**2 – 14.0 / 7.0) * – (512.0 – 14.0 / 7.0) * – (512.0 – 2.0) * – * – – – 499.4
24
Aritmética Aritmética de inteiros: Caso a operação de divisão seja aplicada com numerador e denominador inteiros, o resultado será somente a parte inteira da divisão. Ex: 3/2 =1 Aritmética em modo misto: Caso a operação de divisão envolva inteiros e reais, os inteiros serão automaticamente convertidos para reais. A análise é feita para cada operador da equação. Ex: 3.0/2 = 1.5 Exemplo: integer x x = 3.3 / ( 5./2) – 5 => 3.3 / ( 2.5) – 5 => – 5 => – 3.35 x = – 3
25
Funções matemáticas Fortran fornece um conjunto de funções matemáticas que podem ser utilizadas em expressões. Função Exemplo Descrição ABS(x) ABS(-5) 5 Valor absoluto MOD(X, Y) MOD(5, 2) 1 Resto da divisão NINT(X) NINT(5.7) 6 Arredondamento SQRT(X) SQRT(2.0) Raiz quadrada SIN(X) SIN(0.0) 0.0 Seno COS(X) COS(0.0) 1.0 Cosseno EXP(X) EXP(1.0) Exponencial (ex) LOG(X) LOG( ) 1.0 Logaritmo natural LOG10(X) LOG10(100.0) 2.0 Logaritmo na base 10 MIN(...) MIN(1, 5, 10) 1 Menor número de uma lista MAX(...) MAX(1, 5, 10) 10 Maior número de uma lista INT(X) INT(5.7) 5 Converte para inteiro REAL(X) REAL(5) 5. Converte para real
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.