Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmo Avançado
Aula 03 - Revisão função e Struct
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Introdução
Objetivoà Programação
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
IMPLEMENTANDO FUNÇÕES
Algoritmo Avançado 4
Agenda
▪ Introdução
▪ Importância do uso de função
▪ Funções da própria linguagem
▪ Funções do desenvolvedor.
▪ Tipo de função
- Com argumentos (parâmetros)
- Sem argumentos (sem
parâmetros)
▪Função simplificada
▪Função complexa
▪ Switch Case
▪As funções do tipo INT e VOID
Algoritmo Avançado 5
Introdução
Algoritmo Avançado 6
Conceito
Algoritmo Avançado 7
Importância do uso de função
- Retornam valores
- Ajudam a fragmentar o código em partes menores
- Mais fáceis de lê e entender a codificação
- Podem ser utilizadas mais de uma vez no mesmo programa.
- Poupa tempo de programação
- Diminuem inúmeras linhas de código.
Algoritmo Avançado 8
Natureza das funções
Quanto a natureza das funções, temos:
- Funções Nativas
As linguagens de programação possuem funções de natureza nativa,
ou seja, funções que incorporam a própria linguagem
Ex. main( );
- Funções do Desenvolvedor
Já as funções implementadas pelo desenvolver são estruturas de
códigos implementados para a solução de problema especifico.
Ex. ValidaCPF ( );
Algoritmo Avançado 9
Sintaxe
Introdução
Conceitos básica de uma Função
à Programação
Exemplo:
O formato geral da definição de uma função é:
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Funções nativas da linguagem
➢ Exemplos:
Algoritmo Avançado 11
Função do desenvolvedor
Exemplos:
➢ A função linha(): utilizada para construir uma linha no programa.
➢ A função soma() : utilizada para somar dois valores e imprimir alguma
saída na tela do usuário.
➢ A função CadastroFornecedor () : utilizada para cadastar informações do
fornecedor.
➢ A função CadastroProduto() :utilizada para cadastrar um produto.
➢ Dentre outras.
Algoritmo Avançado 12
Tipo de Função
Algoritmo Avançado 13
Exemplo de função
int MolduraCabecalho(){
int j;
for (j=1;j<=49;j++)
printf("\xDB");
printf("\n");
} 14
Exemplo de função
#include <stdlib.h>
#include <stdio.h>
#include <conio.h> int main(){
int MolduraCabecalho(){ CadastroCliente();
int j; return 0;
for (j=1;j<=49;j++) }
printf("\xDB");
printf("\n");
}
int CadastroCliente (){
Cli:
char CliSim, nome[80], endereco[80], contato[80];
system("cls");
MolduraCabecalho();
printf("\xDB MENU PESSOAS \xDB\n");
printf("\xDB_______________________________________________\xDB\n");
printf("\xDB 1 - CADASTRO DE CLIENTE \xDB\n");
printf("\xDB_______________________|_______________________\xDB\n");
printf("\xDB 5 - PARA SAIR \xDB\n");
printf("\xDB_______________________________________________\xDB\n");
MolduraCabecalho();
printf("Nome...........:");
gets(nome);
printf("Endereco......:");
gets(endereco);
printf("Contato.......:");
scanf("%s", &contato);
printf("Deseja Cadastrar outro cliente? S-Sim ou N-Nao");
scanf("%s", &CliSim);
if (CliSim=='S'||CliSim=='s'){
goto Cli; 15
}else exit; {
Exemplo de função
Algoritmo Avançado 19
Função int e void
Algoritmo Avançado 20
Introdução
Conceitos à Programação
Registros Struct
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Registros
Introdução
Conceitos àStruct-Conceito
Programação
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Registros
Introdução
Conceitos àStruct
Programação
Struct CadastroPessoa
{
Exemplos: int idade ;
carro possui cor, marca, ano, placa, chassi. float altura ;
float peso ;
pessoa possui nome, idade, endereço. char nome[ 5 0 ] ;
} pessoa ;
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Registros Struct
Algoritmo Avançado
Registros Struct
Exemplo
/ / Esta declaracao fica antes de int main ( )
Struct {
int idade ; Este exemplo declara uma variável chamada
floa t altura ; “pessoa”, que contem 4 campos (nome, altura,
idade e peso). Para usar cada um dos campos, usa-
floa t peso ; se a sintaxe nome_da_variável.nome_do_campo.
char nome [ 5 0 ] ; Por exemplo.
} pessoa ; printf ( " Digite a idade da pessoa : " ) ;
scanf ( "%d " , &pessoa . idade )
Algoritmo Avançado
Registros Struct
Para se declarar múltiplas variáveis, usa-se o nome da estrutura como o tipo destas
variáveis.
struct dadosPessoa{
int idade ;
floa t altura ;
floa t peso ;
char nome [ 5 0 ] ;
};
int main ( ) {
struct dadosPessoa pessoa1 ;
printf ( " Digite a idade da pessoa 1: " ) ;
scanf ( "%d " , &pessoa1 . idade ) ;
}
Algoritmo Avançado
Registros Struct
Para se declarar um vetor, usa-se o nome da estrutura como o tipo desta variável.
st ruct dadosPessoa {
int idade ;
float altura ;
floa t peso ; Nessa estrutura serão armazenados
char nome [ 5 0 ] ; 100 registros. O laço de repetição
}; fará o controle sobre a quantidade
int main ( ) { de vezes que os registros serão
int i ; repetidos.
struct dadosPessoa alunos [100] ;
for ( i = 0; i < 100; i ++) {
printf ( " Digite a idade da pessoa %d : " , i ) ;
scanf ( "%d " , &alunos [ i ] . idade ) ;
}
}Algoritmo Avançado
ATIVIDADE PRÁTICA NA PRÓXIMA AULA
Algoritmo Avançado
Introdução à Programação
Bibliografia básica
Ascencio, Ana Fernanda Gomes; Araújo, Graziela Santos de. Estruturas de Dados.
Algoritmos, Análise da Complexidade e Implementações em Java e C/C++ [BV:PE].
1. ed. São Paulo: Pearson, 2013.
Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf
Drozdek, Adam. Estrutura de dados e algoritmos em C++ [BV:MB].. 4. ed. São
Paulo,: Cengage Learning,, 2016..
Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0.
00:0.00
Manzano, Jose´ Augusto N. G. Algoritmos - Lógica para Desenvolvimento de
Programação de Computadores [BV:MB].. 28. ed. -. Sa~o Paulo: E´rica,, 2016..
Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788536518657/cfi/0!/4/4@0.
00:0.00
Algoritmo
AULA Avançadoà Lógica de Programação
01: Introdução
Bibliografia
Introdução complementar
à Programação
ANDRADE, Mairum Ceoldo. Algoritmos [BV:RE]. 1. ed. Rio de Janeiro: SESES, 2014. Disponível em:
http://repositorio.savaestacio.com.br/site/index.html#/objeto/detalhes/377757CE-7C5A-
438D-A742-482DDDC54D12
Ascencio, Ana Fernanda Gomes. Estrutura de Dados: Algoritmos, Análise da
complexidade e implementações em Java e C/C++[BV:PE]. 1ª ed. São Paulo: Pearson
Pentice Hall, 2010. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf
Damas, Luís. Linguagem C / Luís Damas ; tradução João Araújo Ribeiro, Orlando
Bernardo Filho.[BV:MB]. 10.ed. - [Reimpr.].. Rio de Janeiro: LTC,, 2016. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788521632474/cfi/6/2!/4/2/2@0:0
Drozdek, Adam. Estrutura de dados e algoritmos em C++ / Adam Drozdek ;
tradução: Roberto Enrique Romero Torrejon; revisão técnica: Flávio Soares
Corrêa da Silva. [BV:MB]. 4a ed. São Paulo,: Cengage Learning., 2016. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0.00:0.00
MELO,Ana. Silva,Flavio. Princípios de linguagem de programação[BV:PE]. 1ª
Edição. Rio de Janeiro: Blucher, 2019.
Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/172605/pdf
Projeto
01: eIntrodução
Algoritmo
AULA Otimização
Avançadoà em D de Programação
Lógica