Buscar

Linguagem de Programação aula 2 (2)

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 45 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 45 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 9, do total de 45 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

Prévia do material em texto

Disciplina Linguagem de Programação 
Designer Educacional Giselle Pupo 
Professor Cassiana Fagundes da Silva 
 
 
Conversa Inicial 
 
Olá aluno! 
Preparado para iniciar o estudo dos temas da segunda aula da disciplina de Linguagem de 
Programação? 
Acesse o material online e confira o trecho da videoaula, nela a professora Cassiana falará um 
pouco sobre os assuntos que iremos abordar no encontro de hoje! 
 
 
 
 
Contextualizando 
Na linguagem de programação C, além das funções de entrada e saída, existem estruturas de 
controle, que permitem dominar a sequência das ações lógicas de um programa. Basicamente, existem 
dois tipos de estruturas de controle: estruturas de decisão e as estruturas de repetição. A 
primeira permite executar um entre dois ou mais blocos de instruções. Já a estrutura de repetição 
permite que um bloco de instruções seja executado repetidamente uma quantidade controlada de 
vezes. 
Muitas vezes para que estas estruturas possam ser utilizadas na execução de determinadas 
operações faz-se necessário a utilização de operadores. Os operadores podem ser de atribuição, 
aritméticos, de atribuição aritmética, incrementais, relacionais, lógicos e condicionais. 
 
 
 
Objetivos da Aula 
 
Gerar no aluno o conhecimento necessário para que possa entender e classificar os seguintes 
temas: 
 Funções de Entrada e Saída 
 Comandos de Controle de Fluxo 
 Comandos de Repetição 
 
 
 
 
 
Funções de Entrada e Saída 
 
Os principais comandos de entrada e saída são denominados printf() e scanf(). Nessa rota de 
aprendizagem, vamos entender quais são as suas funções e esse conhecimento será utilizado nas 
próximas aulas! 
 
 
 
 
 
Função printf() 
 
A função printf() é uma das funções de entrada e saída (E/S) que podem ser utilizadas em 
linguagem de programação C, apesar de não fazer parte da definição da linguagem C, sendo incluída 
na biblioteca stdio h, conforme vimos na aula anterior. 
Essa função tem como objetivo apresentar na tela uma expressão definida pelo usuário e, para 
isto, é necessário que siga a seguinte sintaxe: 
printf (“expr. de controle”, argumento1, argumento 2, ....) 
 
 
 
 
 
 
A chamada expressão de controle já é definida, que pode apresentar alguns códigos. Quando 
a função printf() encontra um desses códigos, ela o substitui pelo argumento fornecido, ou seja, estes 
argumentos podem ser nenhum, ou quantos forem necessários. 
 
 
 
Confira na próxima página uma tabela que apresenta os chamados Strings ou Expressões de Controle! 
 
 
 
 
 
 
 
 
Além das expressões de controle, também é possível utilizar na sintaxe da função printf() códigos 
especiais que permitem uma melhor visualização na tela do usuário. Confira a seguir uma tabela com 
exemplos de códigos especiais: 
 
 
 
 
A seguir, confira alguns exemplos de linhas de comando da função printf(): 
printf( “Linguagem de Programação C.”); 
Saída na tela do usuário: Linguagem de Programação C. 
printf( “Esta aula tem %d temas.\n”, 3); 
Saída na tela do usuário: Esta aula tem 3 temas. 
printf( “Nome: %s\nSexo: %c\nIdade: %d\n”, “João”, ‘M’, 25); 
Saída na tela do usuário: 
Nome: João 
Sexo: M 
Idade: 25 
 
 
 
Na sequência, confira exemplos utilizando toda a estrutura básica de um programa desenvolvido 
em linguagem C: 
 
 
#include <stdio.h> 
main() 
{ 
char letra; 
letra = ‘A’; 
printf (“%c”, letra); 
} 
 
 
 
 
Função scanf() 
 
Outra função de entrada e saída que pode ser utilizada na linguagem de programação C é a 
função scanf(). Esta função “lê” do teclado os dados e insere os valores digitados pelos usuários nas 
variáveis utilizadas como parâmetros da função, conforme o exemplo abaixo: 
 
 scanf(“expressão de controle”, &argumento1, &argumento2, ...); 
 
