Departamento de Matemática Universidade de Coimbra

Documentos relacionados
Elementos básicos das linguagens de programação

Programação estruturada no Fortran 90-3

Universidade Federal do Rio Grande Bacharelado em Matemática Aplicada Disciplina de Algoritmos e Programação de Computadores

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

Comandos de desvio de fluxo. Expressões lógicas.

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Aquecimento. program math2 integer:: x,num1 write(*,*)"digite dois números read(*,*) x,num1 write(*,*)"a soma é",x+y end program math2

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

/media/juan/c c/ l5q14.f90 Página 1 de 7 ter 11 jun :23:20-03 module implicit none character dimension allocatable real

Comandos de desvio de fluxo. Expressões lógicas.

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

Programação estruturada no Fortran 90-1

Introdução à Computação

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre

In I t n rto r d o u d ç u ão ã o à à Com o pu p t u a t ç a ão ã Linguagem Fortran! " 1

Introdução à Computação - FORTRAN

Introdução à Programação 2006/07. Algoritmos

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

VARIÁVEIS INDEXADAS VETORES E MATRIZES

Aulas Anteriores. Detalhes da linguagem de programação

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Capítulo III : A Linguagem Pascal Estruturas de Controlo

Exercícios Data Modeling

2.2.5 EXPRESSÕES - Regras para o cálculo de valores

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012

Working 03 : Conceitos Básicos II

LISTA DE EXERCÍCIOS: 1ª Unidade

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Lista de Exercícios 02 Estrutura Condicional

Conceitos Introdutórios sobre a Linguagem FORTRAN

Introdução à Programação Aula prática Nº O número de bactérias numa cultura pode ser estimado pela expressão:

Comandos de desvio de fluxo. Expressões lógicas.

Introdução ao Fortran 90-3

Métodos de Programação I Ana Maria de Almeida

Introdução aos algoritmos computacionais

Aula Anterior. Decomposição algorítmica (continuação)

Working 03 : Conceitos Básicos II

Introdução à Engenharia ENG1000

DESENVOLVIMENTO DE SOFTWARE

Algoritmia e Programação

Introdução ao Fortran 90-4

6) ESTRUTURA DE UM PROGRAMA

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

VARIÁVEIS INDEXADAS VETORES E MATRIZES

Unidade 10: Estruturas de Decisão Compostas Prof. Daniel Caetano

Exercícios de VBA. Paulo Melo Joana Dias Óscar Lourenço 17 de Maio de 2006

Introdução ao FORTRAN 90. Aula 4

Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *)

UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO

Linguagens de Programação

Execução de instruções. Aula nº4

Exercícios de Fixação Introdução ao FORTRAN

Exercícios Repetição

Aula 8 Comandos de Seleção

Aula 6: Entrada e Saída

Estruturas de Decisão. APROG (Civil) Aula 6

Introdução ao Fortran 90. Aula 3

COMANDOS DE DECISÃO. Para codificarmos comandos de decisão precisamos dos conceitos de operadores RELACIONAIS e LÓGICOS.

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Capítulo 4: Condicionais

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

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

Programação de Computadores III

ESTRUTURAS DE CONTROLE

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo

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

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Introdução a Programação de Jogos

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

11 ª Lista de Exercícios

Ciência da Computação

Blocos, Escopo de variáveis, procedimentos e funções. 1- Blocos

Métodos de Programação I Ana Maria de Almeida 92. Um objecto (uma função, um método) diz-se recorrente se é definido em termos de si próprio.

Programação em FORTRAN III. João Manuel R. S. Tavares

Computação Numérica Ano letivo 2011/12 Orientações de resposta ao exame/p-folio de 1ª época

Aula 6: Comandos Estruturados Estrutura Condicional

Análise e Desenvolvimento de Algoritmos (2006/2007)

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Notas de Aula de Algoritmos e Programação de Computadores

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

OpenMP. Um método de paralelização para as linguagens Fortran, C, C++ para shared memory systems.

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 19 de maio de 2008

Capítulo 10. MATRIZES

Introdução a Programação de Jogos

Câmpus de Bauru Plano de Ensino Curso Ênfase Identificação Disciplina Docente(s) Unidade Departamento Créditos Carga Horária Seriação ideal

CÓDIGO FONTE CALCULADOR DE 04 OPERAÇÕES

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

ALGORITMOS. Estruturas de Controle de fluxo

Exercícios de Fixação Aula 09

AULA TEÓRICA 03 COMANDO CONDICIONAL

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

INF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1

Transcrição:

