Buscar

[TEO]02-IntroduçãoeConceitosBasicos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Algoritmos e Programação
Teoria
Introdução e Conceitos Básicos
Marco Antonio Montebello Júnior
montebello@facens.br
Agenda
Desenvolvimento de Software
Linguagem de Programação
Introdução a Linguagem C
Características
Variáveis
Constantes
Exibir informações: printf 
Receber valores: scanf
Exercícios
Desenvolvimento / Planejamento
Entendimento do Problema
Desafio: Criar uma árvore com balanço.
Parece uma tarefa simples...
Veja se você entendeu como isso deve ser realizado....
Entendimento do Problema
Desenvolvimento de Software / Projetos
Saber o que precisa ser feito é diferente de saber quais são os passos necessários para desenvolver o projeto
A isto damos o nome de Algoritmo
Um algoritmo é uma sequência de passos lógicos necessários para executar uma determinada atividade
O algoritmo é o ponto mais importante no momento de planejar uma solução para desenvolver um projeto
Fases do Desenvolvimento
Para desenvolver um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais:
ENTRADA: São os dados de entrada do algoritmo
PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final
SAÍDA: São os dados já processados
Entrada → Processamento → Saída
Entrada → Processamento → Saída
Algoritmos
Sequência de passos lógicos para resolver um problema
Entrada: Quais são as informações disponíveis e necessárias para executar o processo
Processamento: Como eu devo manipular estas informações para gerar o resultado esperado
Saída: Apresentação do resultado gerado pelo processamento
Algoritmos
Como trocar uma lâmpada?
11
Algoritmos
Como trocar uma lâmpada?
Entrada: 
Uma lâmpada e uma escada
Processamento:
Posicionar escada abaixo da lâmpada
Subir na escada
Retirar a lâmpada queimada
Descer da escada e jogar fora a lâmpada queimada
Pegar a lâmpada nova e subir a escada
Colocar lâmpada nova
Testar o interruptor
Saída:
Lâmpada trocada e funcionando
12
Desenvolvimento de Software
Processo: Multiplicar dois números fornecidos pelo usuário
Algoritmo:
Receber o primeiro número do usuário
Receber o segundo número do usuário
Multiplicar o primeiro número pelo segundo
Exibir o resultado da multiplicação
Processo a ser melhorado
Algoritmo
Análise
do
Processo
Codificação
Desenvolvimento de Software
Processo a ser melhorado
Algoritmo
Análise
do
Processo
Codificação
Compilação
Testes
Documentação
Processo de Desenvolvimento
Desenvolvimento de Software
Entenderam?
Dúvidas?
Podemos seguir 
adiante?
Linguagem C
A linguagem C é uma linguagem de programação estruturada que possui as seguintes características:
Palavras chave da linguagem são escritas utilizando letras minúsculas
Case-Sensitive: diferencia letras maiúsculas de letras minúsculas
Utiliza função de entrada para determinar aonde o programa começa: main() 
Todos os comandos são finalizados através da utilização do ponto-e-vírgula (;)
Blocos de código devem ser apresentados entre um par de chaves ({ })
Comentários
// Para inserir comentários de uma única linha
/* para inserir comentários
 que estão em
 várias linhas */
