O objetivo deste questionário é levá-lo a rever os fundamentos da linguagem C. Nomeadamente, a utilização de instruções de seleção e de repetição.

Documentos relacionados
Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Entrada. Comando 1 Comando 2. Saída

Introdução à Programação. Estruturas de Repetição

3. Linguagem de Programação C

CICLOS DE REPETIÇÃO. Luís Charneca.

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Linguagem C (repetição)

Estruturas de Controle em Linguagem C

Controlo de Execução. K&R: Capitulo 3

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Programação Estruturada Aula - Estruturas de Repetição

Linguagens de programação. Introdução ao C (continuação)

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Linguagem C (estruturas condicionais)

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

Treinamento Olimpíada Brasileira de Informática

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Módulo 3 Controle de Fluxo

LINGUAGEM C CONTROLE DE FLUXO

Linguagem C estruturas de repetição

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Estruturas de Controle de Fluxo

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;

Introdução à Ciência da Computação

Aula 01. Programação Condicional Programação repetitiva

Algoritmos e Técnicas de

LP II Estrutura de Dados

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Estrutura do programa

Introdução à Programação em C (II)

Estruturas de Decisão

ECT1203 Linguagem de Programação

Linguagem de Programação C. Comandos de Seleção e Desvio

Introdução à Linguagem C

C Comandos de Controle

Estruturas de Repetição

1) Operadores de auto incremento ++ e auto decremento --

Linguagem C. André Tavares da Silva.

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Linguagem de Programação C

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

Estruturas de Decisão e loops

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

Legibilidade do código fonte

Ambiente de desenvolvimento

Lógica de Programação I

Introdução à Programação I

Estruturas de Controle

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

RESUMO DE CONCEITOS BÁSICOS DE C

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2014/2015

INF 1005 Programação I

Aula 2 Comandos de Decisão

Linguagem C. Prof.ª Márcia Jani Cícero

ESTRUTURAS DE CONTROLE

Controlo do fluxo de execução

Introdução à Programação em C Input / Output

13 Operadores relacionais

Algoritmos e Programação

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Introdução à Programação. Strings

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

UNIVERSIDADE DA BEIRA INTERIOR

Programação de Computadores II

CCO 016 / COM 110 Fundamentos de Programação

Linguagem de Programação I. Aula 07 Linguagem C: Estruturas de Controle

C Comandos de Controle

José Romildo Malaquias

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Programação Estruturada

Cap. 3 Entrada e Saída e Controle de Fluxo

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Revisão. Profa Marina Gomes

Introdução à Programação

Algoritmos e Programação

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas

Introdução à Programação. Ciclos 1ª parte

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

Estruturas de Decisão. Adaptado de Deise Saccol

Linguagem de Programação C

Transcrição:

Seleção e Ciclos Objetivo O objetivo deste questionário é levá-lo a rever os fundamentos da linguagem C. Nomeadamente, a utilização de instruções de seleção e de repetição. Entrega do Questionário As respostas devem ser enviadas para Programacao.em.C.ee@gmail.com com o assunto PCQUEST1, anexando um ficheiro de texto com o nome q1- nnnnnnn.txt (em que nnnnnnn é o seu número de aluno) com a respectiva identificação seguida de uma resposta por linha no formato: NºQuestão NºResposta (ver exemplo ao lado). Pode criar o ficheiro txt, p.e., com o programa notepad (Bloco de Notas). Exercício 1 Considere a execução do seguinte fragmento de código: int A, B, C, D; // Omitido código que atribui valores a A, B, C, e D if (A && B) if (!C!D) printf("um\n"); else if (D) printf("dois\n"); else printf("tres\n"); else if (C!= D) printf("quatro\n"); else if (C) printf("cinco\n"); else printf("seis\n"); 1.1) Qual dos seguintes conjuntos de valores originará a escrita de um? A B C D 1) 1 1 1 1 2) 1 1 1 0 3) 1 1 0 1 4) 1 1 0 0 2) 1 3 2 apenas 3) 1, 2 e 3 apenas 4) 2 e 3 apenas 5) 2, 3 e 4 apenas 1.2) Qual dos seguintes conjuntos de valores originará a escrita de quatro? A B C D 1) 1 0 1 1 2) 0 1 0 1 3) 0 1 1 0 4) 0 0 0 0 2) 1 e 2 apenas 3) 1, 2 e 3 apenas 4) 2 e 3 apenas 5) 1, 3 e 4 apenas 1.3) Qualquer que sejam os valores de A, B, C e D, o fragmento de código escreverá sempre algo. 1) Verdadeiro 2) Falso 3) Nenhum dos dois Autor: xxxxxxx Questionário 2 1.1-1 1.2-2 1.3-1 1.4-2 2.1-1... etc. 1º Semestre 2013/2014 Carlos Limão 1/6

1.4) Qual dos seguintes conjuntos de valores originará a escrita de três? A B C D 1) 1 1 1 1 2) 1 1 1 0 3) 1 1 0 1 4) 1 1 0 0 2) 1 e 2 apenas 3) 1, 2 e 3 apenas 4) 2 e 3 apenas 5) 1, 3 e 4 apenas Exercício 2 Considere a execução do seguinte fragmento de código (assuma que x é uma variável do tipo int): if (x <= 0) { printf("um\n"); else if (x <= 10) { printf("dois\n"); else if (x <= 20) { printf("tres\n"); A string Dois será impressa se e apenas se x satisfizer a condição: 1) x <= 10 2) 0 < x e x < 10 3) 0 < x e x <= 10 4) 0 <= x e x < 10 5) 0 <= x Exercício 3 Para as perguntas seguintes considere a execução da instrução switch seguinte: int valor = 10; scanf( %d, &valor); switch (valor) { case 1: valor = -4; case 2: valor = -6; case 4: break; case 6: valor = -8; break; default: Valor = -1; 3.1) Qual seria o valor de valor depois da execução deste código se o valor lido for 4? 1) -4 2) -6 3) -8 4) -1 5) 10 3.2) Qual seria o valor de valor depois da execução deste código se o valor lido for 1? 1) -4 2) -6 3) -8 4) -1 5) 10 1º Semestre 2013/2014 Carlos Limão 2/6

Exercício 4 Qual o valor impresso para contador se o seguinte código for executado? int contador = 1, alfa = 5; while (contador <= 145) { alfa = alfa + 7; printf("contador = %d\n", contador); 1) 1 2) 144 3) 145 4) 146 5) Nenhum dos anteriores Exercício 5 Que valor é escrito no ecrã para uminteiro se o seguinte código for executado? int uminteiro = 273; while (uminteiro > 500) uminteiro = uminteiro - 3; printf("uminteiro = %d\n", uminteiro); 1) 270 2) 273 3) 497 Exercício 6 Qual a condição lógica em que o seguinte ciclo terminará? int beta = 5; while (beta >= 0 && beta < 10) { printf( %d\n, beta); scanf( %d, &beta); 1) beta < 0 && beta >= 10 2) beta <= 0 && beta > 10 3) beta < 0 beta > 10 Exercício 7 Qual é o output do seguinte fragmento? int n = 1; while (n <= 5) { n++; 1) 1 2 3 4 5 2) 1 2 3 4 3) 1 1 1 para sempre Exercício 8 Qual é o output do seguinte fragmento? int n = 1; while (n <= 5) { n++; 4) 500 5) Ciclo Infinito 4) beta <= 0 beta >= 10 5) beta < 0 beta >= 10 4) 2 3 4 5 5) 2 3 4 5 6 1) 1 2 3 4 5 2) 1 2 3 4 3) 1 1 1 para sempre 4) 2 3 4 5 5) 2 3 4 5 6 1º Semestre 2013/2014 Carlos Limão 3/6

Exercício 9 Qual é o resultado produzido no ecrã pelo seguinte fragmento? (Cuidado!) int n = 1; while (n <= 5) n++; 1) 1 2 3 4 5 2) 1 2 3 4 3) 1 1 1 para sempre 4) 2 3 4 5 5) 2 3 4 5 6 Exercício 10 Diga o que falta no ciclo utilizado no seguinte programa. #include <stdio.h> int main() { int contador = 4; int output = 7; while (contador <= 8) { printf( %d\n, output); output++; return 0; 1) A inicialização da variável de controlo do ciclo 2) O teste da variável de controlo do ciclo 3) A atualização da variável de controlo do ciclo 4) Nada Exercício 11 Para produzir o resultado 2 4 6 8 10, que condição deverá ser utilizada no seguinte ciclo? int n = 0; do { n = n + 2; while ( ); 1) n <= 10 2) n < 10 3) n < 8 4) n >= 2 5) n > 8 6) Nenhuma Exercício 12 Depois da execução do seguinte código, qual o valor impresso para comprimento? int comprimento = 5, contador = 4; while (contador <= 6) { if (comprimento >= 100) { comprimento = comprimento 2; else { comprimento = contador * comprimento; printf("comprimento = %d\n", comprimento); 1) 20 2) 98 3) 100 4) 600 5) Nenhum dos anteriores 1º Semestre 2013/2014 Carlos Limão 4/6

Exercício 13 No fragmento de código seguinte repare que existe um ponto e virgula na linha onde está a condição do while. Qual o valor impresso? int contador = 1; printf( %c, 'A'); while (contador <= 3); { printf( %c, 'B'); printf( %c, 'C'); 1) Escreve AC 2) Escreve ABC 3) Escreve ABBBC Exercício 14 int soma = 0, contexterior = 1, continterior; while (contexterior <= 3) { continterior = 1; while (continterior <= contexterior) { soma = soma + continterior; continterior++; contexterior++; printf( %d\n, soma); 1) 1 2) 4 3) 10 Exercício 15 4) Há um erro de compilação 5) Fica num ciclo infinito 4) 20 5) 35 Qual dos ciclos for é equivalente ao ciclo while seguinte? Equivalente aqui, significa que as variáveis possuem os mesmos valores quando termina a execução do ciclo. int contador = -5, soma = 0; while (contador <= 15) { 1) int contador, soma = 0; for (contador = -5; contador <= 15; contador++) { 2) int contador, soma = 0; for (contador = -5; contador <= 15; contador++) { 3) int contador, soma; for (contador = -5, soma = 0; contador <= 15; contador++) { 4) int contador, soma = 0; for (contador = 1; contador <= 21; contador++) { 1º Semestre 2013/2014 Carlos Limão 5/6

2) 1 e 2 apenas 3) 1 e 3 apenas 4) 1 e 4 apenas 5) Nenhum dos anteriores Exercício 16 int contador; for (contador = 1; contador <= 6; contador = contador + 2) { printf( %d, contador); printf("feito\n"); 1) Feito 2) 1 Feito 3) 1 3 Feito 4) 1 3 5 Feito 5) 1 3 5 7 Feito Exercício 17 int contador; for (contador = 1; contador > 3; contador++) { printf( %d, contador); printf("feito\n"); 1) Feito 2) 1 Feito 3) 1 2 Feito 4) 1 2 3 Feito 5) 1 2 3 4 Feito Exercício 18 No seguinte fragmento o programador colocou, por engano, um ponto e virgula no fim da linha onde tem inicio o for. Qual é o resultado? int contador; printf( %c, 'A'); for (contador = 1; contador <= 3; contador++); printf( %c, 'B'); printf( %c, 'C'); 1) Um erro de compilação 2) Um ciclo infinito 3) Escreve ABC 4) Escreve ABBC 5) Escreve ABBBC Exercício 19 int contador, n = 2; for (contador = 1; contador <= 3; contador++) { while ( n <= 4 ) { n = 2 * n; printf( %d\n, n); 1) 4 2) 8 3) 16 4) 32 5) 64 1º Semestre 2013/2014 Carlos Limão 6/6