Estrutura de Dados - Unidade 3 - Introdução À Linguagem C

Fazer download em pptx, pdf ou txt
Fazer download em pptx, pdf ou txt
Você está na página 1de 65

ALGORITMOS E

ESTRUTURAS DE
DADOS
Estrutura de dados – Paulo Fonseca

Introdução à
Linguagem C

Unidade - 3 1
Introdução a linguagem de
programação C
Objetivos

• Conhecer e identificar a estrutura básica de


um programa em C.
• Implementar
Estrutura de dados – Paulo Fonseca

programas básicos na
linguagem C.
• Implementar programas em C utilizando as
estruturas de decisão e as estruturas em
laços.

Unidade - 3 2
Introdução a linguagem de
programação C
Apresentação
Habitualmente antes de resolvermos exemplos ou exercícios,
elaboraremos o algoritmo, que nada mais é que uma
sequência de operações cuja execução produz um resultado
que é a resposta de um problema proposto.
Estrutura de dados – Paulo Fonseca

Um programa de computador nada mais é que a codificação


de um algoritmo numa linguagem de programação.
Linguagens como C, Pascal, Clipper, COBOL, etc., são
chamadas procedurais, devido ao fato das instruções serem
executadas de forma sequencial, enquanto que as linguagens
baseadas no conceito de eventos como C++, C##, Java,
utilizam outra estratégia de programação (Programação
Orientada ao Objeto).
Em C utilizaremos a metodologia estruturada.
Unidade - 3 3
Introdução a linguagem de
programação C
Introdução
A linguagem C foi desenvolvida inicialmente por Dennis M.
Ritchie e Ken Tompson no laboratório Bell no ano de 1972.

Baseada na linguagem B criada por Tompson, esta


Estrutura de dados – Paulo Fonseca

linguagem evoluiu da linguagem BCPL, dando origem as


duas linguagens anteriores.

C foi inicialmente projetada para ser utilizada no sistema


operacional Unix.

Podemos definir a linguagem C como sendo uma linguagem


de programação robusta e multiplataforma, projetada para
aplicações modulares de rápido acesso.
Unidade - 3 4
Introdução a linguagem de
programação C
Características da linguagem C

• Portabilidade entre máquinas e sistemas


operacionais.
• Dados compostos em forma estruturada.
Estrutura de dados – Paulo Fonseca

• Programas Estruturados.
• Total interação com o Sistema Operacional.
• Código compacto e rápido, quando comparado ao
código de outras linguagens de complexidade
análoga.

Unidade - 3 5
Introdução a linguagem de
programação C
Estrutura básica de um programa em C

Um programa em C consiste em uma ou várias


“funções”.
Estrutura de dados – Paulo Fonseca

Vamos começar pelo menor programa possível em


C:
main ( ) {
}
Unidade - 3 6
Introdução a linguagem de
programação C
Estrutura básica de um programa em C
Todo programa em C tem necessariamente a função
main.
Este programa compõe-se de uma única função
chamada main.
Estrutura de dados – Paulo Fonseca

Vamos adicionar uma instrução ao nosso programa.

main ( ){
printf(“olá”); /* mostra na tela a mensagem Olá*/
}

Unidade - 3 7
Introdução a linguagem de
programação C
Fundamentos em C

Desta forma a orientação que adotaremos neste


início do curso se deterá mais na compreensão geral
do programa, do que a análise detalhada de cada
Estrutura de dados – Paulo Fonseca

comando ou função utilizada.


De fato, apresentaremos alguns comandos
fundamentais para a escrita de programas básicos e
apenas nos utilizaremos sua sintaxe mais elementar
para construirmos os primeiros programas do curso.

Unidade - 3 8
Introdução a linguagem de
programação C

Exemplo 1: Programa mostra a idade.


/* Exemplo Idade */
#include <stdio.h>
Estrutura de dados – Paulo Fonseca

int main(int argc, char *argv[]) {


int idade;
idade = 40;
printf("Sua idade e' %d anos. \n", idade);
}

Unidade - 3 9
Introdução a linguagem de
programação C
Diretiva #include

