Esta obra, Práticas de C#: Algoritmia e Programação Estruturada, tem por objectivo promover o estudo da linguagem de programação C# da Microsoft através da resolução algorítmica de diversos problemas, que demonstram os princípios e as regras da Programação Estruturada.
O livro é dedicado à Programação Estruturada, que é o primeiro paradigma formal de programação sobre o qual assentam todos os outros. Os problemas de dificuldade crescente apresentam-se classificados segundo os tópicos das disciplinas de Introdução à Programação e Programação I de diversos cursos de licenciatura e de mestrado.
A resolução de cada problema baseia-se na metodologia Top-down e consiste na elaboração de um algoritmo apropriado, na sua codificação em C# e na sua verificação através da execução de jogos de teste.
1. Edição, Compilação e Execução de Programas
Exercício 1: Download do C# 2010 Express Edition
Exercício 2: Criação de um programa de consola
Exercício 3: O primeiro programa
Exercício 4: Compilação e execução do primeiro programa
Exercício 5: Gravação do primeiro programa e fim de sessão
Exercício 6: Edição do primeiro programa
Exercício 7: Visualização do explorador de projecto
Exercício 8: Correcção de erros
Exercício 9: Adição de classes
Exercício 10: Activação de referências
2. Leitura, Atribuição e Escrita
Exercício 1: Escrita de mensagem
Exercício 2: Intercalação de mensagens
Exercício 3: Alinhamento à esquerda
Exercício 4: Alinhamento à direita
Exercício 5: Tabulação
Exercício 6: Operações aritméticas
Exercício 7: Funções matemáticas
Exercício 8: Operações lógicas
Exercício 9: Operações com alfanuméricos
Exercício 10: Números inteiros
Exercício 11: Números reais
Exercício 12: Dados alfanuméricos e lógicos
Exercício 13: Conversão de inteiros para reais e vice-versa
Exercício 14: Conversão de alfanuméricos para numéricos
Exercício 15: Enumerações
Exercício 16: Arredondamentos de números reais
Exercício 17: Percentagens
Exercício 18: Datas cronológicas
Exercício 19: Formatos numéricos
Exercício 20: Formatos para enumerações
Exercício 21: Operadores combinados
Exercício 22: Operadores prefixos e posfixos
Exercício 23: Leitura de dados alfanuméricos
Exercício 24: Leitura de dados numéricos
Exercício 25: Leitura de dados lógicos e datas cronológicas
3. Estruturas Sequenciais
Exercício 1: Função matemática
Exercício 2: Nomes e apelidos
Exercício 3: Capital acumulado
Exercício 4: Pitágoras
Exercício 5: Câmbios
Exercício 6: Conversão de Fahrenheit para Celsius
Exercício 7: Nota final
Exercício 8: Despesa média
Exercício 9: Total a pagar de uma factura
Exercício 10: Salário dos vendedores
4. Estruturas Condicionais
Estruturas de decisão
Estruturas de escolha múltipla
Exercício 1: Maior de dois
Exercício 2: Bom dia ou boa tarde
Exercício 3: Maior de dois porventura iguais
Exercício 4: Raízes de uma equação de 2.º grau
Exercício 5: Maior de três
Exercício 6: Operador ternário
Exercício 7: Variação de preços
Exercício 8: Nota final com observação
Exercício 9: Prazo médio de cobrança
Exercício 10: Três ordenados
Exercício 11: Reprovações, aprovações e distinções
Exercício 12: Número de dias de cada mês
Exercício 13: Salário base
Exercício 14: Calculadora
Exercício 15: Multibanco
5. Estruturas Repetitivas
Estruturas repetitivas controladas por contador automático
Estruturas repetitivas condicionais
Exercício 1: Mensagem repetida
Exercício 2: Soma de N inteiros
Exercício 3: Números ímpares
Exercício 4: Rectângulo
Exercício 5: Série numérica
Exercício 6: Rectângulo de múltiplos de três
Exercício 7: Quadrado
Exercício 8: Factorial
Exercício 9: Cubos de Nicomachus
Exercício 10: Números de Fibonacci
Exercício 11: Número primo
Exercício 12: Números primos de um intervalo
Exercício 13: Soma e produto de dígitos
Exercício 14: Xis
Exercício 15: Triângulos rectângulos
Exercício 16: Árvore
Exercício 17: Multiplicação russa
Exercício 18: Capital acumulado
Exercício 19: Anos de capitalização
Exercício 20: Decomposição de um número
Exercício 21: Dígito de controlo
Exercício 22: Contagem de palavras
Exercício 23: Números perfeitos
Exercício 24: Tabelamento de uma função
Exercício 25: Tabelamento de duas funções
Exercício 26: Máximo divisor comum (MDC)
Exercício 27: Maior e menor número
Exercício 28: Média aritmética
Exercício 29: Média harmónica
Exercício 30: Média geométrica
Exercício 31: Aumentos salariais
Exercício 32: Pontuação de equipas
Exercício 33: Notas de Informática
Exercício 34: Pré-selecção de candidatos
Exercício 35: Palíndromo
6. Vectores e Matrizes
Vectores e matrizes
Variáveis indexadas
Matrizes não rectangulares
Exercício 1: Leitura e escrita de vector com N elementos
Exercício 2: Leitura de vector com vários elementos
Exercício 3: Vector de caracteres
Exercício 4: Somatório dos elementos
Exercício 5: Média aritmética
Exercício 6: Contagem de elementos
Exercício 7: Maior e segundo maior
Exercício 8: Maior e menor elementos
Exercício 9: Adição e produto de dois vectores
Exercício 10: Relatório de vendas
Exercício 11: Pesquisa linear
Exercício 12: Pesquisa binária
Exercício 13: Ordenação alfabética
Exercício 14: Ordenação por ordem decrescente
Exercício 15: Intercalação ordenada de dois vectores
Exercício 16: Leitura e escrita de uma matriz
Exercício 17: Leitura e escrita de uma matriz com várias linhas
Exercício 18: Leitura e escrita de uma matriz tridimensional
Exercício 19: Leitura e escrita de um vector de vectores
Exercício 20: Leitura e escrita de um vector de matrizes
Exercício 21: Somatório em linha
Exercício 22: Somatório em coluna
Exercício 23: Maior elemento da matriz
Exercício 24: Maior de cada linha
Exercício 25: Menor de cada coluna
Exercício 26: Teste escolha múltipla
Exercício 27: Valores das vendas
Exercício 28: Matriz transposta
Exercício 29: Matriz simétrica
Exercício 30: Matriz triangular
Exercício 31: Adição de matrizes
Exercício 32: Multiplicação de matrizes
Exercício 33: Determinante da matriz
Exercício 34: Triângulo de Pascal
Exercício 35: Quadrado mágico
7. Erros, Validações e Correcções
Exercício 1: Divisão por zero
Exercício 2: Detecção de dois erros
Exercício 3: Erro de conversão
Exercício 4: Validação de dados alfanuméricos
Exercício 5: Validação de inteiros
Exercício 6: Validação de caracteres
Exercício 7: Índice fora do limite superior
Exercício 8: Validação de palavras-chave
Exercício 9: Detecção de erros encadeados
Exercício 10: Histórico de erros
8. Procedimentos e Funções
Procedimentos e funções
Funções
Parâmetros valor e parâmetros variável
Âmbito dos procedimentos e das funções
Exercício 1: Raízes quadradas
Exercício 2: Selecção de nomes
Exercício 3: Troca de valores
Exercício 4: Passagem de referências
Exercício 5: Maior e menor de três números
Exercício 6: Contagem de nomes
Exercício 7: Efeitos indesejados
Exercício 8: Horas, minutos e segundos
Exercício 9: Notas entre 0 e 20
Exercício 10: Escrita de vectores
Exercício 11: Média aritmética
Exercício 12: Contagem de elementos
Exercício 13: Ordenação de vectores
Exercício 14: Somatórios de linhas e colunas
Exercício 15: Ordenação de matrizes
Exercício 16: Multiplicação de matrizes
Exercício 17: Subtracção do menor por linha
Exercício 18: Contentor para pesquisa linear
Exercício 19: Contentor para pesquisas
Exercício 20: Públicos e privados
9. Recorrência
Exercício 1: Potências de 2
Exercício 2: Contagem decrescente
Exercício 3: Adição de N inteiros
Exercício 4: Factorial
Exercício 5: Números de Fibonacci
Exercício 6: Máximo divisor comum (MDC)
Exercício 7: Inversão do número
Exercício 8: Capitalização composta
Exercício 9: Tabelamento de função
Exercício 10: Somatório de termos de série
Exercício 11: Impressão de um quadrado
Exercício 12: Número primo
Exercício 13: Impressão de um vector
Exercício 14: Impressão inversa de um vector
Exercício 15: Contagem dos elementos de um vector
Exercício 16: Somatório dos elementos de um vector
Exercício 17: Maior número de um vector
Exercício 18: Pesquisa linear
Exercício 19: Pesquisa binária
Exercício 20: Função de Ackermann
Exercício 21: Frase do fim para o início
Exercício 22: Palíndromo
Exercício 23: Torres de Hanoi
Exercício 24: Ordenação rápida
Exercício 25: Labirinto
Adelaide Carvalho
Doctor of Philosophy in Management Science com especialização em Computer Simulation (Lancaster University, Reino Unido), Master of Science in Management Science (University of Kent at Canterbury, Reino Unido), Master of Science in Computing Science (University of London, Reino Unido), Eq. Mestre em Ciência dos Computadores (Universidade do Porto), Licenciada em Economia (Universidade do Porto). Actualmente, é Professora Auxiliar Convidada da Universidade dos Açores. Autora dos livros Exercícios Resolvidos com Excel para Economia e Gestão, Programação com Excel Para Economia e Gestão (Vol. I e II) e Exercícios de Gestão de Projectos Resolvidos com o MS Project.