tutorial - ciro e vizine

13
TUTORIAL CIRO E VIZINE Como vimos em aula, existem ferramentas que podem nos ajudar a desenvolver algoritmos em programas em C. se – senão/ if - else para/ for caso/switch case enquanto/while repita enquanto/do while. Estrutura de seleção simples se-então- senão Sintaxe Algoritmo se(condição verdadeira) então{ comandos; } senão{ comandos; } Linguagem C if (condição verdadeira){ comandos; } else{ comandos; } se (condição) então{ Rafael Lucas de O. Santos Sistemas de Informação - Unisantos 1

Upload: rafalucas2015

Post on 26-Jan-2016

3 views

Category:

Documents


0 download

DESCRIPTION

Introdução a Programação em C. Sistemas de Informação/UNISANTOS1º Semestre

TRANSCRIPT

TUTORIAL CIRO E VIZINE

Como vimos em aula, existem ferramentas que podem nos ajudar a desenvolver algoritmos em programas em C.

se – senão/ if - else para/ for caso/switch case enquanto/while repita enquanto/do while.

Estrutura de seleção simples se-então- senão

Sintaxe

Algoritmo

se(condição verdadeira) então{

comandos;}senão{

comandos;}

Linguagem C

if (condição verdadeira){

comandos;}else{

comandos;}

se (condição) então{

Executa tudo que esta entre chaves caso a condição seja verdadeira e pode ser inserido dentro de um enquanto/while, switch case/caso ou for/para.

Obs.:Dependendo do problema não se usa o “senão”.}

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

1

TUTORIAL CIRO E VIZINE

Exemplo que usa o if else dentro de duas estruturas de repetição.

printf(“Digite um número: “);scanf(“%d”, &nro);

for (i = 1; i <=10; i++){ // i é usado como contador que vai de 1 até 10

while (nro != 0){

if (nro > 2){

printf(“O número é diferente de zero e maior que dois”); }

else{printf(“O número não é diferente de zero e é maior que dois”);

} printf(“Digite um número: “);

scanf(“%d”, &nro);

} // fim do while} //fim do for

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução.

Estrutura de repetição

Existem três estruturas de repetição for, while, do while em linguagem C e para, enquanto e repita enquanto em algoritmo.

Estrutura for ou para

Sintaxe

Algoritmo

para contador ¬ início até fim { comando1 comando2 comandon }

Contador pode ser i, cont, aux qualquer nome de variável não se prenda só no i.

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

2

TUTORIAL CIRO E VIZINE

Linguagem C

for (i = 1; i <= 10; i++){

comando1 comando2 comandon }

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução.

Todas as estruturas de repetição têm a mesma funcionalidade. A estrutura de repetição for ou para é mais usada quando você já sabe o número de vezes que vai ter o loop (quantidade de vezes que a instrução é repetida) como no exemplo acima, já foi determinado que o loop vai rodar 10 vezes, quando chegar no número 11 será encerrada a estrutura de repetição.Você também pode determinar que o usuário entre com o número de parada, por exemplo:

Algoritmo

calcular_media(){

inteiro nro_aluno, cont; // cont vai ser o contadorreal nota;

imprima(“Entre com a quantidade de alunos: ”);leia(nro_aluno);

para cont <- 1 até nro_aluno passo1{

imprima(“Entre com as notas do alunos: ”);leia(nota);

comando1;comando2;comandon;

}

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

3

TUTORIAL CIRO E VIZINE

Liguagem C

#include<stdio.h>#include<stdlib.h> // Essa biblioteca só é usada no DEV C++ do Windows no VI do Linux não se usa.

Int main(){

int nro_aluno, cont; // cont vai ser o contadorfloat nota;

printf(“Entre com a quantidade de alunos: ”);scanf(“%d”, &nro_aluno);

for (cont = 1; cont <= nro_aluno; i++){

printf(“Entre com as notas do alunos: ”);scanf(“%f”,&nota);

comando1;comando2;comandon;

}

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução

Estrutura while ou enquanto

Como vimos anteriormente todas as estruturas de repetição têm a mesma funcionalidade. A estrutura de repetição while ou enquanto é mais usada quando você não sabe o número de vezes que o loop (quantidade de vezes que a instrução é repetida) vai ser executado. Uma das questões mais clássica é “Determine a soma de n números inteiros”, n quer dizer que não se sabe o número de vezes que vai rodar o loop.

Exemplo:

Determine a soma de n inteiros números

Sintaxe

Algoritmo

Calculo(){

inteiro nro, soma;

soma = 0;

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

4

TUTORIAL CIRO E VIZINE

imprima (“Entre com os números: “);leia(nro);

enquanto (nro != 0){

soma = soma + nro; // essa instrução esta somando os números digitados pelo usuário.

imprima (“Entre com os números: “);leia(nro);

}//fim do enquanto

Imprima (“Resultado =”, soma);

}// fim do programa

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução

Linguagem C

#include<stdio.h>#include<stdlib.h>

int main(){

int nro, soma;

soma = 0;

printf (“Entre com os números: “);scanf(“%d”, &nro);

while (nro != 0){

soma = soma + nro; // essa instrução esta somando os números digitados pelo usuário.

printf (“Entre com os números: “);scanf(“%d”, &nro);

}//fim do while

printf” (“Resultado = %d”, soma);

system("pause"); return 0;

}// fim do programa

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

5

TUTORIAL CIRO E VIZINE

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução.

Perceba que é colocado mais um leia no final do “while e enquanto”, isso serve para que continue a calcular os valores digitados pelo usuário. Caso não coloque mais um leia no final da estrutura de repetição o programa será executado uma única vez, e não é isso que pretendemos. Isso serve para todas as estruturas de repetição. Preste atenção.

Estrutura do while ou repita enquanto

A estrutura repetição do while ou repita enquanto é muito semelhante à estrutura while a única diferença é que ele executa o código pelo uma vez.

Exemplo

Determine a soma de n inteiros númerosSintaxe

Algoritmo

Calculo(){

inteiro nro, soma;

soma = 0;

repita {

imprima (“Entre com os números: “);leia(nro);

soma = soma + nro; // essa instrução esta somando os números digitados pelo usuário.

}//fim do repita

enquanto (nro != 0);

Imprima (“Resultado =”, soma);

}// fim do programa

Linguagem C

#include<stdio.h>#include<stdlib.h>

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

6

TUTORIAL CIRO E VIZINE

int main(){

int nro, soma;soma = 0;

do{ printf ("Entre com os números: ");

scanf("%d",&nro); soma = soma + nro; // essa instrução esta somando os números digitados pelo usuário. }//fim do do while (nro != 0); printf("Resultado = %d\n", soma); system("pause"); return 0;}

Se a condição for falsa pelo uma vez vai ser executado o código.

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução

Estrutura de Seleção Múltipla

A estrutura de seleção múltipla (caso em algoritmo e case em C) é fácil de ser identificada, veja o exemplo.

Desenvolva um programa em C que dado o código cliente determine o seu tipo.

Tipo 1 – AdultoTipo 2 – criançaTipo 3 – AdolescenteTipo 4 – Idoso

Exemplo:

Algoritmo

Tipo_cliente(){

Inteiro cod;Imprima(“Entre com o código do cliente: ”); leia(cod);

caso (cod){

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

7

TUTORIAL CIRO E VIZINE

1: {imprima (“Adulto”);}2: {imprima (“Criança”);}3: {imprima (“Adolescente”);}4: {imprima (“Idoso”);}

}//fim do caso

}

Linguagem C

#include<stdio.h>#include<stdlib.h>

int main(){

int cod;

printf(“Entre com o código do cliente: “);scanf(“%d”, &cód);

switch(cod){

case 1: printf(“Adulto”);break;

case 2: printf(“Criança”);break;

case 3: printf(“Adolescente”);break;

case 4: printf(“Idoso”);break;

}//fim do caso

system(“pause”);return 0;}

Dentro dessa estrutura pode ser inserido qualquer estrutura como while, for, if, else dependente do problema a ser resolvido. Ela ajuda você diminuir seu código, imagine que você tenha 20 tipos de clientes para fazer com if e else, seu código ficaria enorme. Para isso que serve a estrutura de seleção múltipla.

Obs.: Nunca se esqueça de abrir e fechar chaves e usar ponto e vírgula no final de cada instrução.

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

8

TUTORIAL CIRO E VIZINE

Como analisar o problema

Vamos desenvolver todos os programas em Linguagem C

Antes de sair desenvolvendo o programa, analise qual o propósito dele, por exemplo:

1-) Desenvolva um programa em C que mostre a tabuada desejada pelo usuário.

Em primeiro lugar analisamos como funciona uma tabuada, em qual estrutura ela se adequaria melhor. ( ) for/para( ) do while / repita enquanto( ) while / enquanto( ) if else / se-senão( ) switch case / caso

#include<stdio.h>#include<stdlib.h>

Int main(){

Int nro, i;

printf(“Entre com a tabuada desejada: “);scanf(“%d”, &nro);

(escreva o código eu já dei dica demais){

código; }

printf(“”);

system(“pause”);return 0;

}SAÍDA

2 X 1 = 22 X 2 = 42 X 3 = 6

Assim por diante.

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

9

TUTORIAL CIRO E VIZINE

2-) Uma locadora de vídeos pediu que você desenvolve-se um programa que tenha as seguintes características.

- Mostre o número de locações por gênero;- O valor total a pagar;

Gênero Valores

1 – Suspense R$ 2.002 – Terror R$ 3.003 – Ação R$ 4.00

Dica

Foram usadas as seguintes estruturas de repetição. (X) for/para( ) do while/repita enquanto(X) while(X) if else – somente o if(X) switch case; caso

Se conseguir desenvolver esse programa, você estará apto a resolver os problemas da prova.

O código fonte do programa estará anexo a este tutorial, mas, por favor, tente resolver se não vai ser pior para você mesmo.

Perguntas freqüentes

Porque iniciar a variável com zero?

Para garantir que não haverá nenhuma “sujeira” na variável. Imagine se fosse colocado somente soma = soma + nro; sem iniciar a variável com zero. A variável nro não iria somar porque não existe valor na variável soma. Geralmente inicia-se com zero contadores.

Porque usar um contador?

A média não é a soma das notas divido pelo número de alunos. O cont++ ou cont = cont + 1 serve para contar o numero de alunos. Lembrando que while você não sabe o número de notas que serão digitadas.

Determina a média de n alunos.

float nota;cont = 0;// lembre da “sujeira”.soma = 0;

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

10

TUTORIAL CIRO E VIZINE

printf(“entre com a nota: “); scanf(%f, &nota);

while (nota != 0){

soma = soma + nota;cont = cont + 1; ou cont ++;

printf(“entre com a nota: “);scanf(%f, &nota);

} media = soma / cont;

Rafael Lucas de O. SantosSistemas de Informação - Unisantos

11