Toda a diretiva, em C, começa com o símbolo # no início da


linha. A diretiva #include inclui o conteúdo de outro arquivo
dentro do programa atual, ou seja, a linha que contêm a
Estrutura de dados – Paulo Fonseca

diretiva é substituída pelo conteúdo do arquivo especificado.

Sintaxe:
#include <nome do arquivo>
ou
#include “nome do arquivo”

Unidade - 3 10
Introdução a linguagem de
programação C
Diretiva #include
O primeiro caso (#include <nome do arquivo>) é o mais
utilizado. Ele serve para incluir alguns arquivos que
contêm declaração das funções da biblioteca padrão,
entre outras coisas.
Estrutura de dados – Paulo Fonseca

Estes arquivos, normalmente, possuem a extensão .h e


se encontram em algum diretório pré-definido pelo
compilador (/usr/include no Linux; c:\dev- -c++\include
no Windows com o Dev-C++).
Sempre que o programa utilizar alguma função da
biblioteca-padrão deve ser incluído o arquivo
correspondente.
Unidade - 3 11
Introdução a linguagem de
programação C
Diretiva #include
A tabela a seguir apresenta alguns dos principais .h
da linguagem C:
Arquivo Descrição
Estrutura de dados – Paulo Fonseca

stdio.h Funções de entrada e saída (I/O)

string.h Funções de tratamento de strings

math.h Funções matemáticas

ctype.h Funções de teste e tratamento de caracteres

stdlib.h Funções de uso genérico

Unidade - 3 12
Introdução a linguagem de
programação C
Diretiva #include

A segunda forma, onde o nome do arquivo aparece


entre aspas duplas, serve normalmente para incluir
Estrutura de dados – Paulo Fonseca

algum arquivo que tenha sido criado pelo próprio


programador ou por terceiros e que se encontre no
diretório atual, ou seja, no mesmo diretório do
programa que está sendo compilado.

Unidade - 3 13
Introdução a linguagem de
programação C
Comandos básicos
As instruções de entrada e saída são comandos quase que
obrigatórios em qualquer programa na linguagem C.
Na maioria dos programas em C, o usuário necessita entrar
Estrutura de dados – Paulo Fonseca

com algumas informações e também saber o resultado de


algum processamento.
O objetivo de escrevermos programas é em última análise, a
obtenção de resultados (Saídas) depois da elaboração de
cálculos ou pesquisas (Processamento) através do
fornecimento de um conjunto de dados ou informações
conhecidas (Entradas).
Descreve-se a seguir os comandos básicos da linguagem C.
Unidade - 3 14
Introdução a linguagem de
programação C
Comandos básicos
A função printf ( )

É um dos mais poderosos recursos da linguagem C,


Estrutura de dados – Paulo Fonseca

printf( ) servirá basicamente para a apresentação de


dados no monitor. Sua forma geral será: printf (“string
de controle”, lista de argumentos).
Necessariamente você precisará ter tantos
argumentos quantos forem os comandos de
formatação na “string de controle”. Se isto não ocorrer,
a tela exibirá sujeira ou não exibirá qualquer dado.
Unidade - 3 15
Introdução a linguagem de
programação C
Comandos básicos
Exemplo: Dado um número, calcule seu quadrado.

#include <stdio.h>
#include <conio.h>
Estrutura de dados – Paulo Fonseca

main ( ) {
int numero;
numero = 10;
printf("O %d elevado ao quadrado resulta em %d. \n", numero,
numero*numero);
getch ( );
}
A diretiva #include foi utilizada, pois usamos o comando printf (stdio.h) e o
comando getch (conio.h).
Unidade - 3 16
Introdução a linguagem de
programação C
Comandos básicos
Observemos o Quadro de Operadores Especiais suportados por
printf( ):
Código Significado
Estrutura de dados – Paulo Fonseca

\b Retrocesso (BackSpace)

\f Salto de Página (Form Feed)

\n Nova Linha (Line Feed)

\t Tabulação horizontal (TAB)

\x Representação de byte na base hexadecimal

Exemplo: printf(“\x41”); causa a impressão da letra A na tela.


Unidade - 3 17
Introdução a linguagem de
programação C
Comandos básicos
A função scanf ( )

Uma das mais importantes e poderosas instruções, servirá basicamente


para promover leitura de dados (tipados) via teclado.
Estrutura de dados – Paulo Fonseca

Sua forma geral será: scanf(“string de controle”, lista de argumentos);


Posteriormente ao vermos sua sintaxe completa, abordaremos os recursos
mais poderosos da <string de controle>, no momento bastará saber que:

%c - leitura de caracter;
%d - leitura de números inteiros;
%f - leitura de números reais;
%s - leitura de caracteres.

Unidade - 3 18
Introdução a linguagem de
programação C
Comandos básicos
A função scanf ( )

A lista de argumentos deve conter exatamente o mesmo número de


argumentos quantos forem os códigos de formatação na <string de
Estrutura de dados – Paulo Fonseca

controle>.
Se este não for o caso, diversos problemas poderão ocorrer - incluindo
até mesmo a queda do sistema - quando estivermos utilizando
programas compilados escritos em C.
Cada variável a ser lida, deverá ser precedida pelo caracter &, por
razões que no momento não convém explicarmos, mas que serão
esclarecidas no decorrer do curso.
Para sequência de caracteres (%s), o caracter & não deverá ser usado.

Unidade - 3 19
Introdução a linguagem de
programação C
Comandos básicos
Exemplo: Programa para ler e mostrar uma idade.

/* Exemplo Lê e Mostra Idade */


#include <stdio.h>
#include <conio.h>
Estrutura de dados – Paulo Fonseca

main ( ) {
int idade;
char nome[30];
printf("Digite sua Idade: ");
scanf("%d",&idade);
printf("Seu Nome: ");
scanf("%s", nome); /* Strings não utilizam '&' na leitura */
printf("%s sua idade e' %d anos. \n", nome, idade);
}
Unidade - 3 20
Introdução a linguagem de
programação C
Tipos de Dados
No momento dispomos de conhecimento para elaboração de
programas básicos para construção de pequenos programas,
pois conhecemos instruções de entrada de dados (scanf) e
de saída (printf).
Estrutura de dados – Paulo Fonseca

Veremos a seguir Tipos de Dados da linguagem C, variáveis,


operadores, e demais instruções básicas.
Semelhante a outras linguagens, a linguagem C necessita
que todas as variáveis tenham seus tipos definidos.
C aceita tipos básicos (caractere, inteiro, ponto flutuante,
dupla precisão e sem valor) e modificadores (sinal, sem sinal,
longo e curto) que podem alterar os tipos básicos.

Unidade - 3 21
Introdução a linguagem de
programação C
Tipos de Dados
Observemos o Quadro 1.1 para melhor entendimento
Estrutura de dados – Paulo Fonseca

Unidade - 3 22
Introdução a linguagem de
programação C
Tipos de Dados
Exemplo: Mesmo número com duas representações
diferentes.
Estrutura de dados – Paulo Fonseca

int main ( ) {
float a;
printf("Digite um numero: ");
scanf("%f",&a);
printf("%f %e", a , a);
}

Unidade - 3 23
Introdução a linguagem de
programação C
Modificadores
Com exceção de void, os outros tipos de dados primitivos
podem ter modificadores.
Estrutura de dados – Paulo Fonseca

Os modificadores alteram o tamanho do tipo de dado ou sua


forma de representação.

Sua utilização faz com que seja possível adequar-se melhor


às necessidades de armazenamento de dados em
determinados casos.

Unidade - 3 24
Introdução a linguagem de
programação C
Modificadores
Veja quais são os modificadores na tabela abaixo.
Palavra Chave Tipo

signed caracter
Estrutura de dados – Paulo Fonseca

unsigned Inteiro

long longo

short curto

Unidade - 3 25
Introdução a linguagem de
programação C
Tabela de tipos de dados e modificadores.
Palavra chave Tipo Tam. Intervalo
char Caracter 1 -128 a 127
signed char Caractere com sinal 1 -128 a 127
unsigned char Caractere sem sinal 1 0 a 255
Int Inteiro 2 -32.768 a 32.767
Estrutura de dados – Paulo Fonseca

signed int Inteiro com sinal 2 -32.768 a 32.767


unsigned int Inteiro sem sinal 2 0 a 65.535
short int Inteiro curto 2 -32.768 a 32 767
signed short int Inteiro curto com sinal 2 -32.768 a 32.767
unsigned short int Inteiro curto sem sinal 2 0 a 65.535
Long int Inteiro long 4 -2.147.483.648 a 2.147.483.647
signed long int Inteiro longo com sinal 4 -2.147.483.648 a 2.147.483.647
unsigned long int Inteiro longo sem sinal 4 0 a 4.294.967.295
float Ponto flutuante com precisão simples 4 3.4 E-38 a 3.4E+38
double Ponto flutuante com precisão simples 8 1.7 E-308 a 1.7E+308
long double Ponto flutuante com precisão dupla longo 16 3.4E-4932 a 1.1E+4932

Unidade - 3 26
Introdução a linguagem de
programação C
Variáveis
As variáveis têm uma importância fundamental.
São utilizadas como depósitos temporários de informações a
serem processados pelo programa.
Estrutura de dados – Paulo Fonseca

De maneira semelhante as demais linguagens estruturadas,


em C as variáveis têm seus valores localizados nas rotinas
onde foram declaradas (escopo).
Todas as variáveis devem ser declaradas desta forma:
"tipo nome_de_variaveis;"

Unidade - 3 27
Introdução a linguagem de
programação C
Variáveis
Exemplos:

int i,j,l;
Estrutura de dados – Paulo Fonseca

short int si;


double balanco, consolidacao;
char nome[30];

Unidade - 3 28
Introdução a linguagem de
programação C
Variáveis

Basicamente, as variáveis podem ser declaradas fora das


funções (globais) que valem para todas as funções do
Estrutura de dados – Paulo Fonseca

programa.
Podem ser declaradas dentro de uma função (locais) sendo
desconhecida no restante do programa.
Além disso podem ser usadas para passagem de valores
entre funções (parâmetros).

Unidade - 3 29
Introdução a linguagem de
programação C
Variáveis

Inicializando variáveis
Estrutura de dados – Paulo Fonseca

Em C podemos criar uma variável e logo em seguida utilizarmos o


operador de atribuição para inicializarmos o valor de uma variável. Este
processo denomina-se inicialização de variáveis.

Vejamos abaixo como fazemos tal procedimento.

int i = 0;

double x = 10.5;
Unidade - 3 30
Introdução a linguagem de
programação C
Inicializando variáveis
// Exemplo: Criando três variáveis e inicializando-as em tempo de criação.

int main ( ) {

int evento = 5;
Estrutura de dados – Paulo Fonseca

char corrida = 'A';

float tempo = 27.25;

printf ("O melhor tempo da eliminatória %c" ,corrida);

printf (" \n do evento %d foi %f", evento, tempo);

Unidade - 3 31
Introdução a linguagem de
programação C
Nome de variáveis
A escolha de nomes de variáveis em C pode conter quantos
caracteres quiser, sendo o primeiro caractere obrigatoriamente
uma letra ou o caractere sublinhado.
Estrutura de dados – Paulo Fonseca

Outra característica marcante em C, é que os nomes de


variáveis podem ser criadas com nomes iguais, desde que
contenham letras maiúsculas ou minúsculas, para diferenciá-
las.
É isso mesmo, C faz distinção entre letras maiúsculas e
minúsculas.
Unidade - 3 32
Introdução a linguagem de
programação C
Nome de variáveis
// Exemplo demonstrando case sensitive
#include <stdio.h>
Estrutura de dados – Paulo Fonseca

int main() {
int valor = 1;
double Valor = 2.5;
printf ("Valor inteiro %d" , valor);
printf ("\nValor ponto flutuante %f", Valor);
}
Unidade - 3 33
Introdução a linguagem de
programação C
Operadores

C é uma das linguagens com maior número de operadores,


devido possuir todos os operadores comuns de uma
Estrutura de dados – Paulo Fonseca

linguagem de alto nível, porém também possuindo os


operadores mais usuais a linguagens de baixo nível.
Para fins didáticos, dividiremos os operadores em aritméticos,
lógicos e de bits.
No momento abordaremos apenas as duas primeiras classes.

Unidade - 3 34
Introdução a linguagem de
programação C
Operadores aritméticos
Os operadores aritméticos são utilizados para efetuar as operações
matemáticas básicas como adição, multiplicação, divisão, resto de divisão
inteira, subtração o menos unário, decremento e incremento. O Quadro
1.2 estabelece o operador aritmético e a ação de cada um .
Operador Ação
Estrutura de dados – Paulo Fonseca

+ Adição
* Multiplicação
/ Divisão
% Resto de divisão inteira
- Subtração ou menos unário
-- Decremento
++ Incremento
+= Operação de atribuição de adição
-= Operação de atribuição de subtração
*= Operação de atribuição de multiplicação
/= Operação de atribuição de divisão
%= Operação de atribuição de resto

Unidade - 3 35
Introdução a linguagem de
programação C
Incremento e decremento
Para efetuar o incremento de uma variável deste tipo, é só
acrescentarmos (++) seguido do nome da variável e para
decrementar utilizamos (--) seguido do nome da variável.
Estrutura de dados – Paulo Fonseca

Outra maneira de usarmos o incremento e decremento é


colocar o (++) ou (--) antecedendo o nome da variável. Na
ocorrência de (++) ou (--) após o nome da variável,
denominados pós-fixado, e antecedendo o nome da variável,
denominados prefixado.

Unidade - 3 36
Introdução a linguagem de
programação C
Incremento e decremento
Vejamos alguns exemplos:
n = n + 1; /* adiciona 1 a n */
//seria o mesmo que
Estrutura de dados – Paulo Fonseca

++n; /* adiciona 1 a n */
//ou
n++; /* adiciona 1 a n */

O que muda nas operações acima, é apenas o uso dos incrementos, pós-
fixados e prefixados, mas que fazem bastante diferenças quando
utilizados em conjunto com outras instruções.
Unidade - 3 37
Introdução a linguagem de
programação C
Incremento e decremento
#include <stdio.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca

int n = 10;
int m = ++n;
printf("\n N=%d M=%d", n, m);
int a = 10;
int x = a++;
printf("\n A=%d X=%d", a, x);
}
Unidade - 3 38
Introdução a linguagem de
programação C
Operadores relacionais e lógicos
Os operadores relacionais e lógicos são utilizados para efetuar as
operações matemáticas relacionais e lógicos. O Quadro 1.3 estabelece
os operadores relacionais e lógicos e a ação de cada um.

Operador Ação
Estrutura de dados – Paulo Fonseca

> Maior que

>= Maior ou igual que

< Menor que

<= Menor ou igual que

== Igual a

!= Diferente de

&& Condição E  AND

|| Condição OU  OR

Unidade - 3 39
Introdução a linguagem de
programação C
Operadores relacionais e lógicos

Em C o resultado da comparação será ZERO se resultar em


FALSO e DIFERENTE DE ZERO no caso de obtermos
Estrutura de dados – Paulo Fonseca

VERDADEIRO num teste qualquer.


Programadores experientes utilizam-se desta conclusão em
alguns programas, onde inexplicavelmente algo é testado
contra ZERO.

Unidade - 3 40
Introdução a linguagem de
programação C
Exemplo: Irá calcular a média de um aluno sendo que ele possua três notas, a média é a soma das
notas dividida por três.

#include <stdio.h>
int main ( )
{
float nota1;
Estrutura de dados – Paulo Fonseca

float nota2;
float nota3;
float media;
printf("\n Digite a primeira nota..: ");
scanf("%f",&nota1);
printf("\n Digite a segunda nota...: ");
scanf("%f",&nota2);
printf("\n Digite a terceira nota..: ");
scanf("%f",&nota3);
media=(nota1+nota 2+nota3)/3;
printf("\n\n Sua media ............:%6.2f",media);
}
Unidade - 3 41
Introdução a linguagem de
programação C
Exercício: tendo o exemplo abaixo como referência, calcular a média semestral de um aluno da
faculdade. Obs.: A média semestral é calculada pela média aritmética das duas notas bimestrais e
as notas bimestrais são compostas pela soma de quatro notas (Atividade parcial 1; Atividade parcial
2; TED; e, Oficial).

#include <stdio.h>
int main ( )
Estrutura de dados – Paulo Fonseca

{
float nota1;
float nota2;
float nota3;
float media;
printf("\n Digite a primeira nota..: ");
scanf("%f",&nota1);
printf("\n Digite a segunda nota...: ");
scanf("%f",&nota2);
printf("\n Digite a terceira nota..: ");
scanf("%f",&nota3);
media=(nota1+nota 2+nota3)/3;
printf("\n\n Sua media ............:%6.2f",media);
}
Unidade - 3 42
Introdução a linguagem de
programação C
Tomada de decisão

A tomada de decisão e um dos procedimentos mais comuns


em programas de computadores, pois é através deles que o
Estrutura de dados – Paulo Fonseca

computador decide que procedimento executar.


A linguagem C nos permite utilizar três comandos de decisão:

• if
• if-else
• switch
Unidade - 3 43
Introdução a linguagem de
programação C
Tomada de decisão
Comando if-else: Análogo a outras linguagens, sua forma geral será:
if <condição>
<comando>;
else
<comando>;
Estrutura de dados – Paulo Fonseca

Ou

if <condição> {
<comando...1>;
<comando...2>;
}
else {
<comando..1>;
<comando..2>;
}
Unidade - 3 44
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 1: Programa Velho, Adulto ou Jovem

#include <stdio.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca

int i;
printf("Digite sua idade: ");
scanf("%d",&i);
if (i > 70)
printf("Esta Velho!");
else
if (i > 21)
printf("Adulto");
else
printf("Jovem");
}
Unidade - 3 45
Introdução a linguagem de
programação C
Tomada de decisão
Exercício: tendo o exemplo abaixo como referência e considerando o programa efetuado
anteriormente para cálculo da média semestral, verificar se o aluno está aprovado (média igual
ou superior a 7), reprovado (média inferior a 4) ou se irá para exame no restante das notas.

