memoria.bn.brmemoria.bn.br/pdf/093092/per093092_1957_08856.pdf · TTIfjlJl rj
Aula1_-_Revisão (1).pdf
-
Upload
diene-nery -
Category
Documents
-
view
47 -
download
1
Transcript of Aula1_-_Revisão (1).pdf
-
Fundamentos de Programao II
(
UnigranrioEscola de Cincia e Tecnologia
Prof Ana Lusa Duboc
-
Ementa do Curso
Implementar programas na linguagem C utilizando-
se dos seguintes recursos:
Variveis, operadores e estruturas de controle (aprendidosem Fundamentos de Programao I)
Vetores
Matrizes
Strings
Ponteiros
Funes
Arquivos
-
Ambiente de ProgramaoECLIPSE
-
Eclipse
http://www.eclipse.org/downloads/
Buscar por Eclipse IDE for C/C++ Developers
Eclipse Mars (4.5) a verso mais nova.
Faa o download da verso que desejar e instale emc:\bin\eclipse.
Crie um atalho na rea de Trabalho apontando parac:\bin\eclipse\eclipse.exe.
Para verificar se as configuraes esto corretas, bastaexecutar o Eclipse.
-
Eclipse
Caso j tenha o Eclipse instalado em sua mquina mas notenha o plugin de C/C++ instalado, faa:
V em Help, Install New Software
Escolha no Combo "Work With" o update site de sua verso de eclipse: http://download.eclipse.org/releases/Mars
Marque o checkbox Programming Languages, C/C++Development Tools.
Clique em Next, Next, concorde com os termos e cliqueem Finish.
-
Compilador C / C++
Aps o download do Eclipse necessrioinstalar algum compilador de C e ou C++.
Windows: http://sourceforge.net/projects/mingw-w64/
Linux: $sudo apt-get install g++ gcc
-
Variveis de Ambiente
Para que o Sistema Operacional consiga acessar oscompiladores instalados pelo MinGW (se esse for ocompilador escolhido), preciso definir o caminho da pastaque contm os binrios dos compiladores na varivel deambiente PATH. Ir em [Painel de Controle], cone [Sistema], guia
[Avanado], boto [Variveis de Ambiente]. Para as configuraes possam valer para qualquer usurio
do computador, trabalhe com o painel [Variveis doSistema].
Procure a varivel PATH e a selecione. Clique no boto[Editar].
No valor da varivel, acrescente o seguinte contedo:;C:\MinGW\bin (se voc no modificou o caminho
padro na instalao).
-
Introduo ao Eclipse
Ambiente extensvel, portvel e aberto que permite a integrao devrias ferramentas de desenvolvimento (no somente codificao!).
Plug-in: Mdulos que permitem a extenso das funcionalidades do Eclipse
Perspectiva : Conjunto de vises e editores organizados para apoiar umcerto tipo de atividade. Principais perspectivas: C/C++, Java, Debug, Resources, CVS (Sistema
de Controle de Verses). Ao instalar novos plug-ins, novas perspectivas podem ficar
disponveis. Workspace: Pasta que contm um ou mais projetos
Projeto: Pasta dentro do workspace que representa um programa ou ummdulo. Pode conter cdigo e outros recursos.
-
Primeiro Exemplo Projeto no Eclipse
Crie um workspace em seu computador e abra o eclipse paraeste workspace.
Habilite a perspectiva C/C++.
Criando um projeto: [File][New][Project] e no assistente marcar [C Project] e
[Next] Project Name: ProjetoC Project Type: Empty Project ToolChains: MinGW GCC Clique em [Finish]
-
Primeiro Exemplo Projeto no Eclipse
-
Primeiro Exemplo Projeto no Eclipse
Criando um programa em C: Crie uma pasta de cdigo fonte clicando com o boto direito sobre o projeto
e acessando [New] [Source Folder] . Folder Name: src
Agora, crie um arquivo fonte chamado main.c clicando com o boto direitodo mouse sobre a pasta src e selecionando [New] [Source File]. Noesqueam de colocar a extenso na definio do nome do arquivo.
Escreva o cdigo abaixo e salve:
-
Primeiro Exemplo Projeto no Eclipse
Executando um programa em C: Primeiramente compile o seu programa clicando no cone do martelo:
A seguir, clique no cone abaixo para executar:
A entrada/sada da execuo se d atravs da [View][Console]
-
Reviso de Fundamentos de Programao I
-
Algoritmos
-
Formas de Expresso de um Algoritmo
Linguagem natural: clculo do zero da equaoax+b=0
1. Incio de programa2. ler a, b3. se a diferente de 0 ento
calcula o valor de x (ax+b=0)imprimir valor de x
senoimprimir No h zero
4. Fim de programa
-
Formas de Expresso de um Algoritmo
Linguagem de Programao C: clculo do zeroda equao ax+b=0
-
Estrutura Bsica de Programa C
#include
definio de constantes e declarao de variveis
funes
int main(){declarao de variveis....sentenas....}
-
Sintaxe
Incio do programa -> main()
Identificadores -> utilizados para referenciarvariveis, funes e outros objetos
Declaraes -> expressam partes de umprograma, podendo dar significado a umidentificador
Tipos -> definem as propriedades dos dados(atributos)
Funes -> especificam as aes de umprograma (mtodos)
-
Exemplo de Programa Simples
#include
int main(){
printf(Bem-vindo ao C!!!\n");return 0;
}
Definies de bibliotecas
de entrada e sada
Comando para
pr-processador
Definio de
uma funo
Nome da
funo mainFuno main
retorna um
inteiro
Chamada
funo printf
Parmetro
para printf
Termina a funo
main e retorna
valor 0
Incio de
bloco
Final de
bloco
-
IdentificadoresPrimeiro caractere -> uma letra ou sublinhado.
Caracteres subsequentes -> letras, nmeros ousublinhados.
Exemplos:
Correto Incorretotest23 1count
_num hi!herenome teste...1
Case sensitive -> maisculas se diferem deminsculas . (count, Count e COUNT so diferentes)
As instrues terminam com ;.
-
Variveis
Espao na memria do computador paraarmazenar um determinado tipo de dado;
Todas as variveis devem ser declaradas;
Associao a um determinado tipo dedados;
Declarao -> definio de valor inicial.
tipo lista_de_variaveis;
-
Tipos de Dados Bsicos
Caracteres: char (1 byte)
char letra = a;
Numricos:
Inteiros: int (2 bytes)
longos: long (4 bytes)
curtos: short (2 bytes)
no-negativos: unsigned (int, long, short, char) aumentaa faixa de representao. O inteiro com sinal que vai de -32768 a 32768, passa a ir de 0 a 65535.
Ponto Flutuante:
- simples: float (6 dgitos de preciso) (4 bytes)
- duplo: double (12 dgitos de preciso) (8 bytes)
-
Exemplos de tipos numricos:
int a; float x;
double y; int b = 0;
unsigned int m = 100;
long N = 1000000; short rodas = 4; double pi_aprox = 3.14;
float e_aprox1 = 2.7;
double c_aprox = 3e8;
unsigned long degrau = 1;
-
Declarao de Variveis
Neste exemplo, as declaraes:
char ch, letra;long count;float pi;
declaram duas variveis do tipo char (ch e letra),uma variavel long int (count) e um float. pi.
-
Declarao de Variveis
As variveis so declaradas em trs lugares:
Fora de todas as funes -> variveis globais
Na definio dos parmetros das funes
Dentro de uma funo -> variveis locais
-
Declarao de Variveis
Exemplo:
#include int contador;int func1(int j) { ...}int main() { char condicao; int i;for (i=0; ...){ /* Bloco do for */
float f2; ...func1(i);}
...return 0;
}
Global
Definio de Parmetro de funo
Local
-
Declarao de VariveisVariveis Locais
S podem ser referenciadas por comandos queesto dentro do bloco no qual as variveis foramdeclaradas.
Estas variveis existem apenas enquanto o blocode cdigo em que foram declaradas est sendoexecutado.
Void func1(void){ void func2(void){int x; int x;x=10; x=-199;
} }
A varivel x em func1() no tem nenhuma relaocom a varivel x em func2().
-
Declarao de Variveis
Parmetros Formais
So variveis que recebero os valores dosargumentos de uma funo.
Essas variveis se comportam como qualqueroutra varivel local dentro da funo.
O tipo de varivel dos parmetros formais devemser informados e deve-se lembrar desses tipos aochamar a funo em outras partes do programa.
-
Declarao de Variveis
Variveis Globais
So reconhecidas pelo programa inteiro e podemser utilizadas por qualquer pedao de cdigo.
Armazenam seus valores durante toda a execuodo programa.
Para serem reconhecidas como globais devem serdeclaradas fora de qualquer funo.
So teis quando o mesmo dado utilizado emmuitas funes do programa. Deve-se evitarutiliz-las desnecessariamente, j que ocupammemria durante todo o tempo de execuo doprograma.
-
Declarao de Variveis
Variveis Globais
Exemplo:
#include int count; /* count global */void func1(void){
int temp;temp=count;func2();printf(Count %d, count); /* imprimir 100 */
}void func2(){
int count;for(count=1; count
-
Constantes
O valor permanece o mesmo durante toda a execuo
Definio por duas formas:
Comando
#define do pr-processador
Palavra-chave
const na declarao
-
Constantes
Exemplo:
#define PI 3.1416const float pi = 3.1416;
int main(){double r = 2.5;double area1, area2;
area1 = PI * r * r;area2 = pi * r * r;return 0;
}
-
Operadores Operador de AtribuioForma geral:
nome_da_variavel = expresso
Atribuio Mltiplax = y = z= 0;
Operadores Aritmticos
O menos unrio multiplica seu nico operando por -1.
No h operadores de potenciao.
Operador Ao- Subtrao, menos unrio+ Adio* Multiplicao/ Diviso
% Mdulo da Diviso (resto)-- Decremento
-
Operadores
Operadores Aritmticos
Incremento e Decremento
x= x+1 o mesmo que x++; ou ++x; x = x-1 o mesmo que x--;
Porm,x= 10;y = ++x; ento y = 11
Mas, se y= x++ ento y = 10.
Em ambos os casos, x recebe 11. A diferena est em quandoisso acontece.
-
Operadores
- Incremento e Decremento
Quando numa expresso, o operador ps-fixado indicaque a varivel ser incrementada ao final da expresso.
m = 1;c= 2 * m++; // c = 2, m=2
m = 1;m = 2 * m++; // m = 3
O pr-fixado sempre feito antes da expresso.
-
Operadores
Operadores Aritmticos
Incremento e Decremento
int n = 0, m = 0, a, b, c, d;
n++; /* n = 1 */++m; /* m = 1 */n--; --n; /* n = -1 */a = n++; /* a = -1; n = 0 */b = ++m; /* b = 2; m = 2 */c = 2*(m++); /* c = 4; m = 3 */d = 3*(++n); /* d = 3; n = 1 */
-
Operadores
Operadores Aritmticos
Exemplos:
int n = 10, d = 7;
double x, y=10, z;/* declaraes do mesmo tipo */
int i, j, k;
i = 25; /* atribuio */
j = d + i ; /* j = 32 */
k = i / n ; /* k = 2 (diviso inteira) */
i = n % d; /* i = 3 (resto)*/
z = x / y; /* z = 2.5 */
j = z + y; /* j = 12 (converso) */
-
Operadores
Operadores Aritmticos
Precedncia das operaes
Operadores do mesmo nvel de precedncia so avaliadospelo compilador da esquerda para a direita. Porm,parnteses podem ser utilizados para alterar a ordem deavaliao. Parnteses foram uma operao, ou um conjunto deoperaes a ter um nvel de precedncia maior.
Mais alta ++ --- (menos unrio)* / %
Mais baixa + -
-
Exemplos de Precedncia
a = b + c; /* atribuio < soma */
d = (a + b) * c; /* determinada por parntesis */
e = a + b * c; /* multiplicao > soma */
f = a + b c; /* esquerda para direita*/
g = f/e*g; /* (f/e)*g - esquerda para direita*/
f = a + b * c d / e; /* (a + (b*c)) (d/e) */
-
Operadores
Operadores Aritmticos
Atribuio e Operao
Operao combinada com atribuio em um mesmo operador
+=, -=, *=, /=, %=, entre outros
a += b; /* a = a + b */c -= b*a; /* c = c (b*a) */d *= a - b; /* d = d * (a - b) */
-
Operadores
Operadores Relacionais e Lgicos
Operador Ao> Maior que< Menor que>= Maior ou igual a
-
Operadores
Operadores Relacionais e Lgicos
Exemplo de utilizao:
if (x >= 0 && x < 5)printf("dentro \n");
else if (x < 0)
printf("muito pequeno \n");else
printf("muito grande \n");
-
Operadores
Operadores Relacionais e Lgicos
Precedncia dos Operadores
Assim como no caso das expresses aritmticas, possvel utilizar parnteses para alterar a ordemnatural de avaliao de uma expresso relacionale/ou lgica.
Maior !> >= <
-
ENTRADA E SADA DE DADOS
-
Impresso de Valores
Baixar esta verso
Funo printf -> insero de comandos que indiquem ostipos dos valores e o formato da impresso.
Formato geral: printf(expresso de controle,arg1,arg2);
Arg: pode ser varivel, const, expresses, chamadas de funes,...
Principais cdigos de formato de impresso
%d -> varivel inteira com sinal
%u inteiro sem sinal
%f -> varivel ponto flutuante
%e -> ponto flutuante em notao cientfica
%c -> caractere
%s -> String de caracteres
%p -> Apresenta um ponteiro
-
Impresso de Valores
#include
int main()
{
int a=1;
a++;
printf("Valor de a: %d,a);
return 0;
}
-
Preciso e tamanhoNo caso geral temos: %[-] [tamanho] [.precisao] { tipos de dados}printf("123456789012345678901234567890\n");printf("%10s%10c%10s\n", "Ano", ' ', "Valor");printf("%9d%11c%10d\n", 1, ' ', 1000);printf("%9d%11c%10d\n", 2, ' ', 2560);printf("%9d%11c%10d\n", 3, ' ', 6553);
-
Preciso e tamanho
No caso em que o numero real, o parmetro de preciso define com quantas casas decimais o nmero deve ser escrito:
-
Leitura de Valores
}
Utiliza-se freqentemente a funo scanf.
Insero de tipos de valores e formato.
scanf(expresso de controle, end1, end2,...);
Especificadores de Formato: %d inteiros %f ponto flutuante %c caractere %s string
As variveis de leitura devem ser precedidas pelo operador& na chamada funo scanf, pois representam endereos.
O especificador %s l caracteres at que seja encontradoum espao em branco. Logo, a string isto um teste nopode ser lida pelo mesmo. Na leitura de variveis desse tipo,no usa-se & antes do nome da varivel.
-
Leitura de Valores
}
Exemplo:int main() {
setbuf(stdout, NULL);int a;int b;int soma;printf(Digite dois nmeros:\n);scanf("%d %d", &a, &b);soma = a + b;printf("Soma = %d\n", soma);return 0;
}
Os nmeros podem ser separados por um ou mais espaosem branco,tabs, ou enters . O primeiro nmero lido atribudo varivel a, e o segundo varivel b.
-
Leitura de Valores
}
Observe o comando setbuf(stdout, NULL) no incio do programa.
Este comando necessrio para que o programa em C funcione corretamente no Eclipse.
Este comando responsvel por desabilitar o buffer de sada.
Outra opo colocar o comando fflush(stdout) depois de cada printf.
-
Exemplo de Leitura de Valores
}
#include
int main() {
int idade, matr;char sexo;setbuf(stdout, NULL);printf(Matrcula: );scanf(%d,&matr);printf(Idade: );scanf(%d,&idade);printf(Sexo: (f ou m));scanf(%c,&sexo);printf(Matrcula: %d\n,matr);printf(Idade: %d\n,idade);printf(Sexo %c,sexo);return 0;
}
-
Bibliotecas do C
}
stdio.h - funes padronizadas de entrada e sada.
fclose fgetc fgets fopen fprintf fputcfputs fread fseek fwrite printf scanf sprintf
string.h - operaes com strings.strcat strcmp strcpy strdup strlen strstr
math.h - trigonometria e exponenciao.
cos exp fabs log pow sin sqrt tan
time.h gerenciamento de data e hora.
ctime gmtime mktime
-
Exemplos de Funes Matemticas
}Funes matemticas de math.h
Trigonomtricas
sin, cos, tan, asin, acos, atan, atan2
Relacionadas a exponenciao
exp, pow, sqrt, log, log10, sinh, cosh, tanh
-
Exemplos de Funes Matemticas
}
#include #include
int main() {
float x = 10.0, y = 2.0, z;z = sqrt(pow(y,y)*pow(x,y));printf(O valor de z : %f,z);
return 0;}
-
Exerccios
1) Faa um programa que leia a base e altura de umtringulo e calcule a rea do mesmo.
2) Faa um programa que efetue o clculo do salrio lquidode um professor. Os dados fornecidos sero: valor dahora/aula, nmero de aulas dadas no ms e percentual dedesconto do INSS.
-
ESTRUTURAS DE CONTROLE
-
Estruturas de Controle
Controlam o fluxo de execuo doprograma;
Duas categorias principais:
Seleo
If, operador ternrio, switch.
Iterao
While, do-while, for.
-
Seleo
If/else atravs dessa estrutura, oscomandos podem ser executadoscondicionalmente.
Se a condio for verdadeira ento o comandoou bloco de comandos executado.
Em C, verdadeiro qualquer valor diferente de0 (zero).
Um bloco de comandos a serem executadosficam delimitados entre { }
Cada comando termina com ;
-
Seleo
Exemplo:
if (saldo > 0)printf("credor");
elseprintf("devedor");
Condio
Comando a executar se condio for verdadeira
Comando a executar se condio for falsa
Parntesis so
necessrios
-
Seleo Exemplo:
#include
int main(){int a,b;float div;setbuf(stdout, NULL);printf("Digite dois numeros: ");scanf("%d %d",&a, &b);if (b) { //testa apenas o valor de bdiv = (float)a/b;printf("A diviso d: %f\n", div);}
else printf("diviso por 0 no permitida\n");return 0;
}
-
Blocos
Utilizados para execuo de uma sequncia decomandos.
Delimitadores: { e }
Exemplo:
if (saldo > 0) {total_credores += saldo;printf("credor=%d \n,total_credores);
} //no tem ; else {total_devedores += saldo;printf("devedor=%d \n,total_devedores);
} //no tem ;
-
Condicional if/else
Pode-se utilizar o comando if sem usar oelse correspondente.
Neste caso, se a condio for falsa, nadaser executado.
Exemplo:
if (x
-
Escada if-else-if
Forma Geral:
if (expresso) comando;elseif (expresso) comando;elseif (expresso) comando;else comando;
Se a expresso for verdadeira, executa comando e desvia do resto da escada.
Se nenhuma condio for verdadeira, esse else executado
Se no tiver o else, nenhuma ao ocorre se todas as condies forem falsas.
-
Escada if-else-if
Geralmente recuada da forma:
if (expresso)comando;
else if (expresso)Comando;
else if (expresso)Comando;
elsecomando;
-
Exemplo Escada if-else-if#include
int main(){int magic;int guess;setbuf(stdout, NULL);magic = rand();printf("Adivinhe o nmero mgico: ");scanf("%d",&guess);if (guess == magic) {
printf("Certo\n");printf("%d o nmero mgico\n",magic);}
else if (guess > magic)printf("Errado, muito alto\n");
else printf("Errado, muito baixo\n");return 0;
}
Cuidado para no usar o = de atribuio
-
Operador Ternrio
Modo compacto de expressar if/else.
condio ? expresso1 : expresso2
Exemplo:
max = (a>b) ? 1 : 0
max receber 1 se (a>b) for verdadeiro ereceber 0 se (a>b) for falso.
-
Exemplo
int main() { int x,y,max;
setbuf(stdout, NULL);printf("Entre com dois nmeros: ");scanf(%d %d \n,&x,&y);max=(x > y)?1:0; printf("max = %d \n",max);return 0;
}
-
EXERCCIOS1. Construa um programa em C que leia um nmero e
imprima se o nmero mltiplo de 3 ou no.
2. Faa um programa em C que leia a idade de uma pessoae informe se a mesma:
Est entre 18 e 65;
menor de idade; ou
maior de 65 anos.
-
Switch
Comando de seleo mltipla que testasucessivamente o valor de uma expresso sobreuma lista de constantes inteiras ou de caracteres;
Caso haja uma coincidncia entre a expresso eum valor, a sequncia de comandos associadaquele case ser executada.
Caso contrrio, o comando default executado.
O comando switch frequentemente utilizado paraprocessar uma entrada via teclado, como em umaseleo por menu.
-
Switch
Sintaxe:
switch (varivel) {case constante 1:
seqncia de comandosbreak;
case constante 2:seqncia de comandosbreak;
.
.
.default:
seqncia de comandos}
opcional
Seqncia de comandos executada
at que o comando break
seja encontrado.
-
SwitchExemplo:
int main(){ char x; setbuf(stdout, NULL);printf("1. incluso\n"); printf("2. alterao\n"); printf("3. excluso\n"); printf(" Digite sua opo:"); scanf("%c",&x);switch(x) {
case '1': printf ("escolheu incluso \n");break;
case '2': printf ("escolheu alterao \n");break;
case '3': printf ("escolheu excluso \n");break;
default: printf("opo invlida\n"); }return 0;}
Se no tivesse o break e fosse digitado o '1', imprimiria a frase do segundo case tambm.
-
Posso ter cases sem comandos associados.int main()
{
int x;
setbuf(stdout, NULL);printf(" Digite um numero:");
scanf("%d",&x);
switch(x) {
case 1:
case 2:
case 3: printf("teste");
break;
}
return 0;
}
- Se o x for 1,2 ou 3, vai fazer o que est no case 3.
-
Voc pode ter um switch como parte da sequnciade comandos de outro switch. Mesmo se asconstantes dos cases dos switchs interno e externopossurem valores comuns, no d conflito.
int main(){ int x,y; setbuf(stdout, NULL);printf(" Digite um numero:"); scanf(%d,&x);switch(x) {
case 1: printf(" Digite um numero:"); scanf(%d,&y);switch(y) {
case 1: printf(teste1);break;
default: printf(outro);}
case 2: printf(teste2);break;
Default: ...}
}
Esse break no impede de entrar no case 2 do switch externo
-
Exerccio switch
1. Faa um programa que leia dois nmeros, apresente um menucom as opes de operao (soma, subtrao, multiplicao ediviso), e execute a operao escolhida, mostrando na tela oresultado.
-
Iterao
1. Estrutura de Repetio While
Permite repetir um comando enquanto a condiofor verdadeira.
Comando pode ser vazio, simples ou bloco;
Executado desde que a condio seja verdadeira;
A condio pode ser qualquer expresso, everdadeiro qualquer valor no-zero.
Testa a condio antes de executar o lao
Sintaxe:
while (condio) { bloco de comandos;
}
-
Iterao Exemplo:
#include int main() {
int valor = 1; while (valor
-
Iterao
Estrutura de Repetio Do .. While
Tambm executa comandos repetitivos.
Comando pode ser vazio, simples ou bloco.
Repete o bloco de comandos at que a
condio seja falsa.
Testa a condio depois de executar o lao
Sintaxe:
do {
bloco de comandos;
}
while (condio);
-
Iterao Exemplo:
#include int main() {
int valor = 1; do{
printf("%d ", valor); valor++;
}while(valor
-
Iteraowhile ou do..while ?
Ex: escrever um programa que leia valoresinteiros a partir do teclado e calcule a mdia dosnmeros quer forem mpares. O programa deveterminar a leitura se o usurio digitar um nmeronegativo. Imprima a mdia pedida e o total denmeros mpares digitados (desconsiderando onegativo)
Qual das duas estruturas melhor usar nestecaso?
-
Iterao#include int main(){
setbuf(stdout, NULL);int total=0,num;float media=0;printf("Digite um numero: \n");scanf("%d",&num);while (num >=0) {if (num%2) {
media += num;total++;
} printf("Digite um numero: \n");scanf("%d",&num);
}if (total) {media = media/total;printf("media: %0.1f, Total: %d",media, total);
}else printf("nenhum numero impar foi digitado");return 0;
}
-
Iterao#include
main(){setbuf(stdout, NULL);int total=0,num,t=0;float media=0;do {printf("Digite um numero: \n");scanf("%d",&num); if (num%2) {
media += num;total++;
} t++;
} while (num >=0);if (total) {media = media/total;printf("media: %0.1f",media);
}else printf("nenhum numero impar foi digitado\n");
printf("total de numeros digitados: %d",t);return 0;}
Vai fazer os comandos antes de testar se o nmero positivo. Vai incrementar o t.
-
Exerccios1) Faa um programa que imprima a soma de dois nmeros lidos da tela at que ocorra de uma soma ser mpar.
2) Faa um programa que leia um nmero pelo teclado e repita a operao de multiplicar ele por trs (imprimindo o novo valor) at que ele seja maior do que 100. Ex.: se o usurio digita 5, deveremos observar na tela a seguinte sequncia: 5 15 45 135.
-
Iterao
1. Estrutura de Repetio For
Comando de repetio com condio pr-definida.
Sintaxe:
for (inicializao;condio;incremento){
bloco de comandos;
}
Uma vez que a condio se torne falsa, a execuo do programa continua no comando seguinte ao for.
-
Iterao
Exemplo:
#include int main() { int x;for (x = 1; x
-
Iterao
O lao pode ser executado de forma inversa:
#include int main() { int x;float z;for (x = 100; x !=65; x-=5){z = x*x;printf ("O quadrado de %d, %f \n ", x,z);
}return 0;
}
-
Iterao
Laos FOR aninhados:
int main() {int i,j;
for (i=1; i
-
Iterao
Variaes do lao FOR
Qualquer expresso do comando FOR pode ficarem branco.
for (x = 0; x != 123;) scanf("%d",&x);
- Cada vez que o lao se repetir x ser testado para verificar se igual a 123, mas nenhuma atitude adicional ser tomada. Se voc digitar 123 no teclado, o lao termina.
-
Exerccios
1) Faa um programa que conte de 1 a 100 e acada mltiplo de 5, emita uma mensagem:Mltiplo de 5.
2) Faa um programa que leia os catetos de 10tringulos, calcule a hipotenusa de cada umdeles e imprima esses valores.
-
Desvios
Break
O comando break pode ser tanto usadopara terminar um teste case dentro deum comando switch quanto parainterromper a execuo de um lao.
Quando for encontrado no corpo docomando: trmino imediato; controle do programa muda o fluxopara o cdigo imediatamente aps oloop.
-
Desvios
Exemplo:
for (i = 0; i < 100; i++){
scanf("%d", &num );if (num < 0)
break;printf ("%d\n", num );
}
-
Desvios
Continue
O comando continue parecido com o comandobreak.
A diferena que o comando continuesimplesmente interrompe a execuo daiterao corrente, passando para a prximaiterao do lao, se houver uma.
-
Desvios
Exemplo:
for (i = 0; i < 10; i++){
scanf("%d", &num );if (num < 0)
continue ;printf("%d\n", num );}
-
Exercicios
1) Faa um programa que verifique se um dado nmero digitadopelo usurio ou no potncia de 2. A sada do programa deveser assim(imagine que o numero digitado foi 44):
44 divisivel por 2
22 divisivel por 2
11 no divisvel por 2
No potncia de 2
-
Mais Exerccios
1.Escreva um programa em C que leia trs valores, a, b,c e calcula:
a rea do tringulo que tem a como base e b comoaltura;
a rea do crculo de raio c; a rea do trapzio de bases a e b e altura c; a rea do quadrado de lado b; a rea do retngulo de lados a e b.
2. Faa um programa em C que leia a idade de umapessoa em anos, calcule e escreva essa idade em:
Meses; Dias; Horas; segundos.
-
Exerccios
3. Dados trs valores X,Y e Z, verificar se eles podem ser oscomprimentos dos lados de um tringulo, e se forem,verificar se um tringulo equiltero, isceles ouescaleno. Se eles no formarem um tringulo, escreveruma mensagem.
Obs.: O comprimento de cada lado de um tringulo menor do que a soma dos comprimentos dos outros doislados.
4. Faa um programa em C que calcula as razes de umaequao do 2 grau, sendo que os valores A, B e C sofornecidos pelo usurio.
-
Exercicios
5. Escreva um programa que exiba uma mensagem com as opes"1-multiplicar" ,"2-somar" "3-Subtrair", "4-Dividir", "5-Sair".Leia a opo desejada (1, 2, 3, 4,5), leia dois valores, executea operao escolhida e exiba o resultado. O programa deveficar repetindo sua execuo, at que seja escolhida a oposair.
6. Escreva um algoritmo que leia um conjunto de 10 nmerosinteiros e mostre qual foi o maior e o menor nmero fornecido.