UFCG/CCT/DSC

Disciplina: Introdução à Ciência da Computação – Turmas 04 e 05

Período 2014.1

Professor: Ulrich Schiel


  1. LISTA DE EXERCÍCIOS EM SALA DE AULA – 08

  1. Escreva um programa que cria um arquivo de alunos, de nome ALUNOS.DAT. Ele lê uma lista de alunos com Matrícula, Nome e três notas. Grava no arquivo estes dados acrescidos da média das notas. A leitura de alunos é encerrada com um aluno de nome “FIM”. Este aluno de nome “FIM” é gravado no arquiva com todas notas igual a zero.


  1. Faça um programa Fortran que acrescenta novos alunos à lista criada no exercício anterior. Ele lê todos os registros de ALUNOS.DAT e, no final, acrescenta mais registros de alunos.


  1. Considerando que a lista dos alunos está em ordem alfabética. Refaça a questão anterior, introduzindo os novos alunos na posição correta para manter a ordem. Nesse caso crie um novo arquivo, denominado ALUNOS2.DAT que conterá a nova lista.


  1. Faça um programa que lê uma lista de alunos em ALUNOS.DAT e cria 3 arquivos:

APROVADOS.DAT – conterá os alunos com média >= 7

- FINAL.DAT – conterá os alunos com média entre 4 e 7

- REPROVADOS.DAT – conterá os alunos com média menor do que 4

  1. Faça um programa que lista todos alunos contidos em ALUNOS.DAT


  1. Faça um programa que lista todos alunos contidos separados por APROVADOS, FINAL e REPROVADOS, baseado nas saídas do programa da questão 4 acima.

7) O programa abaixo cria um arquivo de alunos, contendo o nome e três notas de cada aluno. Faça um programa que lê este arquivo e cria um novo, chamado de MEDIAS.DAT que conterá os nomes e as respectivas médias calculadas a partir das 3 notas do arquivo anterior.


PROGRAM ARQUIVO_DE_ALUNOS

IMPLICIT NONE

CHARACTER (LEN = 20) :: NOME

REAL :: NOTA1, NOTA2, NOTA3, MEDIA

OPEN (10, FILE='ALUNOS.DAT')

WRITE (*, *) "INFORME O NOME E TRES NOTAS DOS ALUNOS. TERMINE COM &

&UM ALUNO DE NOME ‘FIM’"

READ(*, *)NOME

DO WHILE (NOME .NE. "FIM")

READ (*, *) NOTA1, NOTA2, NOTA3

WRITE(10, 1) NOME, NOTA1, NOTA2, NOTA3

1 FORMAT(A20, F4.1)

WRITE (*,*) "PROXIMO:"

READ(*, *)NOME

END DO

WRITE (10, 1) NOME, 0.

ENDFILE 10

STOP

END PROGRAM ARQUIVO_DE_ALUNOS



1