Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
5374 : Engenharia Informtica 6638 : Tecnologias e Sistemas de Informao 9099 : Bioengenharia 10135 : Cincias Biomdicas
Module Introduction
Objectivos:!
Problemas e Algoritmos!
receita!
Noo de Algoritmo!
Farinha de Trigo! Acar! Ovos! Fermento! Leite! Manteiga!
algoritmo!
PROBLEMA
ALGORITMO
PROGRAMA
Pode haver mais do que um algoritmo para resolver um problema.! Por exemplo, para ir de casa at o trabalho, podemos escolher diversos ! meios de transportes em funo do preo, conforto, rapidez, etc..!
Representaes de Algoritmos!
No existe consenso entre os especialistas sobre qual a melhor maneira de representar um algoritmo. ! Actualmente a maneira mais comum de representar algoritmos atravs de uma pseudo-linguagem ou pseudo-cdigo. Esta forma de representao tem a vantagem de o algoritmo seja escrito de uma forma que est prxima de uma linguagem de programao de computadores.!
Incio
Ler X!
Ler Y!
M=(X+Y)/2!
Escreve M!
Fim
Codicao em C (4)!
#include <stdio.h> main(){ float X, Y, M; printf(Introduza o valor de X:\n); scanf("%f", &X); printf(Introduza o valor de Y:\n); scanf("%f", &Y); M=(X+Y)/2; printf(A media M = %f\n,M); }
incio e m de uxograma!
teste e deciso!
outras aces/instrues!
conector na mesma pgina! inicializao! teste e actualizao! conector para outra pgina!
exit!
exit!
SEQUNCIA!
Sequncia!
entrance!
exit!
Seleco de 2-vias!
! ! Uma estrutura de seleco tambm designada por estrutura de deciso.! Neste caso, o uxo de processamento segue por 1 das 2 vias, dependendo do valor lgico (verdadeiro ou falso) da expresso avaliada no incio da estrutura.! Se o uxo de processamento s passa por 1 via, ento s uma das aces realizada ou processada.! Em C, uma estrutura de seleco com 2 vias a instruo if-else.!
false! true!
?!
Exemplo em C: if-else!
#include <stdio.h> int main() { int x, y, M; printf(Introduza x e y: \n); scanf("%d%d", &x, &y); if (x > y) M = x; else M = y; printf("O valor maior = %d\n", M); return 0; }
Seleco de 1-via!
! Neste caso, se a expresso lgica tiver resultado false, nenhuma aco processada dentro da estrutura de seleco.! S processada uma aco dentro da estrutura de seleco se a expresso lgica for true; da, o nome de seleco com 1 via.! Em C, uma estrutura de seleco com 1 via a instruo if.!
false! ?! true!
Exemplo em C: if!
#include <stdio.h> int main() { int x, y, M; printf(Introduza x e y: \n); scanf("%d%d", &x, &y); M = x; if (y > M) M = y; printf("O valor maior = %d\n", M); return 0; }
Seleco de n-vias!
! Neste caso, a deciso no feita com base numa expresso lgica porque h mais do que 2 resultados possveis. ! Tambm s so processadas a aco ou as aces encontradas numa via.! Em C, uma estrutura de seleco com n vias a instruo switch com break. No entanto, se no usarmos o break, h a possibilidade de executar as aces de vrias vias.!
! !
...
Exemplo em C: switch!
#include <stdio.h> int main() { int x, y, resultado; char operacao; printf(Introduza x operador y: \n); scanf("%d %c %d", &x, &operacao, &y); switch (operacao) { case + : resultado break; case - : resultado break; case * : resultado break; case / : resultado } = x + y; = x - y; = x * y; = x / y;
true
Exemplo em C: while!
#include <stdio.h> int main() { int soma, n=1; soma = 0; while (n <= 100) { soma = soma + n; n = n + 1; } // inicializao da varivel soma // teste de paragem // actualizao da varivel soma! // actualizao da varivel de controlo
Exemplo em C: do-while!
#include <stdio.h> int main() { int soma, n=1; soma = 0; do { soma = soma + n; n = n + 1; } while (n <= 100); // inicializao da varivel soma // actualizao da varivel soma! // actualizao da varivel de controlo // teste de paragem
true
Exemplo em C: for!
inicializao ! #include <stdio.h> int main() { int soma, n=1; soma = 0; for (n=1; n<=100; n++) soma = soma + n;
teste de paragem !
actualizao !
Programao Estruturada!
Sumrio:!
FIM