Linguagem C – Características
É case-sensitive;
Diferencia letras minúsculas de maiúsculas
main() é uma função que precisa necessariamente estar presente pois é chamada quando a execução do programa começa.
Linguagem C – Características
Todos os comando devem ser finalizados, através da utilização do ‘;’ (ponto-e-vírgula);
Para inserir comentários utilize:
// para comentar apenas uma linha
/* <comentário> */ para comentar mais de uma linha
Linguagem C – Características
Palavras reservadas:
auto
double
int
struct
break
else
long
switch
case
enum
register
typedef
char
extern
return
union
const
float
short
unsigned
continue
for
signed
void
default
goto
sizeof
volatile
do
if
static
while
Linguagem C
O programa possui algumas etapas essenciais:
Cabeçalho: Identificando o programa com comentários
Referências: Adição de referências a bibliotecas da linguagem
Corpo: Identificando o código do programa em si, deve obrigatoriamente conter uma entrada main()
Estrutura Básica de um Programa em Linguagem C
//Diretivas e Bibliotecas
//declaração de variáveis globais
main()
{
	//declaração var. locais da função main
	//comandos da função main
}
Diretivas e Bibliotecas
Diretiva #include permite incluir uma biblioteca
Bibliotecas contêm funções pré-definidas, utilizadas nos programas
Exemplos:
#include <stdio.h>
Funções de entrada e saída
#include <stdlib.h>
Funções padrão
#include <math.h>
Funções matemáticas
#include <system.h>
Funções do sistema
#include <string.h>
Funções de texto
Apresentação da IDE
IDE (Integrated Development Environment) é um termo em inglês para representar ferramentas de desenvolvimento de software, integrando as tarefas a serem executadas (codificação, compilação, depuração, etc)
Utilizaremos como IDE o CodeBlocks (http://www.codeblocks.org/), sendo esta para desenvolvimento nas linguagens C/C++
Estrutura Básica em Linguagem C
#include <stdio.h>
#include <stdlib.h>
main()
{
	printf(“Meu primeiro programa em C!”);
	printf(“Vai Curintia!!!...”);
	system(“pause”);
}
Estrutura Básica em Linguagem C
#include <stdio.h>
#include <stdlib.h> ou #include <conio.h>
main()
{
	//Declaração das Variáveis
	int iNum1;
	//Exibindo uma mensagem e recebendo um valor
	printf(“Digite um número: ”);
	scanf(“%i”, &iNum1);
	//Exibindo o valor recebido
	printf(“O valor digitado foi: %i.\n”, iNum1);
	system(“pause”); ou getch();
}
Exemplos
Hello World
O clássico dos clássicos quando se trata de iniciar pessoas na arte da programação
/*
 * Programa: Hello World
 * Aluno: XXXXXX
 * RA: XXXXX
 */
#include <stdio.h>
int main()
{
 printf(“Hello World”);
 return 0;
}
Exemplos
Hello World 2
O clássico dos clássicos quando se trata de iniciar pessoas na arte da programação, mas agora você pode ver o resultado
/*
 * Programa: Hello World
 * Aluno: XXXXXX
 * RA: XXXXX
 */
#include <stdio.h>
#include <stdlib.h>
int main()
{
 printf(“Hello World”);
 system(“Pause”);
 return 0;
}
Exemplos
Operação Matemática
Soma de 2 números pré-definidos
/*
 * Programa: Operação Matemática
 * Aluno: XXXXXX
 * RA: XXXXX
 */
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a, b, c;
 a = 10;
 b = 20;
 c = a + b;
 printf(“Soma: %i\n”, c);
 system(“Pause”);
 return 0;
}
Podemos continuar?
O que são “dados”?
“Dados são informações brutas (números ou caracteres) que precisam ser processadas por um programa para se tornarem significativas.”
Tipos de dados da linguagem C
Tipos básicos:
char	- apenas 1 caractere alfanumérico
int	- números inteiros
float	- números fracionários com precisão simples
double	- números fracionários com precisão dupla
void	- indica que uma função não retorna nada
Modificadores:
signed
unsigned
long
short
Tipos de dados da linguagem C
Palavra-chave
Tamanho em Bytes
Faixa de Dados
char
1
-128 a 127
unsignedchar
1
0 a 255
int
2
-32.768 a 32.767
unsignedint
2
0 a 65.535
longint
4
-2.147.483.648 a 2.147.483.647
unsigned longint
4
0 a 4.294.967.295
float
4
Seis dígitos de precisão
double
8
Dez dígitos de precisão
longdouble
16
Dez dígitos de precisão
Variáveis
“Variáveis representam localizações de memória onde são armazenados dados que podem ser modificados pelo programa.”
Variáveis – O que são ?
Espaço e o local da memória a ser usado por um determinado valor 
Quantidade de Espaço 
Definida quando informamos qual é o tipo de valor a ser armazenado 
Local da Memória
Na verdade, não precisamos indicar o local, mas nomear um local que é selecionado automaticamente. 
Locais na memória do computador são acessados através de endereços 
Definir (ou declarar) uma variável significa providenciar uma área
na memória RAM para armazenamento de um tipo de dado em particular.
Variáveis
Nomes de variáveis
Pode conter letras, números e caracter de sublinhado (“underscore”)
O primeiro caractere do nome não pode ser numérico
Não é permitido utilizar palavras-chave como nome de variáveis
Por convenção, variáveis são criadas com letras minúsculas (maiúsculas são diferentes de minúsculas)
Declaração de Variáveis
<tipo>	<nome_da_variavel>;
Para uma boa prática de programação
Iniciar o nome da variável com a 1ª. letra do tipo
A 2ª. deve ser maiúscula e o restante minúsculas, a não ser que seja uma palavra composta, o inicio da mesma deve ser maiúscula
Exemplos:
int iNota1;
float fMediaFinal;
char cResp;
Variáveis
Declaração de variáveis
Sintaxe:		tipo nome_var;
Exemplos:	
int x;
float y, z;
Inicialização de variáveis
Sintaxe:		nome_var = valor;
Exemplos:
x = 10;
y = z = 10.5;
Declaração e inicialização de variáveis
Sintaxe:		tipo nome_var = valor;
Exemplo:	int x = 10;
Declaração de Variáveis
É possível declarar várias variáveis de tipos iguais ao mesmo tempo.
Exemplos:
float fNota1, fNota2, fMedia;
int iNum1, iNum2;
char cResp, cRet, cInicial;
Variáveis
Inicialização de Variáveis
<nome_da_variavel> = <valor>;
Exemplos:
iNota1 = 10;
fMediaFinal = 25;
Declaração + Inicialização de Variáveis
<tipo>	<nome_da_variavel> = <valor>;
Exemplos:
int iNota2 = 15;
float fNum = 5.65;
Constantes
Constantes representam localizações de memória onde são armazenados dados que não podem ser modificados durante a execução do programa.”
Constantes
Nome de constantes
Por convenção, constantes são criadas com letras maiúsculas
Declaração e inicialização de constantes
Sintaxe:	#define NOME_CONST valor
Exemplos:	
#define PI 3.1415
#define MAX 1000
Operador de Atribuição (=)
Sintaxe:		nome_var = expressão;
Exemplos:
x = 2;
y = x + 3;
Conversão de tipos em atribuições
Regra: o valor do lado direito de uma atribuição é convertido para o tipo do lado esquerdo
Exemplo:	
int x;
float y;
x = y = 3.5;
y = x = 3.5;
Operadores Aritméticos
Binários – atuam sobre dois operandos
Adição (+)
Subtração (-)
Multiplicação (*)
Divisão (/)
Mod (%)
Utilizado para encontrar o resto de uma divisão
Exemplos:
x = 10 + 5;	x igual a 15
x = 10 - 5; 	x igual a 5
x = 10 * 5; 	x igual a 50
x = 10 / 5; 	x igual a 2
x = 11 % 5; 	x igual a 1
* Operadores Relacionais
São usados para comparar expressões e resultam em falso ou verdadeiro
Igual (==)
Maior que (>)
Menor que (<)
Maior ou igual (>=)
Menor ou igual (<=)
Diferente (!=)
Exemplos:
1 == 1	retorna verdadeiro
2 > 1	retorna verdadeiro
2 < 1	retorna falso
2 >= 1	retorna verdadeiro
2 <= 2	retorna verdadeiro
2 != 2	retorna falso
Função printf( )
Biblioteca de funções stdio.h
Sintaxe: printf(a1, a2, a3, ..., an);
Primeiro argumento (a1) chama-se string de formato, deve estar entre aspas duplas e pode conter:
Texto: printf(“Boa noite!”);
Códigos de barra invertida: printf(“Boa \n noite!”);
Especificadores de formato: printf(“O valor de x é %i”,x);
Demais argumentos (a2 ... an) chamam-se itens de dados. São quantos forem os especificadores de formato do primeiro argumento
printf(“FLOAT = %f INT = %i CHAR = %c”, f, i, c);
Funções da Biblioteca: printf
printf(“Int: %i Float: %.2f Char: %c”, iInt, fFloat, cChar);
printf(“Int: %i Float: %.2f Char: %c”, iInt, fFloat, cChar);
Variável tipo int (iInt)
Variável tipo float (fFloat)
Variável tipo char (cChar)
Especificadores de formato
Código de barra invertida
Função scanf( )
Biblioteca de funções stdio.h
“A função scanf() é utilizada para ler dados do teclado e colocar os valores fornecidos pelo usuário nas variáveis utilizadas como parâmetros da função”.
Função scanf( )
Sintaxe: scanf(a1, a2, a3, ..., an);
Primeiro argumento (a1) chama-se string de formato, deve estar entre aspas duplas e pode conter:
Especificadores de formato: scanf(“%i”,&x);
Demais argumentos (a2 ... an) chamam-se itens de dados. São quantos forem os especificadores de formato do primeiro argumento e devem ser precedidos pelo operador & (endereço de)
scanf(“%f %i %c”, &f, &i, &c);
Funções da Biblioteca: scanf
52
scanf(“%i %f %c”, &iInt, &fFloat, &cChar);
scanf(“%i %f %c”, &iInt, &fFloat, &cChar);
Armazena o valor da variável de tipo int (iInt)
Armazena o valor da variável de tipo float (fFloat)
Armazena o valor da variável de tipo char (cChar)
Relembrando....
#include <stdio.h>
#include <conio.h>
main()
{
	//Declaração das Variáveis
	int iNum1;
	//Exibindo uma mensagem e recebendo um valor
	printf(“Digite um número: ”);
	scanf(“%i”, &iNum1);
	//Exibindo o valor recebido
	printf(“O valor digitado foi: %i.\n”, iNum1);
	getch();
}
Dúvidas???
Exercícios
Exercício 1
Calcular a média aritmética entre 4 valores
Exercícios
Exercício2
Elabore um algoritmo para efetuar o cálculo da quantidade de litros de cerveja consumida por um determinado bloco durante o carnaval.
Outras informações:
Considerar que uma caixa de cerveja tem 24 garrafas;
Sabe-se que cada garrafa tem 600 ml e que 1 litro tem 1000 ml;
Considerar que o carnaval são cinco dias;
Receber a quantidade de caixas de cerveja consumidas durante o período.
Supondo que cada caixa custa R$ 30,00, informar também o gasto em cerveja do referido bloco.
Exercícios
Exercício3
Criar um algoritmo para calcular o perímetro de uma circunferência. O perímetro é calculado por 2πr, onde r é o raio da circunferência.
Exercícios
Exercício4
Criar um programa em linguagem C para calcular o perímetro de uma circunferência. O Programa deverá exibir na tela a seguinte mensagem: ‘O perímetro da circunferência de raio X é igual a P’
Onde X e P devem ser respectivamente o raio e o perímetro da circunferência.
Exercícios
Exercício5
Criar um programa em linguagem C que receba o ano de nascimento de uma pessoa e calcule:
Quantidade aproximada de ano;
Quantidade aproximado de meses;
Quantidadeaproximada de dias
Exercícios
Exercício6
Criar um programa em Linguagem C que receba dois números inteiros e retorne:
Valor da divisão
Resto da divisão
Exercícios
Exercício7
Criar um programa em Linguagem C que realize a conversão de grau Celsius para Fahrenheit.
fFahrenheit = ((fCelsius * 9.0) / 5.0) + 32
Exercícios
Exercício 8
Efetuar a cálculo da quantidade de litros de combustível gasta em uma viagem. Outras informações:
Considerar que um automóvel que faz 12 Km por litro.
Distância = Tempo * Velocidade.
QdtLitros = Distância / 12.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais