1 / 25

Programação de Computadores

Programação de Computadores. Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII. Introdução a Fortran. Para a escrita de um primeiro programa em Fortran, quatro aspectos precisam ser considerados: Como um programa é organizado.

sammy
Download Presentation

Programação de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação de Computadores Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII

  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 1 6 11 16 21 26 31 36 41 46 51 56 61 |----|----|----|----|----|----|----|----|----|----|----|----| 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 1 6 11 16 21 26 31 36 41 46 51 56 61 |----|----|----|----|----|----|----|----|----|----|----|----| 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 -232-1 a 232-1 em um computador de 32 bits. Exemplos: -999 ; +10 ; 123456 • Tipo real (real): variáveis do tipo real aceitam números reais com precisão para até sete casas decimais, com magnitude de 10-38 a 1038. 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: -21.4 ; 0.0000034 ; 123456.0 ; 0.6023E24 = 6.023x1023 0.4E-3= 0,4x10-3 -0.5E2 = -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 10-308 a 10308. Cuidado, o seu processamento pode demandar até 10 vezes mais tempo do que variáveis do tipo real. • Exemplos: 0.23D-94 0.54336543454323D-7 = 0.54336543454323x10-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

  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*30 (nome tem tamanho 20 e endereço 30) • Complex fase (variável complexa) • Logical teste (variável lógica) • Double precision raio

  15. Resumo 1 6 11 16 21 26 31 36 41 46 51 56 61 |----|----|----|----|----|----|----|----|----|----|----|----| 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 2 3 -1 1 2 0

  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) + 14.0 * 0.19.2 – (512.0 – 14.0 / 7.0) + 14.0 * 0.19.2 – (512.0 – 2.0) + 14.0 * 0.19.2 – 510.0 + 14.0 * 0.19.2 – 510.0 + 1.4– 500.8 + 1.4– 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 xx = 3.3 / ( 5./2) – 5 => 3.3 / ( 2.5) – 5 => 1.65 – 5 => – 3.35x = – 3

  25. Funções matemáticas • Fortran fornece um conjunto de funções matemáticas que podem ser utilizadas em expressões.

More Related