Ficha 6 – Leitura/Escrita de Ficheiros Numéricos (Vectores e Matrizes) 6.1 Leitura / Escrita de Vectores em Ficheiros Texto a) Produza (em EXCEL) um ficheiro que contenha 10 números reais, entre 1 e 10, nas posições A1 a A10, e guarde esses valores num ficheiro de dados do tipo texto. 1 2 A 8.74 B 0.41 C 2.44 ••• ••• J 6.41 b) Desenvolva um programa que leia esses valores numéricos para um vector A, e determine o máximo, mínimo e médio desse vector. Apresente esses valores no terminal. c) Escreva esse vector num ficheiro de tipo texto, em que cada elemento do vector é escrito numa linha separada, antecedido do seu índice. d) Leia o ficheiro assim produzido numa folha EXCEL. 6.2 Leitura / Escrita de Vectores em Ficheiros CSV Repita o problema anterior, mas utilizando a) ficheiros de formato CSV (Comma Separated Values). b) com dados dispostos “na vertical” 1 2 ••• 9 10 A 1.15 3.33 ••• 3.47 4.26 6.3 Histogramas a) Escreva um programa que produza um vector V contendo 1000 números gerados aleatoriamente no intervalo [0, 100[. b) Escreva um vector F, de 10 posições, em que F(i) indica o número de ocorrências em V de números no intervalo [10*(i-1), 10*i[. c) Escreva para um ficheiro de tipo texto 10 os elementos deste vector F, antecedendo-o de 2 números representando os limites do intervalo a que se reportam os valores de F, com o formato abaixo indicado (o espaço anterior ao número corresponde a um “tab”). 0:10 109 10:20 95 ----------90:100 92 d) Leia esse ficheiro para uma folha EXCEL para verificar a correcção da sua implementação. 6.4 Leitura / Escrita de Matrizes em Ficheiros Texto e) Produza (em EXCEL) um ficheiro que contenha 12 números reais, entre 1 e 10, nas posições A1 a D3, e 8 números reais, entre 1 e 10, nas posições A4 a B7, e guarde esses valores num ficheiro de dados do tipo texto. A 5.05 6.94 9.96 6.25 8.54 7.77 0.43 1 2 3 4 5 6 7 B 6.57 2.98 5.71 5.47 3.77 1.34 1.88 C 4.45 2.83 7.28 D 4.62 6.45 8.94 f) Desenvolva um programa que leia esses valores numéricos para duas matrizes, A e B, de dimensão 3*4 e 4*2, respectivamente, e determine o produto P dessas matrizes. g) Escreva a matriz resultante ficheiro texto, com linhas separadas e valores ocupando 10 casas, das quais 3 são decimais. h) Leia o ficheiro assim produzido numa folha EXCEL. 6.5 Leitura / Escrita de Matrizes em Ficheiros CSV a) Produza (em EXCEL) um ficheiro que contenha 12 números reais, entre 1 e 10, nas posições A1 a D3 e guarde esses valores num ficheiro de dados do tipo CSV. b) Escreva um ficheiro CSV que comece numa linha contendo os valores 1, 2, 3 e 4 (que representam o número da coluna da matriz), e continue com mais 3 linhas em que se escrevem os valores da matriz, antecedidos do número da linha da matriz. c) Leia a matriz para uma folha EXCEL e verifique que ela é semelhante à seguinte (para os valores da matriz A do exercício anterior). A 1 2 3 4 B 1 5.05 6.94 9.96 1 2 3 C 2 6.57 2.98 5.71 D 3 4.45 2.83 7.28 E 4 4.62 6.45 8.94 6.6 Decomposição de um Vector e) Escreva um programa que produza um vector V contendo 100 números gerados aleatoriamente no intervalo [0, 100[. f) Escreva, para um ficheiro de tipo texto, 10 linhas em que cada linha começa com os valores 10*(i-1) e 10*i (para i = 1..10) e continua com todos os elementos do vector V, compreendidos entre 10*(i-1) e 10*i, tal como exemplificado na figura abaixo. 0 10 10.51 12.24 19.07 15.56 ... 10 20 27.32 22.71 29.97 20.68 ... ------------90 100 93.67 92.68 97.42 96.56 ... g) Leia esse ficheiro para uma folha EXCEL, e verifique a correcção da sua implementação.