A expressão de controle utiliza os mesmos códigos da função printf() mostrados na primeira 
tabela apresentada na nossa aula. 
 
 
 
O operador de endereço (&), que precede os argumentos da função, retorna o primeiro byte 
ocupado pela variável na memória do computador. Confira dois exemplos de programas utilizando as 
funções de entrada e saída: 
 
 
 
#include <stdio.h> 
main() 
{ 
 int idade; 
 scanf (“%d”, &idade); 
 printf (“ A idade lida eh %d”, idade); 
} 
 
 
 
 
 
 
 
 
 
#include <stdio.h> 
main() { 
 int num1, num2, sub; 
 printf (“Digite o primeiro número:\n ”); 
 scanf (“%f”, &num1); 
 printf (“Digite o segundo número:\n ”); 
 scanf (“%f”, &num2); 
 sub = num1 – num2; 
 printf(“O resultado da subtração é %d”, sub); 
} 
 
 
 
Não deixe de acompanhar a videoaula, no material online, preparada pela professora Cassiana, 
preste bastante atenção e aproveite para reiterar todo o conhecimento estudado até agora. 
 
 
 
 
 
 
 
 
 
 
Comandos de Controle de Fluxo 
 
São os comandos de controle de fluxo em linguagem de programação que permitem ao programador 
alterar a sequência de execução do programa. Dentre estes comandos, podemos citar o condicional 
simples, condicional composto e o case. 
Pronto para estudar conhecer cada um deles a seguir? Vamos lá! 
 
 
 
Condicional Simples – IF 
 
Este comando condicional somente é executado se a sua condição for verdadeira, conforme descreve sua 
sintaxe: 
if (condição) 
printf(comando); 
 
 
Clique no botão a seguir, nele é exposto um exemplo de programa utilizando o condicional simples – IF, 
com o objetivo de verificar se a soma de dois números é menor que o terceiro número lido. 
 
 
 
 
#include<stdio.h> 
int n1, n2, n3; 
main() 
 { 
 printf(“\n Digite três números:”); 
 scanf(“%d%d%d”, &n1, &n2, &n3); 
 if ((n1 + n2 < n3)) 
 printf (“A soma dos números é menor que n3”); 
} 
 
 
 
 
 
Condicional Composto – IF – ELSE 
 
Neste controle de fluxo, se a condição for verdadeira, será executado o comando 1; caso 
contrário, se a condição for falsa, será executado o comando 2, conforme sintaxe: 
if condição 
printf(comando) 
else 
printf(comando); 
 
 
 
 
 
 
 
 
O exemplo a seguir, mostra uma comparação de um caso em que a soma de dois números lidos 
seja menor que a terceiro, caso contrário será maior. 
 
 
#include<stdio.h> 
int n1, n2, n3; 
main() { 
 printf(“\n Digite três números:”); 
 scanf(“%d%d%d”, &n1, &n2, &n3); 
 if ((n1 + n2 < n3)) 
 printf (“A soma dos números é menor que n3”) 
 else 
 printf(“A soma dos números é maior que n3”); 
} 
 
 
 
 
É importante lembrar que, sempre, a instrução que antecede o comando ELSE não pode terminar 
com ponto e vírgula (;), caso isso ocorra, haverá um erro de compilação. 
Case – SWITCH 
Esta instrução adapta-se particularmente 
à tomada de decisões em que o número de 
possibilidades elevado (em geral maior que 2, 
se não se usa o if-else), de forma a reduzir a 
complexidade de if-else consecutivos e 
aninhados. 
Em alguns programas existem comandos 
que são mutuamente exclusivos, ou seja, se 
um comando for executado, os demais não 
serão. 
Observe: 
switch (variável/expressão) 
 { 
 case valor1: lista de comandos; 
 break; 
 case valor1: lista de comandos; 
 break; 
 ........ 
 
 
 default: lista de comandos; 
 } 
 
 
