Buscar

Cap 4 - Renan Rossetto das Neves RA 83512

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Nome: Renan Rossetto das Neves R.A: 83512
Indique quais afirmações são falsas e quais são verdadeiras:
1.1A condição dentro de um laço while e do...while tem que ser colocada sempre dentro de parênteses. (V)
1.2Os laços while e for executam SEMPRE, pelo menos uma vez, o corpo do laço.(F)
1.3O laço do...while executa SEMPRE, pelo menos uma vez, o corpo do laço.(V)
1.4As três componentes, dentro de parênteses, do laço for são todas obrigatórias.(F)
1.5As três componentes, dentro de parênteses, do laço for são todas facultativas. (V)
1.6Quando em um laço for se tem que realizar mais do que uma carga inicial ou mais do que um incremento, as diversas instruções, em cada uma das componentes, devem ser separadas por vírgula e não ponto-e-vírgula, de forma a manter o formato do laço for. (V)
1.7A instrução de um laço é sempre executada. (F)
1.8No laço for, o número de vezes que as cargas iniciais são executadas é sempre igual ao número de iterações do laço. (F)
1.9No laço for ou while, o número de vezes que a condição é testada é sempre igual ao número de iterações do laço. (F)
1.10No laço for, o número de vezes que a instrução é executada é sempre igual ao número de vezes que é executada a pós-instrução. (V)
1.11Um laço, quando está dentro de outro laço, necessita de chaves. (F)
1.12Não há limite para o número de laços dentro de outros laços. (V)
1.13No laço do...while, a instrução é sempre executada pelo menos uma vez. (V)
1.14Em todos os laços, a condição é sempre testada pelo menos uma vez. (V)
1.15Os laços while e do...while incrementam automaticamente a variável de controle. (F)
1.16Os laços são executados até que a condição escrita se verifique. (F)
1.17O laço do...while aparece escrito menos freqüentemente do que qualquer dos outros. (V)
1.18Um break, quando presente dentro de um laço, termina o programa. (F)
1.19No laço while, antes de se executar a instrução continue, deve-se atualizar a variável de controle do laço. (V)
1.20Qualquer dos laços pode ser sempre escrito a partir do laço while. (V)
2.Escreva genericamente o laço do…while como um laço while.
R: instrução;
 While (condição) {
 Instrução;
}
3.Escreva genericamente o laço for como um laço while.
R: 
 valorInicial;
 while (condição)
 {
 Instrução;
 Pós instrução; 
}
4.Escreva genericamente o laço while como um laço for.
 For (inicio;condição;)
5.Qual a diferença de execução da instrução break quando presente em um for e em um while?
No caso do for a instrução break vai parar o laço, já no caso do while, ele serve para prevenir um loop infinito.
6.Qual a diferença de execução da instrução continue quando presente em um for e em um while?
 R:Ele para o laço, porém continua o código.
7.Reescreva o seguinte trecho de um programa, utilizando o laço while:
for (i=1 ; i<=20 ; i++)
if (i==10)
continue;
else
printf("%d\n",i);
R: i=1;
while(i<=20){
if (i==10)
continue;
else
printf("%d\n",i);
i++;
}
8.[Exercício de Exame]
Escreva um programa que coloque na tela meia árvore de natal com asteriscos. O número de ramos deverá ser introduzido pelo usuário.
Exemplos com 3,4 e 5 ramos:
*          *          *
**        **        **
***      ***      ***
            ****    ****
                        *****
Int ramos;
Printf (“Digite o numero de ramos desejados”);
Scanf(“%i”, &ramos);
For (int i=0; i<=0;i++)
{
 For (int j=0; j<=0; j++)
 {
 putchar (‘*’);
 putchar (‘\n’);
}
}
9.[Exercício de Exame]
Altere o programa anterior de forma que, em vez de asteriscos, sejam escritas letras em cada nível, começando o nível inicial com a letra ‘A’.
Exemplos com 3, 4 e 5 ramos.
A          B          B
BB        BB        BB
CCC      CCC      CCC
            DDDD    DDDD
                        EEEEE
Int ramos;
Printf (“Digite o numero de ramos desejados”);
Scanf(“%i”, &ramos);
For (int i=0; i<=0;i++)
{
 For (int j=0; j<=0; j++)
 {
 putchar (‘A’+i-1);
 putchar (‘\n’);
}
}
10.Escreva um programa que solicite um número ao usuário até que o valor deste esteja entre os valores 1 e 100.
int num =0;
Do
{
printf (“Digite um valor de 1 a 100”);
scanf (“%i”, &num);
 if (num>100||num<1)
 printf ("\nNumero invalido, digite novamente!\n\n");
 (num>100||num<1);
 }