#include <stdio.h>
int main ( )
Estrutura de dados – Paulo Fonseca

{
int i;
printf("Digite sua idade: ");
scanf("%d",&i);
if (i > 70)
printf("Esta Velho!");
else
if (i > 21)
printf("Adulto");
else
printf("Jovem");
}
Unidade - 3 46
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 2: Maior entre três números

#include <stdio.h>
int main(){
int a,b,c;
printf("Digite o 1. Número: ");
scanf("%d",&a);
Estrutura de dados – Paulo Fonseca

printf("\nDigite o 2. Número: ");


scanf("%d",&b);
printf("\nDigite o 3. Número: ");
scanf("%d",&c);
if (a > b)
if (a > c)
printf("\nO Maior e %d",a);
else
printf("\nO Maior e %d",c);
else
if (b > c)
printf("\nO Maior e %d",b);
else
printf("\nO Maior e %d",c);
}
Unidade - 3 47
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 3: Maior entre três números (segunda solução).
#include <stdio.h>
int main(){
int a,b,c,d;
printf("Digite o 1. Numero: ");
scanf("%d",&a);
Estrutura de dados – Paulo Fonseca

printf("\nDigite o 2. Numero: ");


scanf("%d",&b);
printf("\nDigite o 3. Numero: ");
scanf("%d",&c);
if (a > b)
d = a;
else
d = b;
if (c > d)
printf("\nO Maior e %d",c);
else
printf("\nO Maior e %d",d);
}
Unidade - 3 48
Introdução a linguagem de
programação C
Tomada de decisão
Comando switch