Operadores 
Quando se desenvolve utilizando condições, muitas vezes faz-se necessário o uso de operadores 
lógicos, aritméticos e relacionais para que possíveis combinações sejam realizadas. Confira os 
operadores aritméticos: 
 + (adição) *(multiplicação) 
 / (divisão) 
 
 
 
No caso da divisão entre os números inteiros, o resultado é truncado, ou seja, exato. Para que se 
possa trabalhar com o resto da divisão, é necessário que seja utilizado operador %, conforme o 
exemplo abaixo: 
Expressão Tem o valor 
22 / 3 7 
22 % 3 1 
Além dos três operadores citados acima, pode-se trabalhar na linguagem de programação C com os 
operadores de incremento e decremento (operadores unários). Operadores unários ++ e – são utilizados 
para fazerem diretamente estas operações sem a necessidade do comando de atribuição. 
i = i + 1; i++; 
i = i - 1; i--; 
Na linguagem C os operadores relacionais são: == (igual a), != (diferente de), > (maior que), < 
(menor que), >= (maior ou igual a ) e <= (menor ou igual a ). O resultado de dois valores conectados 
por um operador relacional será 0 para falso ou 1 para verdadeiro, confira o exemplo: 
 
Expressão Tem o valor 
5 < 3 0 
3 > 5 1 
5 == 5 1 
5 != 1 1 
3 == 5 0 
 
 
 
 
 
Os operadores lógicos binários são && (e) 
e || (ou). O resultado de suas operações 
também será 0 (falso) ou 1 (verdadeiro). 
Expressão Tem o valor 
5 || 3 1 
5 || 0 1 
5 && 3 1 
(i >5) && (i<=7) 1 se i for maior que 
5 e menor ou igual a 7. 0 
em qualquer outro caso. 
 
 
O operador de negação (!) inverte o 
sentido do valor que o segue, ou seja, qualquer 
valor não zero será convertido para 0 e o valor 
0 será convertido para 1. 
 
Expressão Tem o valor 
!5 0 
!0 1 
 
 
 
 
Acompanhe, no material online, a videoaula preparada pela professora Cassiana, com as 
explicações sobre os assuntos abordados neste tema! 
 
 
 
 
 
 
 
 
 
Comandos de Repetição 
 
Os comandos de repetição na linguagem C são definidos em três tipos, saber: while, do while e 
for. 
 
Acompanhe a videoaula preparada pela professora Cassiana, no material online, e preste atenção nas 
explicações! 
 
 
 
While 
A instrução while (também conhecida como laço while) executa uma instrução ou bloco de 
instruções enquanto uma determinada condição for verdadeira. Esta instrução sempre testa a condição 
no início do código. Confira: 
 
while (condição) 
 comando; 
 
 
Exemplo: 
#inlcude<stdio.h> 
main() 
 
 
{ 
 int numero; 
 printf(“Digite um número (diferente de zero): “); 
 scanf(“%d”, &numero); 
 while (numero == 0) 
 { 
 printf(“Inválido. Digite novamente: “); 
 scanf (“%d”, &numero); 
 } 
 printf(“Número válido!!!”); 
} 
 
Do – While 
Esta instrução testa a condição no final do comando, isto é, os comados internos ao laço são 
executados pelo menos uma única vez. 
do { 
 comando; 
} while (condição) 
Exemplo: 
 
#include <stdio.h> 
 
 
void main() 
{ 
 int num; 
 do 
 { 
 printf(“Digite um número: ”); 
 scanf(“%d”, &num); 
 } while (num == 0); 
 printf (“Ok. Número válido”);} 
 
 
For 
 
A instrução for (ou laço for, como é verdadeiramente conhecida), adapta-se particularmente a 
situação em que o número de iterações é conhecido a priori. 
A sintaxe do laço for é definida como: 
for (inicialização; condição; incremento) declaração; 
Exemplo: 
 
#include<stdio.h> 
 
 
int main() 
{ 
 int count; 
 for (count=1; count<=100; count ++) 
 printf (“%d”, count); 
} 
 
 
 
 
O funcionamento da instrução for pode ser resumido nos seguintes tópicos: 
 O código presente em inicialização é executado. Normalmente são iniciadas as variáveis 
