UNIVERSIDADE FEDERAL DE CAMPINA GRANDE

CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA

DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO

INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

 

3º LISTA DE EXERCÍCIOS  

Enviar para o e-mail de exercícios da sua turma até o dia da 3ª Prova.

 

Formato do e-mail a ser enviado:

                Assunto: Lista-03: nome do aluno (ou da dupla de alunos).

               Texto: Nome completo e matrícula do aluno (ou da dupla de alunos).

Anexo: arquivo zipado contendo os programas desta lista. O nome do arquivo zipado deverá ser o nome do aluno ou da dupla de alunos. E, o nome de cada programa deve corresponder ao número da questão.

 

 

QUESTÕES:

01.          Faça um programa que leia e imprima um conjunto de N inteiros. Em seguida, calcule a média dos elementos desse conjunto e imprima apenas os elementos acima da média. Use uma função para calcular a média dos elementos do conjunto.

 

02.          Faça um programa para ler vários números inteiros no intervalo [100..900] e para cada número lido imprima  a centena, a dezena e a unidade do número lido. O programa encerra quando é lido um número fora do intervalo indicado. Use a sub_rotina extrai_componentes que recebe como parâmetro de entrada o número que foi lido e retorna como parâmetros de saída a centena, a dezena e a unidade desse numero.

 

03.          Faça um programa que leia e imprima um vetor com N elementos inteiros e, em seguida, se X pertencer ao conjunto imprima as posições (os índices) onde os valores iguais a X estão armazenados no vetor. Os valors de X e N serão informados pelo usuário e N sempre será menor ou igual a 100. Além das sub_rotinas le_conjunto() e imprime_conjunto() use:

1.     a função X_pertence_ao_conjunto() que recebe um conjunto de inteiros, o tamanho do conjunto e um inteiro X a ser procurado no conjunto. A função deverá retornar verdadeiro se X pertence ao conjunto e falso, caso contrário

2.     a sub_rotina imprime_posicoes_de_X_no_conjunto() que recebe um conjunto de inteiros, o tamanho do conjunto e um inteiro X. A sub-rotina deverá imprimir as posições (os índices) onde os valores iguais a X estão armazenados no vetor.

 

04.          Faça um programa que leia dois conjuntos, cada um com no máximo 10 elementos inteiros e imprima os dois conjuntos lidos e mais dois conjuntos: o conjunto união e o conjunto interseção.

 

05.          Faça um programa que leia uma matriz MxN de números inteiros, gerar a matriz transposta e em seguida imprimir as duas matrizes. M e N serão informados pelo usuário e sempre serão menores ou iguais a 10.

 

06.          Faça um programa para gerar uma matriz quadrada de ordem igual à N (máximo 10), com os elementos da diagonal principal iguais a zero, os elementos acima da diagonal principal iguais a 1 e os elementos abaixo da diagonal principal iguais a -1. O programa deve mostrar a matriz gerada.

 

07.          Faça um programa para ler duas matrizes MxN de números inteiros e imprimir uma mensagem dizendo se estas matrizes são ou não idênticas. M e N serão informados pelo usuário e sempre serão menores ou iguais a 10. Além das sub-rotinas, le_matriz() e imprime_matriz, use uma função sao_identicas() que recebe as matrizes, suas dimensões e retorna verdadeiro, se as matrizes forem idênticas e falso, caso contrário.

 

08.          Faça um programa em FORTRAN para ler uma matriz M x N de números inteiros e determinar o maior elemento em cada coluna da matriz.  Use uma função que receba a matriz, o número de linhas dessa matriz e o número de uma das colunas dessa matriz. A função deverá retornar a soma dos elementos da coluna indicada.

 

09.          Faça um programa em FORTRAN para verificar se N números inteiros positivos são ou não primos. O programa deverá utilizar as seguintes funções:

·         eh_primo() que recebe um inteiro positivo e retorna verdadeiro ou falso, se o número recebido é ou não primo. A função eh_primo() usa a função conta_divisores();

·         conta_divisores() que recebe um inteiro e retorna a quantidade de divisores que este inteiro possui. A função conta_divisores() usa a função eh_divisor();

·         eh_divisor() que  recebe dois inteiros e retorna verdadeiro se o primeiro argumento é divisor do segundo e, caso contrário, retorna falso.

 

10.          Faça um programa em FORTRAN para efetuar a multiplicação de uma matriz inteira MxN (máximo 10x 10) por um escalar também inteiro. O programa usara três sub-rotinas: uma para ler matriz , uma para efetuar a multiplicação da matriz operando pelo escalar e outra para imprimir, de cada vez, as matrizes (operando e resultante).