Este comando nos permite selecionar uma opção entre várias alternativas.
A variável será validada e conforme seu valor executará a opção na qual se
enquadra. Sua forma geral será:
Estrutura de dados – Paulo Fonseca

switch (opção1) {
case <valor1>: instrução;
break;
case <valor2>: instrução;
break;
case <valor3>: instrução;
break;
default : instrução;
}
Unidade - 3 49
Introdução a linguagem de
programação C
Tomada de decisão
Exemplo 1: Programa adulto ou velho.

#include <stdio.h>
#include <stdlib.h>
int main ( )
{
Estrutura de dados – Paulo Fonseca

int i;
char sn;
printf("Voce tem mais de 70 anos ? (S/N) ");
scanf("%c",&sn);
switch (sn) {
case 's' : printf("Voce eh Velho! \n"); break;
case 'S' : printf("Voce eh Velho! \n"); break;
case 'n' : printf("Voce eh Adulto! \n"); break;
case 'N' : printf("Voce eh Velho! \n"); break;
default : printf("Opção inválida! Tente novamente.\n");
}
}
Unidade - 3 50
Introdução a linguagem de
programação C
Laços – Estruturas de repetição

Um dos grandes benefícios dos sistemas de processamento


de dados está em sua confiabilidade (precisão nos cálculos)
e rapidez (infinitamente superior ao ser humano), desta forma
Estrutura de dados – Paulo Fonseca