presentes no laço. Esse componente do laço é executado apenas uma única vez; 
 A condição é avaliada; 
 Se o resultado da condição retornar o valor Falso (zero), então o laço for termina e o 
programa continua na instrução imediatamente seguinte; 
 Se o resultado da condição retornar o valor Verdadeiro, então o laço for executa a instrução 
(ou bloco de instruções) do laço; 
 Depois de executada a instrução presente no laço, é executado o incremento. Nesse 
componente do laço for são normalmente realizadas as alterações necessárias para passar à 
próxima iteração do laço (incremento ou decremento de variáveis etc). 
 
 
Na Prática 
 
Pronto para colocar em prática todo o conhecimento visto na aula de hoje? 
Resolva os exercícios a seguir! 
 
 
 
 
 
QUESTÃO 1 - Dada a sequência de código a seguir, assinale a alternativa verdadeira: 
if (média > 5) && (média <7) 
printf (“Exame final”); 
 
a. A instrução prinft somente será executada se a resposta da primeira e da segunda condição for 
verdadeira. 
b. A instrução printf será executada se a média for maior que 5 e menor que 7. 
c. A instrução printf será executada se a média for maior igual a 5 e menor que 7. 
d. A instrução printf será executada se a média for menor que 5 e menor que 7. 
e. A instrução printf será executada se a média for maior que 5 e menor igual a 7. 
 
 
 
 
 
Gabarito: 
A afirmativa “a” está correta! 
 
 
 
 
 
 
 
QUESTÃO 2 - Considere o trecho de código na Linguagem C: 
int main() 
{ 
int i; 
float f; 
int v[10] 
i 3; 
v[f] = 45; 
while 
{ 
} 
} 
 
 
 
Quantos erros semânticos o código possui? 
 
a. 4 
b. 2 
c. 3 
d. 1 
e. 5 
Gabarito: 
A afirmativa “d” está correta! 
 
QUESTÃO 3 - Dado o trecho de código em linguagem C: 
n = 5; 
x = ++n; 
printf (“O valor de n eh: ", n);; 
printf (“O valor de x eh: ", x); 
 
A saída correta para os valores de n e x respectivamente são: 
 
a. n = 6 ; x = 6 
b. n = 5 ; x = 6 
c. n = 6 ; x = 5 
d. n = 6 ; x = 7 
e. n = 7 ; x = 6 
 
 
 
Gabarito: 
A afirmativa “a” está correta! 
 
 
 
 
 
 
 
 
 
Síntese 
 Depois de todo o conteúdo visto no estudo dos temas apresentados na aula de hoje, podemos 
resumir nosso encontro nos tópicos a seguir: 
 
 As funções de entrada e saída que são utilizadas na linguagem de programação C são printf() e 
scanf(). 
 Ambas funções podem utilizar expressões de controle que são úteis para substituírem o argumento 
da variável. 
 Na linguagem C pode-se utilizar comandos condicionais, possibilitando ao usuário criar condições e 
combinações destas condições na resolução de seus problemas. As condições são if, if-else e 
switch. 
 
 
 Para que essas condições possam ser combinadas entre si operadores aritméticos, lógicos e 
relacionais são utilizados. 
 Além dos condicionais a linguagem possibilita que comandos possam ser repetidos uma única vez 
ou mais vezes de acordo com a necessidade do código. Para isso são utilizados os comandos while, 
do while e for. 
 
 
 
 
Agora, acompanhe a síntese da aula de hoje preparada pela professora Cassiana no material online! 
 
 
Referências Bibliográficas 
 
DAMAS, Luis. Linguagem em C. 10ª ed. Trad. João Araujo Ribeiro, Orlando Bernardo Filho. Rio de 
Janeiro: LTC, 2013. 
LISBOA, Erico Fagundes Anicet Lisboa. Linguagem C. Rio de Janeiro, 2011. (Apostila). Disponível em: 
http://www.dainf.ct.utfpr.edu.br/~pbueno/Arquivos/ApostilaEricoLisboa.pdf

Outros materiais