INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL Delegação Regional de Lisboa e Vale do Tejo Centro de Formação Profissional da Amadora Área de Formação: Ciências Informáticas UFCD: 16 - Programação em C/C++ funções e estruturas Itinerário de Formação: 481039 – Técnico de Informática e Sistemas Formador: Nuno Veríssimo Modalidade: Educação e Formação de Adultos Validado – 16/05/14 Nome: Luís Caldeira Nº 19 Data: 31-03-14 PRA – Reflexão Final do Módulo UC16 Esta UFCD (unidade de formação de curta duração) foi o continuar da programação em C/C++. Trabalhámos com o “software Visualg”, que é muito idêntico ao “software Dev C++”. Uma das diferenças mais notadas entre eles é que o “Visualg” é em Português, o que em termos de programação, nomeadamente para quem se está a iniciar, revela-se uma excelente ferramenta de trabalho. Em termos pessoais, estou mais à vontade a programar com o “Visualg”, uma vez que tinha alguma dificuldade em programar no “Dev C++”. Aprendi qual o conceito do algoritmo, é um conjunto de operações matemáticas simples que, no seu todo, pela ordem correcta, constituem uma operação matemática complexa, é também um conjunto de passos que é necessário executar para chegar à solução de um problema. Com a aprendizagem do conceito do algoritmo, é mais fácil fazer o programa que é pretendido. Falámos também das características dos algoritmos das entradas e saídas. Em relação às entradas, um algoritmo tem zero ou mais entradas (habitualmente acessíveis do exterior através de instruções de leitura). A quantidade de entradas tem que ser especificada previamente. Nas saídas, um algoritmo tem uma ou mais saídas (habitualmente acessíveis do exterior através de instruções de escrita) no caso de algoritmos cujo objectivo é efectuar uma dada acção (tocar uma campainha, abrir uma porta,…) consideram-se como saídas os conjuntos de dados que desencadeiam tais acções. Outras características dos Algoritmos são, o finito, o bem definido e a eficácia. INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL Delegação Regional de Lisboa e Vale do Tejo Centro de Formação Profissional da Amadora No finito a execução de um algoritmo deve terminar sempre num número finito de passos; já no algoritmo bem definido, todos os passos de um algoritmo devem possuir um significado preciso e não ambíguo. Num algoritmo devem ser rejeitadas formulações do tipo “se n for grande” (especificação qualitativa), “Para o maior inteiro n tal que xn+yn=zn, com x,y,z inteiros...” (solução matemática desconhecida). Na eficácia do algoritmo, os passos de um algoritmo devem conduzir à solução do problema proposto no entanto, por vezes, não basta que o algoritmo seja eficaz, pois levantam-se questões de eficiência. A eficiência depende do método de resolução adoptado; na ausência de um conhecimento aprofundado sobre métodos resolventes óptimos (algoritmos eficientes) dever-se-á recorrer às definições matemáticas se existirem. Falámos sobre comandos/estruturas de repetição, “para…faça” para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca <sequência-de-comandos> fimpara EXEMPLO: Os números de 1 a 10 são mostrados em ordem crescente. algoritmo "Númerosde1a10“ var j: inteiro inicio para j de 1 ate 10 passo 1 faca escreva ( j ) fimpara fimalgoritmo “Enquanto ... faça” enquanto <expressão-lógica> faca <seqüência-de-comandos> fimenquanto EXEMPLO: Os números de 1 a 10 são mostrados em ordem crescente. algoritmo "Númerosde1a10“ var j: inteiro inicio j <- 1 enquanto j <= 10 faca escreva ( j ) j <- j + 1 fimenquanto fimalgoritmo INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL Delegação Regional de Lisboa e Vale do Tejo Centro de Formação Profissional da Amadora “Repita ... até” repita <seqüência-de-comandos> ate <expressão-lógica> EXEMPLO: Os números de 1 a 10 são mostrados em ordem crescente. algoritmo "Númerosde1a10“ var j: inteiro inicio j <- 1 repita escreva ( j ) j <- j + 1 ate j > 10 fimalgoritmo Falámos também dos comandos de decisão (sintaxe): “Se ... então” se <expressãológica> entao <seqüência-de-comandos> fimse “Se ... entao ... senão” se <expressão-lógica> entao <seqüência-de-comandos-1> senao <seqüência-de-comandos-2> fimse Fizemos vários exercícios práticos, um dos quais em que utilizámos comandos de selecção múltipla com; “escolha…caso” escolha <expressão-de-seleção> Exemplo: caso <exp11>, <exp12>, ..., <exp1n> algoritmo "Clubes" <seqüência-de-comandos-1> var clube: caractere caso <exp21>, <exp22>, ..., <exp2n> inicio <seqüência-de-comandos-2> escreva ("Insira o nome de um clube de futebol: ") ... leia (clube) outrocaso escolha clube <seqüência-de-comandos-extra> caso "Porto", "Braga" fimescolha escreval ("É um clube do norte.") caso "Benfica", "Sporting" escreval ("É um clube do centro.") outrocaso escreval ("É um clube do sul.") fimescolha fimalgoritmo INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL Delegação Regional de Lisboa e Vale do Tejo Centro de Formação Profissional da Amadora Este módulo foi de extrema importância para mim, pois consegui cimentar as minhas bases e conhecimentos na programação, bases essas que já trazia das outras unidades de formação de programação deste curso.