é ideal para processamento de elevado número de operações


repetitivas.

O processamento de uma Folha de Pagamentos, a Emissão


de Notas Fiscais, a Geração de Estatísticas de Faturamento,
são típicas tarefas a serem realizadas por processamento
eletrônico de dados.
Unidade - 3 51
Introdução a linguagem de
programação C
Laços
Comando for

O laço for é a instrução mais poderosa na criação de estruturas de


repetição.
Estrutura de dados – Paulo Fonseca

Neste momento, abordaremos apenas sua sintaxe simplificada.

Sua forma mais simples é:

for (<início>;<condição>;<incremento>)
{
comando;
}
Unidade - 3 52
Introdução a linguagem de
programação C
Laços
Comando for
# Exemplo 1: Contagem de 1 a 100 ficaria.

main ( ) {
Estrutura de dados – Paulo Fonseca

int cont;
for (cont = 1; cont <= 100; cont++){
printf("%d",cont);
}
}

Unidade - 3 53
Introdução a linguagem de
programação C
Laços
Comando for
# Exemplo 2: Elaborar programa que imprima a tabuada de um número dado.

#include <stdio.h>
Estrutura de dados – Paulo Fonseca

main ( ) {

int cont,num;

printf("Digite um Numero: ");

scanf("%d",&num);

for (cont = 0; cont <= 10; cont++)

printf("%2d * %2d = %2d \n", num,cont,num * cont);

}
O número ‘2’ antes do ‘d’ causa a representação em vídeo de 2 casas, permitindo o
alinhamento da tabuada!
Unidade - 3 54
Introdução a linguagem de
programação C
Laços
Comando for

Exercício1: Elabore tabela de Conversão de temperaturas


entre as escalas Celsius e Fahrenheit.
Estrutura de dados – Paulo Fonseca

No estudo de escalas de temperatura, aprendemos que a


conversão de graus Fahrenheit (F) para graus Celsius (C)
se dá pela fórmula C = 5/9 * (F - 32), ou, de forma
equivalente por C = (F - 32) / 1,8.

F = 9/5 * C + 32 ou F = 1,8 * C + 32
Unidade - 3 55
Introdução a linguagem de
programação C
Laços

Possível Resolução do Exercício1


Estrutura de dados – Paulo Fonseca

Unidade - 3 56
Introdução a linguagem de
programação C
Laços
Possível resolução do Exercício1
#include <stdio.h>
#include <stdlib.h>
main ( ) {
Estrutura de dados – Paulo Fonseca

int fahr;
float celsius;
for (fahr = 0; fahr <= 300; fahr = fahr + 20) {
printf("%4d", fahr);
celsius = (5.0/9.0)*(fahr-32);
printf("\t%6.1f\n", celsius);
}
} Unidade - 3 57
Introdução a linguagem de
programação C
Laços
Comando while

O laço while significa enquanto, e é um comando utilizado para se


realizar repetições quando não se pode/consegue determinar a
Estrutura de dados – Paulo Fonseca

