CES10 INTRODUO COMPUTAO Aulas Prticas 2014 Captulo IV

  • Slides: 18
Download presentation
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas

CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IV Fluxogramas

Fluxogramas foram usados para descrever comandos condicionais e repetitivos: if (Condição) Comandos V if

Fluxogramas foram usados para descrever comandos condicionais e repetitivos: if (Condição) Comandos V if (Condição) Comandos 1 else Comandos 2 Comandos F Condição V Condição F Comandos 2 1 Comandos do while (Condição) Comandos F Condição V Comandos while (Condição); Comandos Dentro dos comandos: variável = expressão; scanf (----); printf (----); Condicionais e repetitivos V Condição F

n Fluxogramas podem ser considerados como uma linguagem para descrição de algoritmos n Uma

n Fluxogramas podem ser considerados como uma linguagem para descrição de algoritmos n Uma vez escrito o fluxograma, ele então é traduzido para uma linguagem de programação

Exemplo: fluxograma para inverter os dígitos de um número aux 48728 n num 48728

Exemplo: fluxograma para inverter os dígitos de um número aux 48728 n num 48728 10 Método: ilustrado com a inversão do número 8 4872 10 48728 para 82784 2 inv 0 487 10 7 48 10 8 4 10 4 0 aux * 10 + 8 8 * 10 + 2 82 aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } * 10 + 7 827 * 10 + 8 8278 inv * 10 + 4 82784

Fluxograma: aux = num; inv = 0; while (aux != 0) { inv =

Fluxograma: aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } ← : sinal de atribuição

#include <stdio. h> #include <stdlib. h> int main () { --} Tradução do fluxograma

#include <stdio. h> #include <stdlib. h> int main () { --} Tradução do fluxograma para a Linguagem C Copiar para salvar e executar posteriormente - Usa scanf e printf Usa system para encerrar

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn.

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn. Inverter numero? (s/n): "); Detalhes da manipulação do buffer do teclado não precisam aparecer no fluxograma No escopo de main if, if-else, while ou do-while?

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn.

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn. Inverter numero? (s/n): "); do -------while (- - -); while (- - -) { ----} printf ("nn"); system ("pause"); return 0; if, if-else, while ou do-while?

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn.

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn. Inverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N'); while (- - -) { ----} printf ("nn"); system ("pause"); return 0;

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn.

int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn. Inverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N'); while (- - -) { ----} printf ("nn"); system ("pause"); return 0;

while (c == 's' || c == 'S') { printf ("nt. Digite o numero:

while (c == 's' || c == 'S') { printf ("nt. Digite o numero: "); scanf("%d%c", &num, &lixo); aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } ----} Feito anteriormente

while (c == 's' || c == 'S') { printf ("nt. Digite o numero:

while (c == 's' || c == 'S') { printf ("nt. Digite o numero: "); scanf("%d%c", &num, &lixo); aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } ----}

while (c == 's' || c == 'S') { printf ("nt. Digite o numero:

while (c == 's' || c == 'S') { printf ("nt. Digite o numero: "); scanf("%d%c", &num, &lixo); aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } printf ("nt%d invertido torna-se %d", num, inv); printf ("nn. Inverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N'); } Repetição de código anterior

#include <stdio. h> #include <stdlib. h> Programa final int main () { int num,

#include <stdio. h> #include <stdlib. h> Programa final int main () { int num, aux, inv; char c, lixo; printf ("INVERSAO DE NUMEROS: "); printf ("nn. Inverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N'); while (c == 's' || c == 'S') { printf ("nt. Digite o numero: "); scanf("%d%c", &num, &lixo); aux = num; inv = 0; while (aux != 0) { inv = 10 * inv + aux % 10; aux = aux/10; } printf ("nt%d invertido torna-se %d", num, inv); printf ("nn. Inverter numero? (s/n): "); do scanf ("%c%c", &c, &lixo); while (c != 's' && c != 'n' && c != 'S' && c != 'N'); } Salvar e executar printf ("nn"); system ("pause"); return 0; }

Exercício: Escrever e executar um programa em C para o seguinte fluxograma destinado a

Exercício: Escrever e executar um programa em C para o seguinte fluxograma destinado a calcular a soma dos dígitos ímpares de vários números positivos lidos: O programa deve ser amigável É necessário discernir qual o comando correspondente a cada losango: if-sem-else if-else while do-while Todas as variáveis são inteiras

Exercício 1 do Lab 4: fluxograma para encontrar os divisores de vários números lidos:

Exercício 1 do Lab 4: fluxograma para encontrar os divisores de vários números 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

Exercício 1 do Lab 4: fluxograma para encontrar os divisores de vários números lidos:

Exercício 1 do Lab 4: fluxograma para encontrar os divisores de vários números lidos: No fluxograma não aparece o fechamento da tela Deixar a saída no vídeo com certa estética

Exercício 2 do Lab 4: fluxograma para encontrar os MMC’s de vários pares de

Exercício 2 do Lab 4: fluxograma para encontrar os MMC’s de vários pares de números lidos Escrever 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