Departamento de Matemática Universidade de Coimbra Ano Lectivo de 200x/200(x + 1) Introdução aos Computadores e Programação Exame Tipo Duração da prova: 2h30 1. (Pergunta (teórica) simples) Diga o que entende por metodologia de programação estruturada e descendente. 2. (Pergunta muito simples sobre os condicionais, pretende-se como resposta um programa em FORTRAN) Escreva um programa, em FORTRAN, que calcule as raízes reais de uma equação do segundo grau ax 2 + bx + c = 0. O programa deve ler os valores de a, b, e c, e deve escrever o tipo de raízes assim como, conforme os casos, os seus valores. 3. (Pergunta muito simples sobre os ciclos, pretende-se como resposta um programa em FOR- TRAN) Dado uma lista de n valores e respectivos pesos (v i, p i ), 1 i n, calcule a sua média n i=1 ponderada m = v ip i n. 4. (Pergunta simples envolvendo todas os tipos de instruções simples aprendidas, pretende-se como resposta um programa em FORTRAN) Num posto de controle de tráfego pretende-se contabilizar o número de veículos que aí passam fazendo a separação em três classes: motos, carros, e camiões. Escreva um programa em FORTRAN que vá lendo valores inteiros, respeitantes aos códigos das classes, até ao momento em que o operador decida terminar a contagem, após isso o programa deve imprimir o valor do tráfego, em percentagem, para cada uma das classes. 5. (Pergunta simples envolvendo os tipos de dados estruturados, pretende-se como resposta um programa em FORTRAN) Escreva um programa, em FORTRAN, que dado um vector de elementos naturais a ler do canal de entrada (teclado), inverta a ordem pela qual se encontram, sem que para tal use um vector auxiliar. 6. (Pergunta envolvendo sub-programas, pretende-se como resposta um sub-programa em FOR- TRAN) Dado um vector de n componentes reais {x i } i=1,...,n pretende-se normalizá-lo, isto é, dividir cada componente pela norma do vector (x i = x i / x, i = 1,..., n. x = ni=1 x 2 i ). (a) Construa um sub-programa, em FORTRAN, que dado um vector calcule a sua norma; (b) Construa um sub-programa, em FORTRAN, que dado um vector o normalize; (c) Escreva o respectivo programa principal.

Respostas 1. Por metodologia de programação estruturada e descendente entende-se o método de construção de programas em que: divide-se o problema em sub-problemas de menor complexidade, repetindo o processo até se atingir problemas de resolução simples; resolve-se cada um desses problemas isoladamente construindo o sub-programa respectivo; combinam-se os sub-programas de forma a construir o programa global. 2. PROGRAM equacao2grau REAL :: a,b,c REAL :: x1,x2,binomio WRITE (*,*) "Introduza a,b,c: " READ (*,*) a,b,c binomio = b**2-4*a*c IF (binomio < 0) THEN WRITE (*,*) "Nao tem raizes reais" ELSE IF (binomio == 0) THEN x1 = -b/(2*a) WRITE (*,*) "Uma raiz real dupla, ",x1 ELSE x1 = (-b+sqrt(binomio))/(2*a) x2 = (-b-sqrt(binomio))/(2*a) WRITE (*,*) "Duas raizes reais, ",x1,x2 END IF END IF END PROGRAM 3. PROGRAM media_ponderada REAL :: media, vi, pi INTEGER :: n,i WRITE (*,*) Quantos valores/pesos quer introduzir? READ (*,*) n WRITE (*,*) Introduza agora os,n, pares, valor/peso media = 0 DO i=1,n READ (*,*) vi,pi media = vi*pi media=media/n WRITE (*,*) A media ponderada e :,media END PROGRAM media_ponderada

4. PROGRAM trafego INTEGER :: moto, carro, camiao, terminar INTEGER :: veiculo, total! inicializacao moto=0 carro=0 camiao=0 total=0 WRITE (*,*) Introduza o codigo da classe que pretende contabilizar WRITE (*,*) 0=moto, 1=carro, 2=camiao, 9=terminar! fazer a contagem READ (*,*) veiculo DO WHILE (veiculo /= 9) SELECT CASE (veiculo) CASE (0) moto=moto+1 CASE (1) carro=carro+1 CASE (2) camiao=camiao+1 CASE default WRITE (*,*) Codigo errado total=total-1 END SELECT total=total+1 READ (*,*) veiculo! calculo das percentagens moto=100*moto/total carro=100*carro/total camiao=100*camiao/total! escrever o resultado WRITE (*,*) Percentagem de motos:, moto, % WRITE (*,*) Percentagem de carros:, carro, % WRITE (*,*) Percentagem de camioes:, camiao, % END PROGRAM trafego

5. PROGRAM inverte_vector INTEGER :: dim INTEGER, DIMENSION(1000) :: v,aux WRITE (*,*) Introduza os elementos do vector WRITE (*,*) (termine com um numero negativo)! leitura dos elementos i=1 READ (*,*) aux DO WHILE (aux > 0) v(i)=aux i=i+1 READ (*,*) aux dim=i-1! inversao da ordem, por troca dos elementos em! posicoes diametralmente opostos DO i=1,dim/2 aux=v(i) v(i)=v(dim+1-i) v(dim+1-i)=aux! escrita do vector, recorrendo a um "do" implicito WRITE (*,*) (v(i),i=1,dim) END PROGRAM inverte_vector

6. (a) SUBROUTINE norma(dim,v,nv) INTEGER, INTENT(IN) :: dim REAL, INTENT(IN),DIMENSION(100) :: v REAL, INTENT(OUT) :: nv nv=0 DO i=1,dim nv=nv+v(i)**2 nv = SQRT(nv) END SUBROUTINE norma (b) SUBROUTINE normaliza(dim,nv,v) INTEGER, INTENT(IN) :: dim REAL, INTENT(IN) :: nv REAL, INTENT(INOUT),DIMENSION(100) :: v DO i=1,dim v(i)=v(i)/nv END SUBROUTINE normaliza (c) PROGRAM testa_normaliza INTEGER :: dim REAL, DIMENSION(100) :: v REAL :: nv! ler os dados de entrada WRITE (*,*) Qual e a dimensao do vector? READ (*,*) dim WRITE (*,100) dim 100 FORMAT (1x, Introduza os,i3, elementos do vector ) READ (*,*) (v(i),i=1,dim)! calcular a norma CALL norma(dim,v,nv)! normalizar o vector CALL normaliza(dim,nv,v)! escrever o vector resultante WRITE (*,200) (v(i),i=1,dim) 200 FORMAT(1x,20F6.2) END PROGRAM testa_normaliza