quantidade de vezes que será repetido o laço. Diferente do for que


se determina antecipadamente a quantidade de vezes o laço se
repete. Neste momento, abordaremos apenas sua sintaxe
simplificada.
Sua forma mais simples é:

while (<condição>) {
<comando>;
} Unidade - 3 58
Introdução a linguagem de
programação C
Laços
Comando while

Exemplo 1: Contagem de 1 a 100 ficaria.


Estrutura de dados – Paulo Fonseca

int cont = 0;
while (cont <= 100) {
cont++;
printf("%d",cont);
}
Unidade - 3 59
Introdução a linguagem de
programação C
Laços
Comando do-while
O laço do-while significa faça enquanto, e é um comando
utilizado para se realizar repetições com um diferencial que é a
execução de pelo menos uma vez a instrução do laço, mesmo
Estrutura de dados – Paulo Fonseca

que a condição inicial seja falsa, pois a validação da condição


só é feita depois da execução do laço. Neste momento,
abordaremos apenas sua sintaxe simplificada.
Sua forma mais simples é:

do {
<comando>;
} Unidade
while (<condição>);
-3 60
Introdução a linguagem de
programação C
Laços
Comando do-while
Exemplo 1: Contagem de 1 a 100 ficaria:
#include <stdio.h>
#include <stdlib.h>
Estrutura de dados – Paulo Fonseca

