Docente

Angelo Martins - amm@dei.isep.ipp.pt

 

Módulo 1 - Introdução e Programas Simples

Neste módulo é efectuada uma breve introdução aos computadores e dá-se início à elaboração de programas simples.

 

Módulo 2 - Estruturas de Decisão

Neste módulo são introduzidas as estruturas de decisão, primeiro estruturas simples ou independentes e depois encadeadas.

IF ... Then ... EndIf (Sintaxe)

Elabore um programa que calcule as raízes reais de uma equação do segundo grau. Altere o programa de forma a calcular também raízes imaginárias. (Resolução)

Elabore um programa que dados três números, apresente numa caixa de texto o maior deles.

 
Módulo 3 - Ciclos

Neste módulo são introduzidas as estruturas de repetição, primeiro estruturas simples ou independentes e depois encadeadas.

Ciclo Do...Loop (Sintaxe)

Elabore um programa que leia um número e determine o resto da divisão por 9 ("noves fora") da soma dos algarismos que o compõem. (Resolução)

Elabore um programa que leia as notas de um aluno à disciplina de IC (teste t/p, aulas laboratoriais e exame) e indique a nota final (valor numérico, NF ou SM).Altere o programa anterior de forma a apresentar numa List Box as notas finais de todos os alunos uma turma. O número de alunos é dado pelo utilizador (max 35 alunos).

 

Ciclo For...Next

Elabore um programa que calcule o factorial de um número dado pelo utilizador. (Resolução)

Elabore um programa que verifique se um número é capicua. Altere o programa de forma a apresentar numa List Box todos as capicuas existentes num intervalo dado pelo utilizador (o intervalo deve ser validado).

Altere o programa anterior de forma a apresentar a primeira capicua existente num dado intervalo. Altere novamente o programa de forma a apresentar a última capicua do intervalo.

Elabore um programa que apresente numa ListBox todos os números de um intervalo com 2 ou mais algarismos ímpares. O programa deve também apresentar o número com mais algarismos ímpares no intervalo dado.

Altere o programa anterior de modo a apresentar os números com mais algarismos ímpares (no caso de haver mais do que um) e valide o intervalo dado. Casos os limites do intervalo estejam trocados o programa deve efectuar a correcção.

 
Módulo 4 - Funções e Subrotinas

Exercícios Base

Elabore uma função que calcule o factorial de um número inteiro. Utilizando a função, elabore um programa para cálculo de combinações, apresentando o respectivo formulário e identificando todos os objectos. [C(n,p) = n!/((n-p)!p!)] (Resolução)

Elabore uma função que retorne o Máximo Divisor Comum (mdc) de dois números inteiros passados como parâmetros. Elabore um programa para testar a função e desenhe o respectivo formulário, identificando todos os objectos.

Elabore uma subrotina que troque dois numeros. Elabore um programa para testar a subrotina e desenhe o respectivo formulário, identificando todos os objectos. (Resolução)

Elabore uma rotina que leia um conjunto de notas (entre 0 e 20) e retorne a media e o número de notas positivas. O número de notas a ler e dado como parâmetro da rotina. Elabore um programa para testar a subrotina e desenhe o respectivo formulário, identificando todos os objectos. (Resolução)

Elabore uma subrotina que leia um conjunto de números inteiros (número de elementos a ler dado como parâmetro da subrotina) e retorne o número com maior número de algarismos pares, bem como o respectivo número de algarismos. Elabore um programa para testar a subrotina e desenhe o respectivo formulário, identificando todos os objectos. (Resolução)

Exercícios Complementares

Elabore uma função que dado um número inteiro positivo maior que um, passado como parâmetro, retorne o maior dos seus algarismos. Elabore um programa para testar a função e desenhe o respectivo formulário, identificando todos os objectos.

 
Módulo 5 - Vectores e Matrizes

Exercícios Base

Elabore um programa que leia um conjunto de notas (entre 0 e 20) e apresente a média e o desvio padrão deste conjunto. O número de notas a ler é dado pelo utilizador e limitado a 100 unidades.

Altere o exercício anterior de forma a que a leitura das notas termine quando for introduzido o valor –1. O número de alunos não é fornecido pelo utilizador, mas está ainda limitado às 100 unidades.

Elabore uma subrotina que leia as notas de uma turma para um vector e uma função que calcule a média dessas mesmas notas. Utilizando estas rotinas, elabore um programa que apresente numa ListBox as notas da turma que estejam no intervalo [media-2, media+2].

Considere uma matriz de inteiros contendo as notas (entre 0 e 20) dos n alunos de uma turma (n<=30) nas 5 disciplinas frequentadas pela turma. Repare que cada linha da matriz corresponde a um aluno e cada coluna corresponde a uma disciplina. Elabore um programa que leia as notas dos alunos e que determine a disciplina com melhor média e o respectivo valor, só devendo ser consideradas as notas iguais ou superiores a 10 valores. Esta operação deve ser efectuada por uma subrotina. (Resolução)

Exercícios Complementares

Elabore uma subrotina que preencha dois vectores com os elementos das diagonais principal e secundária da de uma matriz quadrada. Elabore um programa que leia uma matriz e, utilizando a subrotina, apresente em ListBoxes os elementos das diagonais da matriz. (Resolução)

 
Módulo 6 - Strings

Elabore uma função que recebe uma string como parâmetro e retorna uma string simétrica da primeira. Exemplo: “abc cd “ -> “ dc cba” (Resolução)

Elabore uma função que recebe como parâmetros os limites de um intervalo (números inteiros) e retorna uma string com todos os números inteiros desse intervalo (incluindo os extremos). Os números devem estar separados por um espaço.

Elabore uma função que recebe uma string como parâmetro e retorna o número de palavras que a string contém. (Resolução)

Elabore uma função que recebe uma string como parâmetro e retorna uma string tendo por base a primeira mas sem espaços repetidos entre as palavras.

Elabore uma função que recebe uma string como parâmetro e retorna uma string em que as letras iniciais da cada palavra, da primeira string, são convertidas para maiúsculas e as restantes letras para minúsculas. (Resolução)

Elabore uma subrotina que recebe como parâmetro uma string contendo uma frase e retorna a mesma frase mas com as palavras invertidas. Eventuais espaços repetidos podem ser eliminados. (Resolução)

Elabore uma função que recebe duas strings como parâmetros, uma contendo uma frase e a outra um caracter, e retorna a palavra da frase com maior número de ocorrências do caracter. Não é feita qualquer distinção entre letras maiúsculas e minúsculas na pesquisa. (Resolução)

Ultima actualização: 2007-03-21

Autor: Angelo Martins