Construção de Algoritmos
Construção de Algoritmos
AULA 07
Aquiles Burlamaqui
UERN
Professor: Aquiles Burlamaqui
Construção de Algoritmos
…previously



Estrutura
Função
Prova

Correção
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conteúdo Programático
Unidade I


Fundamentos de Lógica de Programação









Algoritmo (metalinguagem)
Conceitos de memória, variáveis e constantes.
Tipos básicos de dados
Operadores aritméticos, relacionais e lógicos.
Comandos básicos de entrada e saída e atribuição
Conceito de bloco de comandos
Estruturas de controle de fluxo – condicionais (se, se-senão e caso)
Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto)
Estruturas de Dados Homogêneas (vetores e matrizes)
Unidade II



Estruturas de Dados Heterogêneas (registros)
Modularização





Variáveis locais e globais
Funções
Passagem de parâmetros por valor
Funções recursivas
Biblioteca de funções
Unidade III



Algoritmos de Busca
Ponteiros





Conceitos
Operador endereço e operador de acesso indireto
Passagem de parâmetros por referência
Alocação dinâmica de memória
Arquivo
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura de dados Heterogêneas

Estrutura

Uma estrutura (struct) ou registro em C
é uma coleção de um ou mais valores,
agrupados sob um único nome.
Estruturas constituem um recurso
importante para organizar os dados
utilizados por um programa graças à
possibilidade de tratar um grupo de
valores como uma única variável.
Exemplos:
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura
struct ponto
{
int x;
int y;
};
struct funcionario
{
int registro;
char nome[30];
char depto[5];
float salario;
};
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Declarando variáveis do tipo estrutura


struct ponto p1, p2, p3;
struct funcionario Joao;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Atribuindo valores




p1.x
p1.y
p2.x
p2.y
=
=
=
=
10;
20;
p1.x + 5;
p2.y + 5;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Atribuindo outra Estrutura


funcionario f = Joao;
p3 = p2;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Inicialização de Estruturas


struct ponto origem = {0,0};
struct ponto trapezio[] = { { 5,5}, {5,
10}, {10,5}, {10,13} };
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Modularização




Funções
Variáveis Locais
Variáveis Globais
Passagem de parâmetros por valor
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Funções



São módulos ou blocos de código que
executam uma determinada tarefa.
“Caixas pretas” que recebem
informações de entrada e geram
informações de saida.
Para que usar funções ?

depuração de erros

reutilização
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Funções

Estrutura de uma função
tipo nome(tipo1 var1, tipo2 var2, ...)
{
código1;
.
.
.
códigoN;
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Funções

Exemplo:
void diminuir(int parcela1, int parcela2) {
int total;
total = parcela1 - parcela2;
printf ("A subtracao vale: %d",total);
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Funções

Exemplo:
int main() {
int a=10,b=3;
ação1;
ação2;
diminuir(a,b);
ação3;
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Funções

Exemplo:
int diminuir(int parcela1, int parcela2)
{
int total;
total = parcela1 - parcela2;
return total;
}
main()
{
int a=10,b=3,total;
ação1;
ação2;
total = diminuir(a,b);
printf ("A subtracao vale: %d",total);
ação3;
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Exercícios de fixação
1) Escreva uma função que pegue dois números, ache o
resultado da multiplicação entre eles e exiba o resultado
na tela.
2) Escreva o mesmo programa, só que agora ele deve passar
para uma variável do programa principal, que irá somar o
resultado a 3 e dividir por 2.
3) Explique qual a diferença entre funções que retornam ou
não valores.
4) Qual utilidade do tipo de uma função?
5) Qual tipo de função devemos utilizar quando não
queremos retornar nada?
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Variáveis Locais

Váriaveis que somente são visiveis no
bloco onde elas foram declaradas.

Por exemplo: variáveis declaradas dentro
de uma função
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Variáveis Globais

Variáveis visíveis em todo o programa.
Por todas as funções em todos os
blocos.
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Passagem de parâmetros por valor
#include <stdio.h>
float sqr (float num);
void main () {
float num,sq;
printf ("Entre com um numero: ");
scanf ("%f",&num);
sq=sqr(num);
printf ("\n\nO numero original e: %f\n",num);
printf ("O seu quadrado vale: %f\n",sq);
}
float sqr (float num) {
num=num*num;
return num;
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Exercício

T7:

Construir um Teclado Virtual Modo Texto.



O teclado deve permitir o cadastro de três tipos de usuários. (geral, administração,
gerencia)
Para cada tipo de usuário um teclado deve ser exibido:

geral: Somente Numeros

Administração: Somente Letras

Gerencia: Letras e Numeros
SE FOR SOMENTE DIGITOS (TOTALIZANDO 10 DIGITOS)


SE FOR CARACTERES (TOTALIZANDO 26 CARACTERES)


5 BOTOES COM 2 NUMEROS POR BOTAO
7 BOTOES : 6 BOTOES COM 4 CARACTERES E 1 BOTAO COM 2 CARACTERES,
TOTALIZANDO OS 7 BOTOES
SE FOR DIGITOS E CARACTERES (TOTALIZANDO 36 DIGITOS + CARACTERES)

6 BOTOES COM 6 DIGITOS E CARACTERES DISTRIBUIDOS POR BOTAO
Professor: Aquiles Burlamaqui
Download

Aula07 - Aquiles Burlamaqui