int main() {
int cont = 0;
do {
cont++;
printf("%d ",cont);
} while (cont < 100);
system("pause");
} Unidade - 3 61
Introdução a linguagem de
programação C
Laços
Comando while ou do while

Exercício: Ciente do funcionamento dos loops WHILE e DO


WHILE e considerando o programa efetuado anteriormente
Estrutura de dados – Paulo Fonseca

para cálculo da média semestral, verificar se as notas


digitadas estão na faixa determinada para cada uma (Nota
Av. parcial máxima 1; Nota TED máxima 1; e, Nota oficial
máxima 7).

Unidade - 3 62
Introdução a linguagem de
programação C
Resumo

Nesta aula abordamos conceitos da linguagem de


programação C/C++, a sua estrutura básica de um programa,
Estrutura de dados – Paulo Fonseca

suas características, vantagens, desvantagens, operações,


declarações e manipulações de variáveis e as
implementações das estruturas condicionais, bem como as
implementações de programas das estruturas de laço.
Além de exemplos práticos do nosso dia-a-dia, a fim de um
entendimento melhor por parte do acadêmico aumentando
assim seu conhecimento teórico.

Unidade - 3 63
Introdução a linguagem de
programação C
Atividades de aprendizagem

Elabore programas em C que façam o seguinte:


a) Mostre na tela o seu nome.
b) Some 10 com 15 e imprima na tela a seguinte frase: “O resultado da soma é: “
mostrando o resultado.
Estrutura de dados – Paulo Fonseca

c) Faça a multiplicação entre 10 e 15 e mostre na tela o resultado.


d) Pergunte o nome da pessoa e o sobrenome e imprima os mesmos.
e) Soma dos primeiros 100 números naturais.
f) Calcular a média aritmética de uma série de números digitados pelo usuário
enquanto o número for diferente de 0 (zero).
g) Criar um menu com opções de inclusão, alteração, exclusão, consulta e validação
de opção inválida.
h) Calcular e imprimir os termos da sequência de Fibonacci menores que 1000
i) Verificar, em até cinco tentativas, se o usuário adivinha um número.
j) Criar uma calculadora para as quatro operações aritméticas e que use “X” para
terminar.
Unidade - 3 64
Colaborações?

Críticas??
Estrutura de dados – Paulo Fonseca

Dúvidas???

Sugestões????

Xingamentos?????

Choros??????

Unidade - 3 65

Você também pode gostar