Programação II. Introdução a Funções. Bruno Feijó Dept. de Informática, PUC-Rio
|
|
- Alícia Nobre Branco
- 5 Há anos
- Visualizações:
Transcrição
1 Programação II Introdução a Funções Bruno Feijó Dept. de Informática, PUC-Rio
2 Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y z Fig I f(x) = x 2 x = 2 f(x) = 4 x z = f(x,y) = x 2 +y 2 x = 2 y = 2 z = 8 O conjunto de todos os valores de entrada de uma função é chamado de DOMÍNIO da função. O conjunto de todos os resultados é chamado de IMAGEM da função. Normalmente a IMAGEM é um subconjunto de um conjunto de resultados possíveis chamado de CONTRADOMÍNIO. A notação é: f: Domínio Contradomínio. Para Fig I temos f: R R e para Fig II temos f: R R R, onde R é o conjunto dos números reais. Domínio Fig II f y Contradomínio x
3 Funções e Procedimentos Uma função matemática lembra uma máquina que recebe valores para os seus argumentos de entrada, processa-os e retorna um valor como saída (Figs A e B). Em computação nós estendemos este conceito permitindo que estas máquinas produzam efeitos colaterais (como escrever uma mensagem no papel) (Fig. C). Eventualmente, até admitimos que a máquina não retorna valor (Fig. D) Fig A Fig B Fig C Fig D Neste caso, podemos dizer que as máquinas deixam de ser equivalentes a funções matemáticas (i.e. deixam de ser FUNCIONAIS) e passam a ser PROCEDIMENTAIS, no sentido de que seguem um procedimento, claro, sequencial e com possíveis efeitos colaterais que afetam o ambiente.
4 Funções e Procedimentos Em C, um procedimento (retornando ou não valores) continua sendo chamado de função (function). Funções que não retornam valor não podem ser usadas em expressões ou como argumentos de outra função. Por exemplo, é possível termos g(f(1,2), 2) e g(h(1,2), 2) mas, não é possível, pois h não retorna valor!!! Em C, o comando return define o que retorna float g(float x, float y) float z = x*x + y*y; printf( %f^2 + %f^2 igual a %f\n,x,y,z); return z; void h(float x, float y) float z = x*x + y*y; printf( %f^2 + %f^2 igual a %f\n,x,y,z); 10+f(1,2) A sintaxe é: tipo_de_retorno nomefuncao(lista_de_argumentos) corpo da função
5 Usando Funções Funções em C recebem VALORES (e não nomes de variáveis) e retornam VALORES. float f(float x, float y) float z = x*x + y*y; printf("%f^2 + %f^2 igual a %f\n",x,y,z); return z; int main(void) float z = 1.0; float w = 2.0; printf("%f\n",10+f(z,w)); /* imprime 15 */ return 0; 4 3 Numa área local e isolada de memória, x recebe o valor de 1.0 e y recebe o valor de 2.0 e g retorna o valor calculado de 5.0. Ao terminar, esta memória local é totalmente apagada! 2 f é chamada com o primeiro argumento igual a 1.0 e o segundo argumento igual a 2.0 1
6 Usando Funções Como são valores que são passados para a função, ela desconhece as variáveis que continham estes valores. Os nomes podem coincidir, mas são variáveis distintas. float dobra(float x) x = 2 * x; return x; são variáveis distintas int main(void) float x = 5.0; printf("%f\n", dobra(x)); /* imprime 10.0 */ printf("%f\n", x); /* imprime 5.0 */ return 0; o valor de x permanece inalterado!! Há uma maneira de fazer com que uma função em C altere o valor de uma variável que pertence ao código que a chamou. Este efeito colateral a torna um PROCEDIMENTO. Isto será visto mais adiante. A possibilidade de alterar valores de variáveis que pertencem a outras funções, torna as funções em C muito poderosas, mas também requerem atenção redobrada (pois alteram o ambiente).
7 Considerações Importantes Algumas linguagens de programação, chamadas LINGUAGENS FUNCIONAIS, como Lisp e Haskell, consideram o ato de computar como sendo o ato de avaliar funções matemáticas, sem que o estado do mundo (e.g. variáveis) seja alterado. Lisp, por exemplo, é uma linguagem que pode ser entendida como sendo simplesmente expressões dentro de expressões que sempre retornam valor. Em oposição, temos linguagens de programação denominadas de Linguagens Procedimentais (tais como C, C++ e Java), que definem PROCEDIMENTOS, isto é: comandos imperativos em uma ordem específica que podem alterar o estado do mundo (e.g. mudanças de valores de variáveis ou efeitos colaterais de uma maneira geral). Porém, todas as linguagens permitem uma fuga para o estilo que lhe é oposto por natureza. Por exemplo, podemos escrever procedimentos em Lisp e funções matemáticas em C. Procedimentos são instrumentos poderosos, mas devem ser usados com cautela, porque as mudanças do estado do mundo podem ser sutis, silenciosas, e erros catastróficos podem passar desapercebidos.... Programar é uma arte poderosa e iniciantes são aprendizes de feiticeiro que devem treinar bastante todas as técnicas!
8 Tipos, Iterações e Recursão n++ usa e depois incrementa ++n incrementa e depois usa x += a significa x = x+a [1] Faça a solução iterativa mais enxuta que você conseguir para a função fatorial, primeiro com int, depois com unsigned int e finalmente com unsigned long long. Quais são os maiores números possíveis? Compare com uma tabela de fatoriais. [2] Compare tempo: recursiva vs iterativa. Solução Recursiva int fat(int n) if (n==0) return 1; else return n*fat(n-1); Solução Iterativa int fat(int n) int f=1; while (n>1) f *= n--; return f; short int int e long long long bits signed unsigned 16-32,768 a +32,767 0 a 65, ,147,483,648 a +2,147,483, ,223,372,036,854,775,808 a +9,223,372,036,854,775,807 0 a 4,294,967,295 0 a +18,446,744,073,709,551,615 Em termos de bytes, divida por 8 (e.g. int usa 32/8 = 4 bytes). O tamanho depende do hardware e do compilador. Use sizeof para saber, e.g.: sizeof(int). Solução Iterativa inteiro maior unsigned long long fat(int n) unsigned long long f=1ul; while (n>1) f *= n--; return f; f = 1LL (é signed long long) no printf: %lld (signed e unsigned)
Introdução a Funções
Introdução a Funções Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y z Fig I f(x) = x 2 x = 2 f(x) = 4 x z = f(x,y) = x 2 +y
Leia maisProgramação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos
Leia maisMCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação
MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Linguagens de programação 2 Linguagem de programação
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de
Leia maisMCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação
MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-2018 Linguagens de programação
Leia maisINF1005: PROGRAMAÇÃO I. Capítulo 12. Ivan Mathias Filho Funções Matemáticas
INF1005: PROGRAMAÇÃO I Capítulo 12 Ivan Mathias Filho ivan@inf.puc-rio.br 1 Funções Matemáticas Função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. O conjunto
Leia maisEstruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisProgramação II RECURSÃO
Programação II RECURSÃO Bruno Feijó Dept. de Informática, PUC-Rio Motivação Escher: Metamorphosis (1937) - Drawing Hands (1948) Relativity (1953) http://www.worldofescher.com/gallery/ Alguém diz: Esta
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia maisINTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima
Leia maisao paradigma imperativo
PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de
Leia maisINF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Leia maisLinguagem C: Elementos fundamentais
Instituto de C Linguagem C: Elementos fundamentais Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Variáveis e Constantes Operadores
Leia maisINTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima
Leia maisProgramação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Leia maisProgramação II. Tipos Estruturados
Programação II Tipos Estruturados Parte 1: struct Parte 2: Ponteiros para Estrutura Estruturas e Memória Bruno Feijó Dept. de Informática, PUC-Rio struct Dados Compostos Até agora tipos simples: char,
Leia maisINTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima
Leia maisAlgoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Prof. Yandre Maldonado - 1 RECURSIVIDADE Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Um objeto é dito recursivo se ele consistir parcialmente ou
Leia maisProgramação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos
Leia maisRevisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
Leia maisAlgoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Prof. Yandre Maldonado - 1 RECURSIVIDADE Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Um objeto é dito recursivo se ele consistir parcialmente ou
Leia maisBruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Recursividade
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Recursividade Conceito de Recursividade Fundamental em Matemática e Ciência da Computação Um programa recursivo é um programa que chama a si mesmo
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisRevisão: Tipo Abstrato de Dados Recursividade
Algoritmos e Estrutura de Dados II Revisão: Tipo Abstrato de Dados Recursividade Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estudo das estruturas de dados envolve dois objetivos complementares:
Leia maisLinguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída
Leia maisProgramação de Computadores II. Cap. 4 Funções
Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisSuponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos
Leia maisRecursividade. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Recursividade David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Conceito de Recursividade Fundamental em Matemática e Ciência da Computação Um programa recursivo é um programa que chama a si
Leia maisALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Leia maisProgramação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Funções
Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída
Leia maisPrincipais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO
Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisMaterial sobre Funções AEDS 1
Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Ponteiros e Funções Funções ou sub-rotinas são parcelas de código que podem ser invocadas a partir do programa principal ou até mesmo por outras sub-rotinas. Elas têm como objetivo a execução de uma tarefa
Leia maisProgramação II. Vetor de Tipo Estruturado e Vetor de Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Vetor de Tipo Estruturado e Vetor de Ponteiros Bruno Feijó Dept. de Informática, PUC-Rio Vetores e Tipos Estruturados Dado um tipo estruturado T (com 3 campos, por exemplo), podemos ter
Leia maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
Leia maisLinguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Leia maisSuponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos
Leia maisEntender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação
Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda
Leia maisLinguagem de Programação C. Prof. Fabrício Olivetti de França
Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite
Leia maisAlocação Dinâmica em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara
Leia mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia mais4. Estruturas Fundamentais de Programação em C
4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente
Leia maisMódulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisSlides trabalhados durante a quinta aula
Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um
Leia maisProgramação II. Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio Quick Sort (Ordenação Rápida) Algoritmo Quick Sort (recursivo) O algoritmo de Quick Sort foi desenvolvido por Sir Charles Hoare
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisIntrodução à Linguagem C Variáveis e Expressões
INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 - A Prof. SIMÃO Jean Marcelo SIMÃO Computador Noção elementar de um computador. - Dipositivo para processar informação. Processador Sistema Operacional (SO) Aplicativos
Leia maisFundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN
Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos
Leia maisLINGUAGEM C: VARIÁVEIS E EXPRESSÕES
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve
Leia maisLinguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS
Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para
Leia maisRecursão David Déharbe
Recursão David Déharbe 1 1 Objetivos da aula O conceito de recursão. Exemplos. Programação em C. 2 2 Roteiro da aula Revisão de funções; Motivação; Definição; Dois exemplos básicos; Recursão mútua; Dois
Leia maisModularidade - Funções e Procedimentos
Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada
Leia maisExpressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada
Leia maisProgramação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Leia maisLISTA DE EXERCÍCIOS MÊS 04
São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto
Leia maisIntrodução à Ciência da Computação scc-120
ICMC USP 1.semestre/2011 Introdução à Ciência da Computação scc-120 Aula : Variáveis em C Profa. Roseli Romero mailto: rafrance@icmc.sc.usp.br Slides cedidos pela profa. Renata Fortes Variáveis variáveis
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.8. Estruturas 3.8.1. Introdução 3.8.2. Uso
Leia maisModularização: Funções em C
Modularização: Funções em C Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan Muitas vezes um problema grande pode ser resolvido mais facilmente se for dividido em pequenas partes. Tratar
Leia maisConhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
Leia maisC Operadores e Expressões
C Operadores e Expressões Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Operadores
Leia maisINF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica
Leia maisSCC Capítulo 2 Recursão
SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis
Leia maisProgramação. Prof Marcelo Zorzan Prof a Melissa Zanatta
Programação - Recursividade - Prof Marcelo Zorzan Prof a Melissa Zanatta É o processo de resolução de um problema, reduzindo-o em um ou mais subproblemas com as seguintes características: - São idênticos
Leia maisProgramação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 7 Sumário: Classificação de tipos de dados Características gerais de tipos de dados compostos Definição de array (ou tabela)
Leia maisA Linguagem C. A forma de um programa em C
A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de
Leia maisLinguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisRecursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Recursão Aula 1 Liana Duenha Faculdade de Computação Universidade Federal de Mato Grosso do Sul Algoritmos e Programação II, Análise de Sistemas, 2010 Martinez & Rubert (FACOM) Recursão APIIAS 1 / 25 Conteúdo
Leia maisLinguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira
Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João
Leia maisALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal
ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito
Leia maisFunções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná
em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/14 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maispuras um ou mais apenas mesmos
Funções Relembrando um dos objetivos do paradigma de programação funcional: Escrever funções puras Na prática, uma função pura apresenta as seguintes características: Possui um ou mais parâmetros; Realiza
Leia maisPermite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.
222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao
Leia maisProgramação II. Vetores Bidimensionais e Vetores de Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Vetores Bidimensionais e Vetores de Ponteiros Bruno Feijó Dept. de Informática, PUC-Rio Array (Vetor) Bidimensional 0 0 1 2 3 4 5 6 7 8 14 1 2 Array (Vetor) Bidimensional vs Ponteiros Quando
Leia maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Leia maisAlgoritmos e Modelação Computacional. Paulo Mateus MEBiom LMAC 2018
Algoritmos e Modelação Computacional Paulo Mateus MEBiom LMAC 2018 Objetivos Edição e compilação de programas Tipos e expressões Declaração de variáveis Atribuição, composição sequencial, iterativa e alternativa
Leia maisREVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
REVISÃO DE C Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REVISÃO DE C Ponteiros Alocação dinâmica de memória Recursão INSTITUTO DE COMPUTAÇÃO - UFF 2 PONTEIROS PONTEIROS C permite o armazenamento
Leia maisPonteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c
Leia maisProgramação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO Introdução Funções são as estruturas que permitem ao usuário separar seus programas em blocos de construção. A principal característica
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.
Leia maisProgramação de Computadores IV. Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques
Programação de Computadores IV Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques 1 Estruturas de repetição Uma ação que se repete várias vezes pode ser tratada através: Repetição de
Leia maisMétodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
Leia maisDeclarações. Identificadores e Tipos de Dados Básicos
Declarações Identificadores e Tipos de Dados Básicos Introdução Um programa em C pode ser visto como uma seqüência de DECLARAÇÕES. De maneira geral, uma DECLARAÇÃO introduz um novo nome - um IDENTIFICADOR
Leia maisAula 4 ESTRUTURAS DE REPETIÇÃO (FOR)
Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle l ESTRUTURA SEQUENCIAL l ESTRUTURAS CONDICIONAIS l l l Estrutura Condicional Simples Estrutura
Leia maisIntrodução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,
Leia maisExercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal
Exercícios 1) Crie uma função que recebe os coeficientes de uma função do 2o. grau e retorna as raízes sem usar vetor. 2) Faça um programa que acha o maior e o menor inteiro dentro de um vetor de 10 inteiros,
Leia maisALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos
Leia mais