Algoritmos e Programação

Documentos relacionados
CADERNO DE EXERCÍCIOS ALGORITMOS

Exercícios Repetição

ALGORITMOS I. Procedimentos e Funções

Algoritmos e Programação

Conhecendo a Linguagem de Programação C

Linguagem C estruturas de repetição

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Encapsulamento de Código: Funções e Procedimentos

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Algoritmos e Programação

Modularidade - Funções e Procedimentos

Algoritmos e Programação

Introdução a Computação

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Algoritmos e Programação

Aula 07 Introdução à Programação Subprogramas

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Aula 7: Estrutura de Decisão

Introdução a Programação de Jogos

Algoritmos Estrutura Condicional

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Curso de C para Engenharias

Sub-rotinas David Déharbe

Aula 1 Apresentação do Curso

Algoritmos e Programação

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF029 Laboratório de Programação Aula 02: Modularização

1ª Lista de Exercícios

Faculdade de Computação

Linguagem de Programação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Computação eletrônica: Funções

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

Programação: Vetores

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Programação Básica. Estrutura de um algoritmo

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Aula 15 - Aula sobre Funções e Procedimentos

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Comandos em C (cont.)

Linguagem C: Introdução

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Introdução a Computação

LINGUAGEM 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.

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

Aula 2 Comandos de Decisão

Variáveis, Tipos de Dados e Operadores

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Linguagem C. André Tavares da Silva.

Estruturas Condicionais

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é:

Introdução à Computação

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Algoritmos e Programação

O que é a modularização

Linguagem C (estruturas condicionais)

Algoritmos e Programação

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

1 Exercícios com ponteiros

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Sub-algoritmos (ou Funções)

Linguagem C Estruturas de Repetição

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Linguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat)

Linguagem de Programação I. Aula 10 Funções

Linguagem C. Funções. Prof. Maurício Dias

Computação eletrônica: Estruturas de repetição

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Estruturas de Repetição WHILE e DO- WHILE

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

Subprogramas. Prof. Carlos Lopes

Fundamentos de Programação1

Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO

3. Linguagem de Programação C

C Comandos de Controle

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Algoritmos e Programação

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

Exercícios: Comandos de Repetição

Treinamento Olimpíada Brasileira de Informática

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Explicação do programa:

Transcrição:

Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1

Modularização Facilita a construção de grandes programas através da divisão em pequenas etapas: módulos (subrotinas ou subprogramas). Programas simples: sequência de instruções para resolver um problema, dirigidas por estruturas de controle. Ex.: Estruturas de condição e repetição Programas complexos: Variedade de situações a serem resolvidas ou uma série de pequenos problemas cujas soluções integram o conjunto definitivo de instruções. Ex.: Um programa de computador com vários módulos. 22/06/2017 Engenharia de Computação - Unipampa 2

Modularização Vantagens da modularização: Permite que trechos do programa possam ser reutilizados em diferentes partes do programa ou em novos programas. As partes do programa podem ser escritas e testadas separadamente. Pode suprimir do bloco principal particularidades da implementação. detalhes e Ex.: printf, scanf 22/06/2017 Engenharia de Computação - Unipampa 3

Funções Na Linguagem C, basicamente, a modularização é tratada como função. Trecho de código de um programa projetado para cumprir uma tarefa específica, que pode ou não retornar um valor. Pode estar no mesmo arquivo ou em arquivos separados. O seu uso envolve três passos: Declaração (protótipo): antes do main() Defnição (código da função): antes ou depois do main() Ativação (chamada): dentro do main() ou de uma outra função 22/06/2017 Engenharia de Computação - Unipampa 4

Funções (declaração) Sintaxe da declaração: tipo nome_da_função (parâmetros); Tipo: é o tipo da informação retornada da função; se a função não retornar nada, seu tipo deve ser void. Neste caso chamamos de procedimento ao invés de função. Parâmetros: lista de tipos (e variáveis) que serão passados como argumentos para a função; pode ser vazio (void). 22/06/2017 Engenharia de Computação - Unipampa 5

