ces-10 introduÇÃo À computaÇÃo aulas práticas – 2014 capítulo iv fluxogramas
TRANSCRIPT
![Page 1: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/1.jpg)
CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO
Aulas Práticas – 2014Aulas Práticas – 2014
Capítulo IV Capítulo IV
FluxogramasFluxogramas
![Page 2: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/2.jpg)
Fluxogramas foram usados para descrever Fluxogramas foram usados para descrever comandos condicionais e repetitivos:comandos condicionais e repetitivos:
Comandos
Condição
V
F
do Comandoswhile (Condição);
Comando
s
Condição
V
Fwhile (Condição) Comandos
Comando
s 2
Condição
V F
Comand
os 1
Condição
V
F
Comand
os
if (Condição) Comandos
if (Condição) Comandos 1else Comandos 2
Dentro dos comandos:
variável = expressão;scanf (--------); printf (--------);Condicionais e repetitivos
![Page 3: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/3.jpg)
FluxogramasFluxogramas podem ser considerados como podem ser considerados como uma uma linguagemlinguagem para descrição de para descrição de algoritmosalgoritmos
Uma vez escrito o Uma vez escrito o fluxogramafluxograma, ele então é , ele então é traduzidotraduzido para uma para uma linguagem de linguagem de programaçãoprogramação
![Page 4: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/4.jpg)
Exemplo: Exemplo: fluxograma para inverter os dígitos de fluxograma para inverter os dígitos de um númeroum número
Método: ilustrado com a inversão do Método: ilustrado com a inversão do número 48728 para 82784número 48728 para 82784
48728 10
8 4872 10
2 487 10
7 48 10
8 4 10
4 0* 10 +
88 * 10 + 282 * 10 +
7827 * 10 + 88278 * 10 +
4 82784
0
48728numaux
inv
aux
inv
aux = num; inv = 0;while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10;}
![Page 5: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/5.jpg)
Fluxograma:Fluxograma:
← : sinal de atribuição
aux = num; inv = 0;while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10;}
![Page 6: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/6.jpg)
#include <stdio.h> - Usa #include <stdio.h> - Usa scanf scanf e e printfprintf
#include <stdlib.h> - Usa #include <stdlib.h> - Usa systemsystem para para encerrarencerrar
int main () {int main () {
- - -- - -
}}
Tradução do fluxograma para a Linguagem C
Copiar para salvar e executar posteriormente
![Page 7: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/7.jpg)
int num, aux, inv; char c, int num, aux, inv; char c, lixolixo;;
printf ("INVERSAO DE NUMEROS:");printf ("INVERSAO DE NUMEROS:");
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): ");
No escopo de main
if, if-else, while ou do-while?
Detalhes da manipulação do buffer do teclado não precisam aparecer no fluxograma
![Page 8: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/8.jpg)
int num, aux, inv; char c, int num, aux, inv; char c, lixolixo;;
printf ("INVERSAO DE NUMEROS:");printf ("INVERSAO DE NUMEROS:");
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): ");
do do
- - - - - - - - - - - - - - - -
while (- - - - -);while (- - - - -);
while (- - - - -) {while (- - - - -) {
- - - - -- - - - -
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
if, if-else, while ou do-while?
if, if-else, while ou do-while?
![Page 9: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/9.jpg)
int num, aux, inv; char c, int num, aux, inv; char c, lixolixo;;
printf ("INVERSAO DE NUMEROS:");printf ("INVERSAO DE NUMEROS:");
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): ");
do do
scanf ("%c%c", &c, &lixo); scanf ("%c%c", &c, &lixo);
while (c != 's' && c != 'n' && c != 'S' && c != 'N');while (c != 's' && c != 'n' && c != 'S' && c != 'N');
while (- - - - -) {while (- - - - -) {
- - - - -- - - - -
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
![Page 10: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/10.jpg)
int num, aux, inv; char c, int num, aux, inv; char c, lixolixo;;
printf ("INVERSAO DE NUMEROS:");printf ("INVERSAO DE NUMEROS:");
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): ");
do do
scanf ("%c%c", &c, &lixo); scanf ("%c%c", &c, &lixo);
while (c != 's' && c != 'n' && c != 'S' && c != 'N');while (c != 's' && c != 'n' && c != 'S' && c != 'N');
while (- - - - -) {while (- - - - -) {
- - - - -- - - - -
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
![Page 11: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/11.jpg)
while (c == 's' || c == 'S') {while (c == 's' || c == 'S') {
printf ("\n\tDigite o numero: "); printf ("\n\tDigite o numero: ");
scanf("%d%c", &num, &lixo);scanf("%d%c", &num, &lixo);
aux = num; inv = 0;aux = num; inv = 0;
while (aux != 0) {while (aux != 0) {
inv = 10 * inv + aux % 10; aux = aux/10;inv = 10 * inv + aux % 10; aux = aux/10;
}}
- - - - -- - - - -
}}
Feito anteriormente
![Page 12: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/12.jpg)
while (c == 's' || c == 'S') {while (c == 's' || c == 'S') {
printf ("\n\tDigite o numero: "); printf ("\n\tDigite o numero: ");
scanf("%d%c", &num, &lixo);scanf("%d%c", &num, &lixo);
aux = num; inv = 0;aux = num; inv = 0;
while (aux != 0) {while (aux != 0) {
inv = 10 * inv + aux % 10; aux = aux/10;inv = 10 * inv + aux % 10; aux = aux/10;
}}
- - - - -- - - - -
}}
![Page 13: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/13.jpg)
while (c == 's' || c == 'S') {while (c == 's' || c == 'S') {
printf ("\n\tDigite o numero: "); printf ("\n\tDigite o numero: ");
scanf("%d%c", &num, &lixo);scanf("%d%c", &num, &lixo);
aux = num; inv = 0;aux = num; inv = 0;
while (aux != 0) {while (aux != 0) {
inv = 10 * inv + aux % 10; aux = aux/10;inv = 10 * inv + aux % 10; aux = aux/10;
}}
printf ("\n\t%d invertido torna-se %d", num, inv);printf ("\n\t%d invertido torna-se %d", num, inv);
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): ");
dodo
scanf ("%c%c", &c, &lixo);scanf ("%c%c", &c, &lixo);
while (c != 's' && c != 'n' && c != 'S' && c != 'N');while (c != 's' && c != 'n' && c != 'S' && c != 'N');
}}
Repetição de código anterior
![Page 14: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/14.jpg)
#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <stdlib.h>int main () {int main () {
int num, aux, inv; char c, lixo;int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS:");printf ("INVERSAO DE NUMEROS:"); printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo);do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N');while (c != 's' && c != 'n' && c != 'S' && c != 'N');
while (c == 's' || c == 'S') {while (c == 's' || c == 'S') { printf ("\n\tDigite o numero: "); scanf("%d%c", &num, printf ("\n\tDigite o numero: "); scanf("%d%c", &num,
&lixo);&lixo);aux = num; inv = 0;aux = num; inv = 0;while (aux != 0) {while (aux != 0) {
inv = 10 * inv + aux % 10; aux = aux/10;inv = 10 * inv + aux % 10; aux = aux/10;}}printf ("\n\t%d invertido torna-se %d", num, inv);printf ("\n\t%d invertido torna-se %d", num, inv);
printf ("\n\nInverter numero? (s/n): ");printf ("\n\nInverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo);do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N');while (c != 's' && c != 'n' && c != 'S' && c != 'N');
}}printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;
}}
Programa final
Salvar e executar
![Page 15: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/15.jpg)
Exercício:Exercício: Escrever e executar um Escrever e executar um programa programa em Cem C para o seguinte para o seguinte fluxogramafluxograma destinado destinado a calcular a a calcular a soma dos dígitos ímparessoma dos dígitos ímpares de de vários números positivos lidos:vários números positivos lidos:
Todas as variáveis são inteiras
O programa deve ser amigável
É necessário discernir qual o comando correspondente a cada losango:
if-sem-elseif-elsewhiledo-while
![Page 16: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/16.jpg)
Exercício 1 do Exercício 1 do Lab 4: Lab 4: fluxograma fluxograma para encontrar para encontrar os divisores de os divisores de vários números vários números lidos:lidos:Escrever e executar
um programa para ele
Cuidado para não confundir “=” com “==”
Escolher o comando correto para cada estrutura com losango
Esse comando não deve desobedecer ao fluxograma, mesmo que o programa funcione corretamente
![Page 17: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/17.jpg)
Exercício 1 do Exercício 1 do Lab 4: Lab 4: fluxograma fluxograma para encontrar para encontrar os divisores de os divisores de vários números vários números lidos:lidos:No fluxograma não
aparece o fechamento da tela
Deixar a saída no vídeo com certa estética
![Page 18: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas](https://reader035.vdocuments.pub/reader035/viewer/2022081518/552fc15e497959413d8e5761/html5/thumbnails/18.jpg)
Exercício 2 do Lab Exercício 2 do Lab 4: 4: fluxograma para fluxograma para encontrar os encontrar os MMC’s de vários MMC’s de vários pares de números pares de números lidoslidosEscrever e executar um
programa para este fluxograma
Valem os mesmos requisitos anteriores para escolher entre os comandos if-sem-else, if-else, while e do-while
No fluxograma não aparece o fechamento da tela
Deixar a saída no vídeo com certa estética