Buscar

MATA40 T03 2017 2 Aula02 RevisaoLinguagemC part1

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 34 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 34 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 34 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

MATA40 – Estrutura de dados e 
Algoritmos I
Aula 2 –Revisão Linguagem C
Turma 03
Semestre: 2017.2
Prof. Igo Amauri dos S. Luz
Algoritmos
• Um algoritmo pode ser definido como uma sequência de 
instruções para solucionar um determinado problema.
• Deve-se seguir uma ordem, portanto precisa ser utilizada 
a lógica.
• As instruções devem ser finitas e não ambígua.
• A partir de um estado inicial, após determinado tempo 
finito, é produzido um estado final.
• Uma solução em algoritmo pode ser traduzida para 
qualquer linguagem de programação.
2
Algoritmos
• Por que NÃO ambíguo?
• Cada instrução do algoritmo deve ser precisamente 
definida, sem permitir mais de uma interpretação de seu 
significado.
• Os algoritmos devem se basear no uso de um conjunto de 
instruções bem definido, que constituem um vocabulário 
de símbolos limitado.
3
Algoritmos
• Um exemplo de algoritmo no nosso dia a dia.
4
Algoritmos
• Basicamente, existem 3 tipos de processamento
• Processamento sequencial
• Processamento condicional
• Processamento com repetição
• Repetição determinada
• Repetição indeterminada
5
Algoritmos
• Processamento sequencial
• As instruções são executadas uma após a outra
• Não existe desvio na sequência das instruções
• Cada instrução é executada uma única vez
6
Leia nota1
Leia nota2
media = (nota1 + nota2)/2
Imprima media
Algoritmos
• Processamento sequencial
7
Leia nota1
Leia nota2
media = (nota1 + nota2)/2
Imprima media
Leia nota1
Leia nota2
Imprima media
media = (nota1 + nota2)/2
Leia nota1
media = (nota1 + nota2)/2
Leia nota2
Imprima media
Algoritmos
• Processamento condicional
• Um conjunto de instruções pode ou não ser executado;
• Depende de uma condição;
• Se a condição testada for verdadeira, o conjunto de instruções é 
executado.
8
Leia nota1
Leia nota2
Se nota1 > nota2
Imprima nota1
Senão
Imprima nota2
Leia nota1
Leia nota2
Imprima nota1
Leia nota1
Leia nota2
Imprima nota2
Algoritmos
• Processamento com repetição:
• Um conjunto de instruções é executado um número definido ou 
indefinido de vezes;
• Repetem um conjunto de comandos em seu interior;
• Pode ser determinada por uma condição de parada.
9
Leia N
soma = 0
nro = 1
Enquanto nro <= N
soma = soma + nro
nro = nro + 1
Imprima soma
Linguagem C
• Estrutura básica de um programa em C:
10
#include <stdio.h>
#include <stdlib.h>
int main() {
printf(“Hello World”);
system(“pause”);
return 0;
}
#include <biblioteca>
<declaração de constantes e variáveis globais>
void main(){
<declaração de constantes e variáveis locais>
<comandos da linguagem C>
}
Linguagem C – Include
• Estrutura básica de programa em C
11
#include <biblioteca>
<definição de constantes e variáveis globais>
void main(){
<definição de constantes e variáveis locais>
<comandos da linguagem C>
}
Linguagem C – Constantes e 
Variáveis
• Constantes e variáveis representam uma posição na
memória.
• São responsáveis por armazenar informações de um
programa.
• Constantes possuem valores fixos.
• Variáveis têm seu conteúdo alterado ao longo da execução
de um programa.
• São identificadas através de rótulos.
12
Linguagem C – Constantes e 
Variáveis
• Declaração de variáveis e constantes:
• Informa ao programa quais os dados serão armazenados;
• Define qual o tipo do dado será armazenado
• Sintaxe:
• <tipo de dado> nome-da-variável; 
13
Linguagem C – Constantes e 
Variáveis
• As variáveis só podem armazenar valores de um mesmo 
tipo.
• Programador deve definir o tipo de cada variável através da 
declaração.
• Tipos mais comuns:
• Tipo inteiro: int
• Tipo caractere: char
• Tipos ponto flutuante: float, double.
• Tipo sem valor: void
14
char nome;
int idade;
Linguagem C – Constantes e 
Variáveis
Tipo Tamanho aproximado em bits Faixa mínima
char 8 -127 a 127
int 16 -32.767 a 32.767
unsigned int 16 0 a 65.535
long int 32 -2.147.483.647 a 2.147.483.647
float 32 Seis dígitos de precisão
double 64 Dez dígitos de precisão
15
Linguagem C –Atribuições
• Comandos de atribuições são utilizados para conceder 
valores ou operações para variáveis.
• O valor da atribuição precisa ser compatível com o tipo 
da variável.
• O operador de atribuição é o =
• Sintaxe:
• nome_da_variável = expressão, valor ou constante; 
16
char sexo;
int idade;
sexo = 'm';
Idade = 25;
Idade = idade + 1;
Linguagem C –Operadores
• Aritméticos
• Incremento e Decremento
• Lógicos
• Comparação
• Atribuição
17
Linguagem C –Operadores
• Expressões aritméticas possuem operadores aritméticos 
e os operandos são constantes e/ou variáveis numéricas.
18
Operador Exemplo Descrição
+ x + y Soma o conteúdo de x e de y.
- x - y Subtrai o conteúdo de y do conteúdo de x
* x * y Multiplica o conteúdo de x pelo conteúdo de y
/ x / y Obtém o quociente da divisão de x por y
Linguagem C –Operadores
• Expressões relacionais representam comparações entre 
dois valores de mesmo tipo.
19
Operador em C Exemplo Descrição
== x == y Conteúdo de x é igual ao de y.
!= x != y Conteúdo de x é diferente de y.
> x > y Conteúdo de x é maior que o 
conteúdo de y.
< x < y Conteúdo de x é menor que o 
conteúdo de y.
>= x >= y Conteúdo de x é maior ou igual 
que o conteúdo de y.
<= x <= y Conteúdo de x é menor ou igual 
que o conteúdo de y.
Linguagem C –Operadores
• Expressões lógicas possuem operadores lógicos e
operandos relacionais, constantes e/ou variáveis do tipo
lógico.
20
Operador em C Exemplo em C Descrição
! !(x>5) Representa a negação lógica
&& (x>5 && x<10) Representa o E lógico
|| (x>15 || y<2) Representa o OU lógico
Linguagem C – Include
• A diretiva #include permite incluir uma biblioteca
• Bibliotecas possuem funções pré-definidas que podem
ser utilizadas pelo programa
21
Biblioteca Descrição
#include <stdio.h> Funções de entrada e saída
#include <math.h> Funções matemáticas
Comando de Entrada e Saída
• Possibilita a comunicação entre usuário e
computador e entre diferentes dispositivos.
• Na linguagem C as operações de E/S são
realizadas através da chamada de funções da
biblioteca padrão.
• Existe operações de E/S pelo console e por meio
de arquivo.
22
Comando de Entrada e Saída
• Operações pelo console da biblioteca stdio.h:
23
Função Protótipo Operação
getchar() int getchar(void); Lê um caractere do 
teclado.
putchar() int putchar(int c); Escreve um caractere na 
tela.
gets() char *gets(char *str); Lê uma string do teclado.
puts() int puts(const char *str); Escreve uma string na tela.
Comando de Entrada e Saída
• Operações pelo console da biblioteca stdio.h:
• Realizam E/S formatada
24
Função Protótipo Operação
printf() int printf(const char 
*string_controle, ...); 
Escreve dados no vídeo.
scanf() int scanf(const char 
*string_controle, ...); 
Lê dados do teclado.
Comando de Entrada e Saída
• Operações pelo console da biblioteca stdio.h:
• Realizam E/S formatada;
• Alguns comandos de formato:
• Exemplo:
• printf(“%s”, “Esse é um teste simples”); 25
Código Formato
%c Caractere
%d Inteiros decimais com sinal
%u Inteiros decimais sem sinal
%f Ponto flutuante decimal
%s String de caracteres
Estrutura Condicional
• Comandos condicionais permitem a alteração do fluxo de
execução do programa baseado na avaliação de
expressões lógicas.
26
IF condição {
comando_1;
comando_2;
}
ELSE {
comando_3;
comando_4;
}
Estrutura Condicional
• Comando switch/case trata situações mutuamente
exclusivas.
•Reduz a complexidade de vários if...else encadeados.
27
switch (variável) {
case valor1: comandos;
break;
case valor2: comandos;
break;
default: comandos;
}
Estrutura Condicional
• Exemplo de um programa em C.
28
#include <stdio.h> // biblioteca padrão de Input/Output
#include <stdlib.h>
void main() {
int valor1, valor2;
valor1 = rand(); /*gera um valor randômico */
valor2 = rand(); /*gera um valor randômico */
if(valor1 > valor2){
printf(“valor1 maior que valor2”);
}
else {
printf(“valor1 não é maior que valor2”);
}
}
Estrutura de Repetição
• Permite que uma sequência de comandos seja executada
repetidamente até que uma determinada condição de
parada seja satisfeita.
29
WHILE condição DO
BEGIN
comando1;
comando2;
END;
Estrutura de Repetição
• Permite que uma sequência de comandos seja executada
repetidamente até que uma determinada condição de
parada seja satisfeita.
30
for (i = valor_inicial; condição; incremento_ou_decremento de i)
{
comando1;
comando2;
}
while (condição)
{
comando1;
comando2;
}
Estrutura de Repetição
• Exemplo de um programa em C
31
#include <stdio.h> // biblioteca padrão de Input/Output
#include <stdlib.h>
void main() {
int valor1, valor2,i;
for(i = 0; i < 5; i = i + 1){
valor1 = rand(); /*gera um valor randômico */
valor2 = rand(); /*gera um valor randômico */
printf(“Conteúdo de valor1 é: %d”, valor1);
printf(“Conteúdo de valor2 é: %d”, valor2);
}
printf(“Laço for foi finalizado”);
}
Estrutura de Repetição
• Exemplo de um programa em C
32
#include <stdio.h> // biblioteca padrão de Input/Output
#include <stdlib.h>
void main() {
int valor1, valor2,i;
valor1 = 10;
valor2 = 20;
while(valor1 < valor2){
valor1 = rand(); /*gera um valor randômico */
valor2 = rand(); /*gera um valor randômico */
printf(“valor1 é menor que valor2”);
}
printf(“Laço while foi finalizado”);
}
Exercícios
1) Escreva um programa que, dados três valores inteiros
diferentes entre si, apresente o maior de tais valores.
2) Escreva um programa que implemente uma
calculadora capaz de realizar as operações de: Soma,
Subtração, Multiplicação e Divisão.
• O programa deve solicitar ao usuários os operandos e qual
operação deseja realizar com determinado operando.
• O resultado da operação deve ser apresentado ao usuário.
3) Escreva um programa que calcule o n-ésimo elemento
da sequência de Fibonacci.
4) Escreva um programa que converta um número
decimal em binário.
33
Exercícios
5) Um ciclones tropical consiste em uma tempestade muito violenta que, sob
determinadas condições, adquire um movimento de rotação em torno de uma
região de baixa pressão atmosférica. Um ciclone pode atingir um diâmetro de até
500 km. Furacões são os mais violentos desses ciclones e chegam a produzir ventos
de até 320 km/h. Na tabela abaixo, são apresentados alguns dados relativos à
classificação dos furacões segundo a escala Saffir-Simpson:
• Escreva um programa que leia a velocidade do vento aferida durante uma
tempestade e apresente ao usuário a classificação do furacão caso a tempestade
possa ser classificada como tal.
34
Classificação Velocidade dos Ventos (Km/h)
Tempestade Tropical 62 a 118
Furação de categoria 1 119 a 153
Furação de categoria 2 154 a 177
Furação de categoria 3 178 a 209
Furação de categoria 4 210 a 249
Furação de categoria 5 Maior que 249

Outros materiais