while(num>100||num<1);
printf("\n O numero digitado e %d \n\n",num);
return(0);
}
11.[Exercício de Exame]
Escreva um programa em C que escreva na tela toda a tabela ASCII (0..255 chars), escrevendo em cada linha o código ASCII e o caractere correspondente.
Exemplo:
...
65 --> A
66 --> B
67 --> C
...
A fim de que o usuário possa ver todos os caracteres escritos, a tela deve ser parada de 20 em 20 linhas, até que o usuário pressione a tecla 'c' ou 'C' seguida de <ENTER> para continuar a mostrar os próximos 20 caracteres (20 linhas).
	 1:
	#include <stdio.h>
	 2:
	
	 3:
	main()
	 4:
	{
	 5:
	int i,conta;
	 6:
	char ch;
	 7:
	for (i=0,conta=1 ; i<=255 ; i++)
	 8:
	{ printf("%3d --> %c\n",i, (char) i);
	 9:
	if (conta == 20)
	10:
	{
	11:
	do
	12:
	{ printf("Pressione c ou C para continuar ...");
	13:
	scanf(" %c", &ch);
	14:
	}
	15:
	while (ch != 'c' && ch != 'C');
	16:
	conta=1;
	17:
	}
	18:
	else
	19:
	conta++;
	20:
	}
	21:
	}
12.[Exercício de Exame]
Escreva um programa completo em C que solicite ao usuário dois números inteiros entre 0 e 255 e escreva na tela todos os caracteres da tabela ASCII cujos códigos variem entre os dois números introduzidos, escrevendo em cada linha o código ASCII e o caractere correspondente.
Exemplos:
	Introd. dois Nos: 65 120
65 --> A
66 --> B
67 --> C
...
	Introd. dois Nos: 120 65
65 --> A
66 --> B
67 --> C
...
R: 
	 1:
	#include <stdio.h>
	 2:
	
	 3:
	main()
	 4:
	{
	 5:
	int i,nmin,nmax,tmp;
	 6:
	
	 7:
	do
	 8:
	{
	 9:
	printf("Introd. um Nº entre 0 e 255: ");
	10:
	scanf("%d",&nmin);
	11:
	}
	12:
	while (nmin < 0 || nmin > 255);
	13:
	
	14:
	do
	15:
	{
	16:
	printf("Introd. outro Nº entre 0 e 255: ");
	17:
	scanf("%d",&nmax);
	18:
	}
	19:
	while (nmax < 0 || nmax > 255);
	20:
	
	21:
	/* Verificar se é necessário trocar os valores das variáveis */
	22:
	
	23:
	if (nmin > nmax)
	24:
	{
	25:
	tmp = nmin;
	26:
	nmin = nmax;
	27:
	nmax = tmp;
	28:
	}
	29:
	
	30:
	for (i=nmin ; i<=nmax ; i++)
	31:
	printf("%3d --> %c\n",i, (char) i);
	32:
	
	33:
	}
13.[Exercício de Exame]
Qual a diferença (se existir) entre as duas seguintes instruções:x= ++iex= i++? Dê exemplos.
R: No primeiro caso ele atribui e depois implementa, já no segundo ele implementa e depois atribui.
14.Se uma variável x se encontrar isolada, ++x e x++ são equivalentes?
R: Não são equivalentes pois um é uma atribuição e a outra é um incremento (Gabarito diz que sim). 
15.Pode-se utilizar os operadores ++ e -- em constantes?
R: Não pode por ser uma constante.
16.Qual a diferença entre a=-2 e a-=2?
R: No primeiro temos uma atribuição (a=-2) e no segundo temos a subtração de -2.
17.Qual o resultado do seguinte programa:
n=0;
do
{ printf(" ...");
n=n+1;
}
while (n!=0);
R: Ele será incrementado sempre que o n for diferente de zero.
18.[Exercício de Exame]
Qual a diferença entre os dois trechos de código:
	i = 0;
while (i++)
printf("%d\n",i);
	i = 0;
while (++i)
printf("%d\n",i);
R: No primeiro caso ele irá falhar pois 0 é falso, já no segundo ele vai entrar em um loop sempre incrementando o código.
19.O que faz o seguinte código:
for (i=1; i<=200 ; i++) ;
printf("%d\n",i);
R:É um contador, que vai de 1 a 200 
20.Quantas vezes são executadas as instruções dos seguintes laços:
20.1for (i=1 ; i<=20 ; i++) ... 20 vezes se i começar com valor 1.
20.2for (i=1 ; i<=20 ; i+=2) ... 10 vezes.
20.3for(i= -20 ; i<=20 ; i++) ... 41 vezes se i começar com valor -20.
20.4for (i=1 ; i<=10 ; i++) 50 vezes se i começar com valor 1.
20.5for (j=1; j<=5; j++) ... 5 vezes se j começar com valor 1.
21.[Exercício de Exame]
Preencha os espaços em branco com o valor das respectivas colunas, depois de executada a instrução à sua esquerda.
Nota: Devem ser utilizados os valores alterados das variáveis em cada uma das linhas.

Continue navegando