Funções (definição) Sintaxe da defnição: tipo nome_da_função (parâmetros) { declaração de variáveis; comandos; return (expressão); //opcional } A primeira linha é idêntica à declaração. O return serve para indicar o valor a ser retornado, se for o caso, e pode aparecer em qualquer ponto da função (não apenas no fnal) e em mais de um ponto. 22/06/2017 Engenharia de Computação - Unipampa 6

Funções (ativação) Formas de ativação de funções: Exemplos 22/06/2017 Engenharia de Computação - Unipampa 7

Funções (ativação) A ativação faz com que o controle seja transferido para o trecho chamado (primeira instrução) e executa até o fim do trecho (última instrução). Ao final da função, o controle volta para instrução seguinte à chamada. 22/06/2017 Engenharia de Computação - Unipampa 8

Variáveis e funções Uma função pode fazer referência a variáveis: Declaradas localmente: variáveis locais da unidade Declaradas globalmente: variáveis globais do programa 22/06/2017 Engenharia de Computação - Unipampa 9

Exemplo 22/06/2017 Engenharia de Computação - Unipampa 10

Formas de utilização Exemplo de função sem retorno de valor (procedimento): 22/06/2017 Engenharia de Computação - Unipampa 11

Formas de utilização Exemplo de função com retorno de valor: 22/06/2017 Engenharia de Computação - Unipampa 12

Formas de utilização Exemplo de função com retorno de valor: 22/06/2017 Engenharia de Computação - Unipampa 13

Exercícios 1. Estude o seguinte programa e aponte o valor de cada variável que solicitado: 22/06/2017 Engenharia de Computação - Unipampa 14

Exercícios 2. Escreva um programa que exiba uma mensagem de boas-vindas através de um procedimento (função que não retorna um valor). gets(nome); //Fulano -Ex. de saída: Bem-vindo, Fulano! 3. Escreva um programa que peça um número e mostre o seu antecessor através de uma função: scanf( %d, &num); //10 -Ex. de saída: Antecessor = 9. 22/06/2017 Engenharia de Computação - Unipampa 15

Exercícios 4. Faça um procedimento que receba um número inteiro por parâmetro e informe se ele é par, ímpar ou zero. 5. Escreva um programa para ler as notas das três avaliações de um aluno no semestre. Também faça uma função que receba as notas por parâmetro e calcule a média semestral. Por fm, no programa principal, escreva e a mensagem PARABÉNS! Você foi aprovado! se o aluno obteve a média maior ou igual a 6, senão, exiba Você foi reprovado!. 6. Escreva uma função que receba 2 números inteiros n1 e n2 como entrada e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use esta função em um programa que lê n1 e n2 do usuário e imprime a soma. Ex. de saída: n1 = 1 n2 = 3 Soma: 6 22/06/2017 Engenharia de Computação - Unipampa 16

Exercícios 7. Faça uma função que calcule o IMC (peso/altura²) de uma pessoa e conforme o seu retorno classifique, no programa principal, conforme a tabela abaixo: 8. Escreva uma função (e programa) que converta radianos para graus e retorne o valor para o usuário. Fórmula: graus = (radianos * 180)/pi 22/06/2017 Engenharia de Computação - Unipampa 17

Exercícios 9. Faça um programa de calculadora com as operações básicas: adição, subtração, multiplicação e divisão. O programa inicia apresentando um menu de opções como mostrado abaixo. Posteriormente, o usuário deve digitar 2 valores: Calculadora v1.0 1. Adição 2. Subtração 3. Multiplicação 4. Divisão 5. Sair do programa Digite a opção desejada: ********************************************************** *********** *Dica: a) O programa principal chama a função conforme a opção do usuário, deve se criar uma função para cada operação. b) Uma outra maneira é fazer uma única função que receba 2 valores a serem calculados juntamente com um valor referente a operação desejada. 22/06/2017 Engenharia de Computação - Unipampa 18

Exercícios 10. Escreva uma função (e programa) que receba como argumentos uma cadeia de caracteres (s) e um caracter (c). A função deve retornar como resultado o número de vezes que (c) aparece em (s). - Ex. de saída: s = unipampa c = p O número de vezes que p aparece em unipampa é 2. *Dica: Para comparar os valores da palavra (string) com o caracter (char), podemos fazer de duas maneiras diferentes: a) através de um while enquanto não chegar no fnal da string (\0) b) através de um for que inicia em zero e vai até tamanho da string (strlen) menos um. 22/06/2017 Engenharia de Computação - Unipampa 19