Introdução à Programação de Computadores para Biologia. Subrotinas

Tamanho: px
Começar a partir da página:

Download "Introdução à Programação de Computadores para Biologia. Subrotinas"

Transcrição

1 Introdução à Programação de Computadores para Biologia Subrotinas FUNÇÕES PRÉ-DEFINIDAS Código para realizar uma tarefa específica Exemplos de funções que já vimos $newstring = substr = split (/\t/,$line); #retorna uma substring #quebra uma linha em um array push (@array, $num); #encaixa uma variável no fim #de um array chop($string); $primeiro = shift(@array); # remove último caracter # remove e retorna o primeiro # elemento de um array 1

2 FUNÇÕES PRÉ-DEFINIDAS Código para realizar uma tarefa específica Funções tem argumentos e retornam valores $newstring = substr ($str,1,4); Valor retornado: A função substr retorna uma string Argumentos: (STRING, INÍCIO, COMPRIMENTO) Função definida pelo usuário 2

3 Função definida pelo usuário Organização (manter, atualizar, Divisão de trabalho (simplificar) sub SUB_NAME { # Fazer alguma coisa sub printhello { print "Hello World!\n"; sub bark { print "Au-Au\n"; Função definida pelo usuário Organização (manter, atualizar, compar@lhar) Divisão de trabalho (simplificar) 3

4 Definição pelo usuário Em qualquer ponto do script Geralmente, todas juntas, no início ou fim # Sintaxe da definicao de subrotinas, separadas do script principal # Antes de cada subrotina, um comentario detalhado com o nome da subrotina, sua funcao, os inputs e outputs sub subname { # Bloco de comandos para fazer alguma coisa # Nao esquecer a indentacao! Definição pelo usuário Em qualquer ponto do script Geralmente, todas juntas, no início ou fim # Sintaxe da definicao de subrotinas, separadas do script principal # Antes de cada subrotina, um comentario detalhado com o nome da subrotina, sua funcao, os inputs e outputs sub subname { # Bloco de comandos para fazer alguma coisa # Nao esquecer a indentacao! 4

5 Definição pelo usuário Em qualquer ponto do script Geralmente, todas juntas, no início ou fim # Sintaxe da definicao de subrotinas, separadas do script principal # Antes de cada subrotina, um comentario detalhado com o nome da subrotina, sua funcao, os inputs e outputs sub subname { # Bloco de comandos para fazer alguma coisa # Nao esquecer a indentacao! Chamada da subrotina Em qualquer ponto do script Podem ser passados argumentos A subro@na pode retornar valores subname(); subname($arg, "arg", 1); $res = subname($arg, "arg", = subname($arg, "arg", 1); # nao sao passados argumentos # nenhum valor eh retornado # sao passados 3 argumentos # nenhum valor eh retornado # sao passados 3 argumentos # retorna uma escalar # sao passados 3 argumentos # retorna um array 5

6 Utilização 1. No Eclipse, New > New Perl Project; aula08 2. No Eclipse, New > New Perl File; exemplo01.pl 2. Copiar #exemplo01 da página da disciplina; 3. a em um script; 4. Qual a função da subro@na? Utilização Exemplo1.pl #/usr/bin/perl/ exemplo01(); sub exemplo01 { for ($i = 0; $i < 40; $i++) { $base = int(rand(4)); if ($base == 0) { print "A"; next; if ($base == 1) { print "T"; next; if ($base == 2) { print "C"; next; if ($base == 3) { print "G"; next; print "\n"; 6

7 Utilização Exemplo1.pl Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Darwin:~ Tatiana$ perl exemplo01.pl >>out.txt Utilização out.txt CAAACCAGCCCTGAGCGTCCGTTTACGAAACGACCGCCCA GTCGTGATCTGTAGATCGTACACGTGCCGCATTTTACAAT GGCCAGACGTGCGAGGAAAGTAGTAAAAGGCGATCTGTTG GATGTTTTAGTCATACCACCGATAGTTTCCTTGATGTCTT TTGGAATAGTATACTGTACGCTATTGCTGAGGTGCCGCCC TTTCTACAACGACTACTACGCCACCACTTCGGCGGGGTGC AATAAGGTCAATAGTGTTGATATTGCCTAATTTCGAAGTC CCCGTTCTGGTGGTCTCTAGCGCGCCCTCGGACGCCGACG AGTTCTTGGCTTCGGTTTGTTTGTCAGATTATGCGATTCA GATAACAACTCGATCCAGTACCTGTACCACGGTAGTCTCC 7

8 Argumentos No Eclipse, alterar a subro@na para passar como argumento, o tamanho desejado da sequencia; Use a subro@na passando o argumento de 100 nt. recebe os argumentos de subro@nas Argumentos No Eclipse, alterar a subro@na para passar como argumento, o tamanho desejado da sequencia; Use a subro@na passando o argumento de 100 nt. #/usr/bin/perl/ seqaleatoria(100); sub seqaleatoria { $tamanho = $_[0]; for ($i = 0; $i < $tamanho; $i++) { $base = int(rand(4)); if ($base == 0) { print "A"; next; if ($base == 1) { print "T"; next; if ($base == 2) { print "C"; next; if ($base == 3) { print "G"; next; print "\n"; 8

9 Alguns truques 1. No Eclipse, New > New Perl File; seqaleatoria.pl 2. Copiar #exemplo02 da página da disciplina; 3. Execute o script; 4. Qual a função do comando "$length = shir 40;"? 5. Qual a função do bloco "unless ($i%70) {print"\n";"? Alguns truques seqaleatoria.pl #/usr/bin/perl/ seqaleatoria(200); seqaleatoria(); sub seqaleatoria { $tamanho = shift 40; for ($i = 0; $i < $tamanho; $i++) { unless ($i%70) { print "\n" ; $base = int(rand(4)); if ($base == 0) { print "A"; next; if ($base == 1) { print "T"; next; if ($base == 2) { print "C"; next; if ($base == 3) { print "G"; next; print "\n"; 9

10 Alguns truques seqaleatoria.pl #/usr/bin/perl/ seqaleatoria(200); sub seqaleatoria { $tamanho = shift 40; for ($i = 0; $i < $tamanho; $i++) { unless ($i%70) { print "\n" ; $base = int(rand(4)); if ($base == 0) { print "A"; next; if ($base == 1) { print "T"; next; if ($base == 2) { print "C"; next; if ($base == 3) { print "G"; next; print "\n"; print vs return 10

11 print vs return 1. No Eclipse, New > New Perl File; exemplo01.pl 2. Copiar #exemplo03 da página da disciplina. 1. No Eclipse, New > New Perl File; soma.pl 2. Copiar #exemplo03 da página da disciplina. soma(12, 20); sub soma { ($n1, $n2) $res = $n1 + $n2; print $res; print vs return 11

12 print vs return E se quisermos u@lizar o valor da soma em outra etapa do script? $valor = soma(12, 20); $resultado = $valor*5; print "$resultado\n"; print vs return E se quisermos u@lizar o valor da soma em outra etapa do script? Alterar a subro@na soma para retornar o valor. $valor = soma(12, 20); $resultado = $valor*5; print "$resultado\n"; 12

13 print vs return E se quisermos u@lizar o valor da soma em outra etapa do script? Alterar a subro@na soma para retornar o valor. sub soma { ($n1, $n2) $res = $n1 + $n2; print $res; print vs return E se quisermos u@lizar o valor da soma em outra etapa do script? Alterar a subro@na soma para retornar o valor. $valor = soma(12, 20); $resultado = $valor*5; print "$resultado\n"; sub soma { ($n1, $n2) $res = $n1 + $n2; return $res; 13

14 print vs return seqaleatoria.pl #/usr/bin/perl/ seqaleatoria(200); sub seqaleatoria { $tamanho = shift 40; for ($i = 0; $i < $tamanho; $i++) { unless ($i%70) { print "\n" ; $base = int(rand(4)); if ($base == 0) { print "A"; next; if ($base == 1) { print "T"; next; if ($base == 2) { print "C"; next; if ($base == 3) { print "G"; next; print "\n"; print vs return Como u@lizar o resultado da subro@na seqaleatoria em uma segunda etapa do script? Exemplo 04, fazer complemento reverso: ALGORITMO: 1. Gerar sequência aleatória; 2. Inverter a sequência; 3. Gerar o complemento. 14

15 print vs return Como o resultado da seqaleatoria em uma segunda etapa do script? Exemplo 04, fazer complemento reverso: ALGORITMO: 1. Gerar sequencia aleatória; 2. Inverter a sequencia; 3. Gerar o complemento. Copiar exemplo 4; Alterar a subro@na seqaleatoria para retornar a sequência gerada. comseqaleatoria.pl #/usr/bin/perl/ print vs return # gerar sequencia aleatoria com a subrotina seqaleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for ($i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; 15

16 comseqaleatoria.pl print vs return sub seqaleatoria { $seq = ""; $tamanho = shift 40; for ($i = 0; $i < $tamanho; $i++) { $base = int(rand(4)); if ($base == 0) { $seq.= "A"; next; if ($base == 1) { $seq.= "T"; next; if ($base == 2) { $seq.= "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; Alguns truques 1. No Eclipse, New > New Perl File; local_global.pl 2. Copiar #exemplo05 da página da disciplina 16

17 GLOBAL vs LOCAL my vs our local_global.pl O que aconteceu com $valor? # $valor como variavel global $valor = 0; print "Antes da subrotina, valor \= $valor.\n"; soma(12, 20); print "Antes da subrotina, valor \= $valor.\n"; sub soma { ($n1, $n2) $valor = $n1 + $n2; GLOBAL vs LOCAL my vs our local_global.pl O que aconteceu com $valor? # $valor como variavel local $valor = 0; print "Antes da subrotina, valor \= $valor.\n"; soma(12, 20); print "Antes da subrotina, valor \= $valor.\n"; sub soma { ($n1, $n2) my $valor = $n1 + $n2; 17

18 Declarando variáveis GLOBAL vs LOCAL my vs our # Declarando variáveis my $x; # OK my $x, $y, $z; # INCORRETO my ( $x, $y, $z ); # OK my $x; my $y; my $z; # OK # Inicializando variáveis my $x = 0; # OK my $x = ""; # OK my $x = my $y = my $z = 0; # OK my $x = my $y = my $z = ""; # OK PERL SCRIPT ESTRUTURA Minha estrutura preferida: #!/caminho/para/perl # cabecalho do script # declaracao e inicializacao de variaveis # captura dos argumentos # corpo do script # subrotinas Ver exemplo06 na página da disciplina; 18

19 exemplo06: PERL SCRIPT ESTRUTURA ## ## ## ## ## SCRIPT: seqaleatoria.pl ## ## ## ## DESCRIPTION: script para exemplificar subrotinas ## ## ## ## USAGE: perl seqaleatoria.pl ## ## ## ## AUTHOR: Tatiana Torres tttorres at ib.usp.br ## ## ## ## ## use strict; ## Declaracao de variaveis my $tamanho; my $sequencia; my $revseq; exemplo06: PERL SCRIPT ESTRUTURA ## MAIN ## # criar a sequencia aleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for (my $i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; 19

20 exemplo06: PERL SCRIPT ESTRUTURA ## ## ## subrotina para gerar sequencias aleatorias de nucleotideos ## argumento: tamanho da sequencia (numero de nucleotideos) ## retorna: string com uma sequencia aleatoria sub seqaleatoria { my $seq = ""; my $tamanho = shift 40; # default: $tamanho = 40 for (my $i = 0; $i < $tamanho; $i++) { my $base = int(rand(4)); if ($base == 0) { $seq.= "A"; next; if ($base == 1) { $seq.= "T"; next; if ($base == 2) { $seq.= "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; exemplo06: PERL SCRIPT ESTRUTURA ## ## ## subrotina para gerar sequencias aleatorias de nucleotideos ## argumento: tamanho da sequencia (numero de nucleotideos) ## retorna: string com uma sequencia aleatoria sub seqaleatoria { my $seq = ""; my $tamanho = shift 40; # default: $tamanho = 40 for (my $i = 0; $i < $tamanho; $i++) { my $base = int(rand(4)); if ($base == 0) { $seq.= "A"; next; if ($base == 1) { $seq.= "T"; next; if ($base == 2) { $seq.= "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; 20

21 PASSANDO e referências $valor = soma(1,4,6,7,9); Argumentos $_[0] tem valor 1 $_[1] tem valor 4 $_[2] tem valor 6 $_[3] tem valor 7 $_[4] tem valor 9 PASSANDO e referências $seq = restricao("ecori", "HaeIII", "HindIII"); Argumentos $_[0] tem valor EcoRI $_[1] tem valor HaeIII $_[2] tem valor HindIII 21

22 PASSANDO e = ("EcoRI", "HaeIII", = ("GAATTC", "GGCC", "AAGCTT"); $sequencia = PASSANDO e = ("EcoRI", "HaeIII", = ("GAATTC", "GGCC", "AAGCTT"); $sequencia = Argumentos $_[0] tem valor EcoRI $_[1] tem valor HaeIII $_[2] tem valor HindIII $_[3] tem valor GAATTC $_[4] tem valor GGCC $_[5] tem valor AAGCTT 22

23 PASSANDO ARGUMENTOS exemplo07 (solução e referências ## MAIN ## $sequencia = ## ## sub restricao { my $lastindex = shift; for (my $i = 0; $i <= $lastindex; $i++) { $nome[$i] = shift; $lastindex = shift; for (my $i = 0; $i <= $lastindex; $i++) { $sitio[$i] = shift; # bloco de comandos para usar os arrays PASSANDO e referências exemplo08 (solução 2, passando referencias): ## MAIN ## $sequencia = restricao(\@nome, \@sitio); ## ## sub restricao { my ($ref1, $ref2) # bloco de comandos para usar os arrays print "@nome\n"; print "@sitio\n"; 23

24 PASSANDO ARGUMENTOS REFERÊNCIAS Passando referência de arrays: Usando arrays: sub subrotina { my ($arrref) #... Passando referência de hash: subrotina(\%hash); Usando hashes: sub subrotina { my ($hashref) my %hash = %{$hashref; #... RETORNANDO VARIÁVEIS REFERÊNCIAS Retornando referência de arrays: sub listatel { $info[0] = <STDIN>; #nome $info[1]= <STDIN>; #tel return \@info; Retornando referência de hashes: sub listatel { my %info; $info{"nome" = <STDIN>; $info{"tel" = <STDIN>; return \%info; Recuperando arrays no script: my $telref = listatel(); Recuperando hashes no script: my $telref = listatel(); my %tel = %{$telref; 24

25 MÓDULOS Conjunto de subrotinas comseqaleatoria.pl MÓDULOS Conjunto de subrotinas aula08.pm ## Modulo com as minhas subrotinas ## Script para exemplificar subrotinas use strict; use aula08; ## Declaracao de variaveis my $tamanho; my $sequencia; my $revseq; # criar a sequencia aleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for (my $i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; ## modulo aula08 sub seqaleatoria { sub seqaleatoria { $seq = ""; $tamanho $seq = ""; = shift 40; for $tamanho ($i = = 0; shift $i < $tamanho; 40; $i++) { for ($i $base = 0; = int(rand(4)); $i < $tamanho; $i++) { if $base ($base = int(rand(4)); == 0) { $seq.= "A"; next; if ($base == 1) 0) { $seq.= "T"; "A"; next; if ($base == 2) 1) { $seq.= "C"; "T"; next; if ($base == 3) 2) { $seq.= "G"; "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; return $seq; sub soma { ($n1, $n2) $valor = $n1 + $n2; return $valor; 1; 25

26 comseqaleatoria.pl MÓDULOS Conjunto de subrotinas aula08.pm ## Modulo com as minhas subrotinas ## Script para exemplificar subrotinas use strict; use aula08; ## Declaracao de variaveis my $tamanho; my $sequencia; my $revseq; # criar a sequencia aleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for (my $i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; ## modulo aula08 sub seqaleatoria { sub seqaleatoria { $seq = ""; $tamanho $seq = ""; = shift 40; for $tamanho ($i = = 0; shift $i < $tamanho; 40; $i++) { for ($i $base = 0; = int(rand(4)); $i < $tamanho; $i++) { if $base ($base = int(rand(4)); == 0) { $seq.= "A"; next; if ($base == 1) 0) { $seq.= "T"; "A"; next; if ($base == 2) 1) { $seq.= "C"; "T"; next; if ($base == 3) 2) { $seq.= "G"; "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; return $seq; sub soma { ($n1, $n2) $valor = $n1 + $n2; return $valor; 1; MÓDULOS Conjunto de subrotinas No terminal Darwin:Aula08 Tatiana$ perl seqaleatoria.pl Can't locate aula08.pm (@INC contains: /Library/ Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 / Network/Library/Perl/5.12/darwin-thread-multi-2level / Network/Library/Perl/5.12 /Library/Perl/Updates/ / System/Library/Perl/5.12/darwin-thread-multi-2level / System/Library/Perl/5.12 /System/Library/Perl/Extras/ 5.12/darwin-thread-multi-2level /System/Library/Perl/ Extras/5.12.) at seqaleatoria.pl line 16. BEGIN failed--compilation aborted at seqaleatoria.pl line 16. Darwin:Aula08 Tatiana$! 26

27 MÓDULOS Conjunto de subrotinas No terminal Darwin:Aula08 Tatiana$ perl seqaleatoria.pl Can't locate aula08.pm contains: /Library/ Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 / Network/Library/Perl/5.12/darwin-thread-multi-2level / Network/Library/Perl/5.12 /Library/Perl/Updates/ / System/Library/Perl/5.12/darwin-thread-multi-2level / System/Library/Perl/5.12 /System/Library/Perl/Extras/ 5.12/darwin-thread-multi-2level /System/Library/Perl/ Extras/5.12.) at seqaleatoria.pl line 16. BEGIN failed--compilation aborted at seqaleatoria.pl line 16. Darwin:Aula08 Tatiana$! No terminal MÓDULOS Conjunto de subrotinas Darwin:Aula08 Tatiana$ perl -V ###varias /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 /Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/ /System/Library/Perl/5.12/darwin-thread-multi-2level /System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12. Darwin:Aula08 Tatiana$! 27

28 comseqaleatoria.pl MÓDULOS Conjunto de subrotinas aula08.pm ## Modulo com as minhas subrotinas ## Script para exemplificar subrotinas use lib '/Users/Tatiana/eclipse/modulos/'; use strict; use aula08; ## Declaracao de variaveis my $tamanho; my $sequencia; my $revseq; # criar a sequencia aleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for (my $i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; ## modulo aula08 sub seqaleatoria { sub seqaleatoria { $seq = ""; $tamanho $seq = ""; = shift 40; for $tamanho ($i = = 0; shift $i < $tamanho; 40; $i++) { for ($i $base = 0; = int(rand(4)); $i < $tamanho; $i++) { if $base ($base = int(rand(4)); == 0) { $seq.= "A"; next; if ($base == 1) 0) { $seq.= "T"; "A"; next; if ($base == 2) 1) { $seq.= "C"; "T"; next; if ($base == 3) 2) { $seq.= "G"; "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; return $seq; sub soma { ($n1, $n2) $valor = $n1 + $n2; return $valor; 1; Alguns truques 1. No Eclipse, New > New Perl File; testemodulo.pl 2. No Eclipse, New > New Perl File; aula08.pm 3. Alterar o exemplo06 para que as subro@nas sejam transferidas para o modulo aula08.pm 28

29 comseqaleatoria.pl MÓDULOS Conjunto de subrotinas aula08.pm ## Modulo com as minhas subrotinas ## Script para exemplificar subrotinas use lib qw(/users/tatiana/eclipse/aula08/); use strict; use aula08; ## Declaracao de variaveis my $tamanho; my $sequencia; my $revseq; # criar a sequencia aleatoria $tamanho = 200; $sequencia = seqaleatoria($tamanho); # inverter a sequencia $revseq = reverse($sequencia); # gerar o complemento reverso $revseq =~ tr/atcg/atcg/; # imprimir (fasta) print "\>seq\n"; for (my $i = 0; $i < $tamanho; $i+=70) { print substr($revseq,$i,70), "\n"; ## modulo aula08 sub seqaleatoria { sub seqaleatoria { $seq = ""; $tamanho $seq = ""; = shift 40; for $tamanho ($i = = 0; shift $i < $tamanho; 40; $i++) { for ($i $base = 0; = int(rand(4)); $i < $tamanho; $i++) { if $base ($base = int(rand(4)); == 0) { $seq.= "A"; next; if ($base == 1) 0) { $seq.= "T"; "A"; next; if ($base == 2) 1) { $seq.= "C"; "T"; next; if ($base == 3) 2) { $seq.= "G"; "C"; next; if ($base == 3) { $seq.= "G"; next; return $seq; return $seq; sub soma { ($n1, $n2) $valor = $n1 + $n2; return $valor; 1; EXERCÍCIOS 1 Fazer uma subro@na para ler arquivos no formato FASTA e uma segunda subro@na para imprimir as sequências também no formato FASTA, mas com o número de caracteres por linha indicado pelo usuário. 2A. Usando o arquivo de saida do blast da aula passada (chom_out_blast_res.txt), fazer um script que imprima os Hits que apresentem Evalue menor que 1e05. Nao imprima somente o BestHit. Use uma subro@na para verificar se o Evalue é menor que 1e B. Mude o script para que o valor limite (máximo) do Evalue a ser selecionado seja passado por parâmetro na chamada do programa. A subro@na deverá retornar a linha com o Hit que foi selecionado. Imprima o Hit fora da subro@na. 3. Combinando 1 e 2. Ler a saída do BLAST e o arquivo de sequências; gerar a tabela com os hits abaixo do Evalue desejado e produzir uma saída com as sequências das queries selecionadas. 29

30 (0,5 P2) Fazer um SCRIPT para: DESAFIO ENTREGA ATÉ 17/11 (VIA ) 1. Ler sequências (e qualidades) no formato FASTA e armazenar em dois hashes: %seq e %qual (subro@na numero 1) 2. Buscar UM sí@o de enzima de restrição indicado pelo usuário em todas as sequências (subro@na numero 2). Armazenar o nome das sequências que possuem o si@o de reconhecimento e sua posição na sequências. 3. Para as sequências COM o sí@o indicado, converter sequências e qualidades no formato FASTA (amazenadas nos hashs %seq e %qual) para formato FASTQ (subro@na numero 3). Gerar um novo arquivo de saída, indicando a posição do sí@o na DESCRIÇÃO da sequencia. Ver descrição de FASTQ e tabela de conversão no WIKIPEDIA. ENTRADA: arquivosequencias.fasta e arquivoqualidades.fasta SAIDA: arquivosequenciascomsi@o.fastq Testem antes de enviar! 30

Introdução à Programação de Computadores para Biologia Expressões Regulares "regex" PROBLEMA (11)

Introdução à Programação de Computadores para Biologia Expressões Regulares regex PROBLEMA (11) Introdução à Programação de Computadores para Biologia Expressões Regulares "regex" PROBLEMA (11) 3091-8759 1 PROBLEMA KDG 7447 PROBLEMA Testar se determinado bloco de caracteres é uma placa de carro 2

Leia mais

Algoritmos e Programação

Algoritmos e Programaçã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

Leia mais

Programação PERL. Israel Tojal da Silva

Programação PERL. Israel Tojal da Silva Programação PERL Israel Tojal da Silva itojal@usp.br Sumário Introdução visão geral Variáveis e Estrutura de Dados Referências Expressões Regulares Funções Manipulação de Arquivos Ordenação Introdução

Leia mais

Introdução à Programação de Computadores para Biologia. Arrays e Hashes

Introdução à Programação de Computadores para Biologia. Arrays e Hashes Introdução à Programação de Computadores para Biologia Arrays e Hashes PERL ECLIPSE E EPIC 1 Verificar a instalação do Eclipse; 2 Se eclipse instalado, verificar a presença do EPIC - Help > Install New

Leia mais

Introdução à linguagem Perl

Introdução à linguagem Perl Introdução à linguagem Perl Assistente de ensino: Marcelo da Silva Reis 1 Professor: Fabio Kon 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo MAC0211 - Laboratório de Programação

Leia mais

Programação em Linguagens de Scripts Aula 12. Prof. Msc. Anderson da Cruz

Programação em Linguagens de Scripts Aula 12. Prof. Msc. Anderson da Cruz Programação em Linguagens de Scripts Aula 12 Prof. Msc. Anderson da Cruz Roteiro Estruturas de Dados em Perl Introdução Tipo Escalar Conceitos, Operadores e Funções Tipo Array Conceitos, Operadores e Funções

Leia mais

Introdução à Lógica de Programação Utilizando Perl. Thiago Yukio Kikuchi Oliveira

Introdução à Lógica de Programação Utilizando Perl. Thiago Yukio Kikuchi Oliveira Introdução à Lógica de Programação Utilizando Perl Thiago Yukio Kikuchi Oliveira stratus@lgmb.fmrp.usp.br Lógica de Programação A lógica de programação é necessária para pessoas que desejam trabalhar com

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

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

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de

Leia mais

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

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Primeiros programas.

Primeiros programas. Primeiros programas. David Déharbe 1 1 Objetivos da aula Revisar as atividades "edição", "compilação", ("correção" e) "execução". Revisar os primeiros elementos de linguagem C já vistos. Aprender a escrever

Leia mais

IO.println(a+" * "+b+" = "+produto); } }

IO.println(a+ * +b+ = +produto); } } Departamento de Ciência da Computação Universidade de Brasília Computação Básica. Professor Jorge H. C. Fernandes Lista de Exercícios Programação Básica em Java Resolva os exercícios abaixo usando a Linguagem

Leia mais

++ sobre a linguagem Perl

++ sobre a linguagem Perl ++ sobre a linguagem Perl Assistente de ensino: Marcelo da Silva Reis 1 Professor: Fabio Kon 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo MAC0211 - Laboratório de Programação I

Leia mais

Introdução a Programação. Tipos Estruturados de Dados

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

Leia mais

Programação Funcional 9 a Aula Programas interativos

Programação Funcional 9 a Aula Programas interativos Programação Funcional 9 a Aula Programas interativos Pedro Vasconcelos DCC/FCUP 2014 Motivação Até agora apenas escrevemos programas que efetuam computação pura, i.e., transformações funcionais entre valores.

Leia mais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Seleção Múltipla Laços (while, do-while, for) AULA 05 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até aqui...

Leia mais

4. Constantes. Constantes pré-definidas

4. Constantes. Constantes pré-definidas 4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.

Leia mais

Mais sobre a linguagem Perl

Mais sobre a linguagem Perl Mais sobre a linguagem Perl Assistente de ensino: Marcelo da Silva Reis 1 Professor: Fabio Kon 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo MAC0211 - Laboratório de Programação

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral Programação I PRG29002 Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral 2016-1 Revisão da aula anterior Linguagens compiladas vs interpretadas Para que servem as bibliotecas? O que

Leia mais

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá Entrada e saída 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 mais

Arquivos. Introdução à Programação SI1

Arquivos. Introdução à Programação SI1 Arquivos Introdução à Programação SI1 1 Conteúdo Arquivos Conceitos Operações Métodos Exercícios 2 Arquivos Entrada e saída são operações de comunicação de um programa com o mundo externo Essa comunicação

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação

Leia mais

A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return <valor de retorno>]; }

A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return <valor de retorno>]; } Definindo funções A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return ]; Qualquer código PHP válido pode estar contido no

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programaçã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 mais

Computação 1 - Python Aula 11 - Teórica. programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 29

Computação 1 - Python Aula 11 - Teórica. programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 29 Computação 1 - Python Aula 11 - Teórica Interação com o usuário e programa principal 1/ 29 print: Usado para imprimir informações na tela. >>> print "Qual o seu nome?" Qual o seu nome? # Função que soma

Leia mais

Instituto de Informática Estrutura de Dados II

Instituto de Informática Estrutura de Dados II Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O

Leia mais

Computação I (MAB120) DCC/UFRJ

Computação I (MAB120) DCC/UFRJ Computação I (MAB120) DCC/UFRJ Aula 3: conceitos e operações elementares da programação 18 de março de 2019 Objetivos dessa aula Apresentar o conceito de variável em C: declaração, inicialização, atribuição

Leia mais

Estruturas condicionais

Estruturas condicionais Estruturas condicionais David Déharbe 1 1 Objetivos da aula Revisar os primeiros elementos de linguagem C já vistos. Condicionais simples Condicionais compostas Operadores lógicos 2 2 Objetivos da aula

Leia mais

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Introdução a Linguagem C GE4 Bio GE4Bio Grupo de Estudos

Leia mais

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

Aula de hoje. Funções. Introdução. Função. Definição de funções. Exemplo. SCC Introdução à Programação para Engenharias

Aula de hoje. Funções. Introdução. Função. Definição de funções. Exemplo. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Funções Aula de hoje Introdução Passagem de parâmetros Parâmetros X argumentos Retorno de valores Polimorfismo Argumentos com valor default Professor:

Leia mais

Laboratório de Programação 1 Aula 04

Laboratório de Programação 1 Aula 04 Laboratório de Programação 1 Aula 04 Mário Hozano professor@hozano.com Ciência da Computação UFAL - Arapiraca Relembrando a aula anterior... O que são valores, tipos e variáveis? Descreva os tipos int,

Leia mais

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos MCG114 Programação de Computadores I Profa. Ambiente de Programação, rastreamento e entrada de dados 1 2 Ambiente Python para Programação Ambiente Python para Programação Até agora... Comandos e funções

Leia mais

MCG126 Programação de Computadores II

MCG126 Programação de Computadores II MCG126 Programação de Computadores II Turmas: A e B Professor: Isac Mendes Lacerda (Material original cedido gentilmente pela professora Janaína Gomide) 1 Bibliografia 2 Bibliografia Introdução à Programação

Leia mais

Compiladores - JFlex. Fabio Mascarenhas Monday, April 15, 13

Compiladores - JFlex. Fabio Mascarenhas Monday, April 15, 13 Compiladores - JFlex Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp JFlex Um gerador de analisadores léxicos que gera analisadores escritos em Java A sintaxe das especificações é inspirada

Leia mais

Histórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987.

Histórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987. www.perl.org Sumário 1. Histórico 2. Características 3. Compilação/Interpretação 3.1. Procedimento; 1. Sintaxe 1. Variáveis; 2. Escopo; 3. Operadores; 4. Controle de Fluxo; 5. Estruturas de Repetição 5.

Leia mais

Programação estruturada no Fortran 90-1

Programação estruturada no Fortran 90-1 Programação estruturada no Fortran 90-1 Departamento de Física UFPel Programação estruturada: unidades de programa A programação estruturada em Fortran 90 implica no uso de unidades de programa, do tipo:

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973.

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Aula 2 05/03/2015 Linguagem C Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Um programa em C é Texto que segue as regras formais

Leia mais

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { } Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução

Leia mais

Nesta aula... Diagramas da stack. Recursão. 1 Funções. 2 Valores booleanos e condicionais. 3 Execução condicional e recursão

Nesta aula... Diagramas da stack. Recursão. 1 Funções. 2 Valores booleanos e condicionais. 3 Execução condicional e recursão Nesta aula... 1 2 Diagramas da stack 3 Recursão Instruções compostas keyword expression: statement statement... Âmbito de variáveis âmbito local: quando precisa do valor de uma variável, Python procura

Leia mais

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema Python Listas e Strings Prof. Paulo Henrique Ribeiro Gabriel (Com base no material do Prof. André Backes) Listas Por que usar listas? Listas As variáveis declaradas até agora são capazes de armazenar um

Leia mais

Vetores e Strings. printf ("\na string %s nao esta contida no vetor de %s", string, "strings.\n");

Vetores e Strings. printf (\na string %s nao esta contida no vetor de %s, string, strings.\n); Vetores e Strings #include main () char strings [5][100],string [100]; int count,count2; for (count=0;count

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Aula 11: Modularização

Aula 11: Modularização Aula 11: Modularização Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Modularização Programação de Computadores IV 1 / 37 Agenda 1 Revisão e Contexto

Leia mais

Aula 8 Comandos de Seleção

Aula 8 Comandos de Seleção Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. 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 mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

Aula 06 Introdução à Programação Matrizes

Aula 06 Introdução à Programação Matrizes Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE

Leia mais

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples Instituto de Computação Unicamp 2016 Roteiro 1 Shell Interativa 2 Estrutura de um Programa em Python 3 Variáveis

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - 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 mais

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

ALGORITMOS 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 mais

Linguagem 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á 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 mais

Compiladores - JFlex. Fabio Mascarenhas

Compiladores - JFlex. Fabio Mascarenhas Compiladores - JFlex Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp JFlex Um gerador de analisadores léxicos que gera analisadores escritos em Java A sintaxe das especificações é inspirada

Leia mais

Aula 18: Funções em C

Aula 18: Funções em C Aula 18: Funções em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Funções em C Programação de Computadores IV 1 / 38 Agenda 1 Revisão e Contexto

Leia mais

Aula 4: Introdução à Linguagem C++

Aula 4: Introdução à Linguagem C++ CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas

Leia mais

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python Comandos de Entrada e Saída Prof. Alberto Costa Neto Programação em Python Entrada de Dados Sugerimos o uso da função input Ela recebe uma String como parâmetro. Este parâmetro será impresso na tela e

Leia mais

Métodos Computacionais em Física

Métodos Computacionais em Física Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 214-2 Variáveis indexadas (arrays) Diversos problemas requerem o uso de vetores ou matrizes: Um conjunto de dados do mesmo tipo

Leia mais

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim Oficina: Programação para Android com o App Inventor Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim Desenvolver o quinto Item da lista (Programação) Testa uma

Leia mais

3. Linguagem de Programação C

3. 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 mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

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.

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

Aula 25: Funções com Arrays

Aula 25: Funções com Arrays CI208 - Programação de Computadores Aula 25: Funções com Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento

Leia mais

Aula 7: Estrutura de Decisão

Aula 7: Estrutura de Decisão Aula 7: Estrutura de Decisão Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estrutura de Decisão Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função

1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função 1/ 26 Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função Python - Modo Interativo Experiência com programação e uso do computador 2/ 26 Primeiros Passos - Operadores adição + subtração multiplicação

Leia mais

Scripts Perl. B.1 esearch2id.pl. 1 #!/usr/bin/perl -w. 2 use s t r i c t ; 3 use LWP: : S i m p l e ; # Função get. 5 # Definido a busca

Scripts Perl. B.1 esearch2id.pl. 1 #!/usr/bin/perl -w. 2 use s t r i c t ; 3 use LWP: : S i m p l e ; # Função get. 5 # Definido a busca Scripts Perl B.1 esearch2id.pl 1 #!/usr/bin/perl -w 2 use s t r i c t ; 3 use LWP: : S i m p l e ; # Função get 4 5 # Definido a busca 6 my $ q u e r y = m o l l i c u t e s+and+c o m p l e t e [ s t a

Leia mais

Introdução à Linguagem Lua Variáveis e Expressões

Introdução à Linguagem Lua Variáveis e Expressões Introdução a Programação em Lua Introdução à Linguagem Lua Variáveis e Expressões 1 Tópicos Principais Programando em Lua Funções Variáveis Operadores e Expressões Entrada e Saída Exemplos 2 Programando

Leia mais

char* prefixo (char* str, int n);

char* prefixo (char* str, int n); Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Segunda Lista de Exercícios 2005.1 1. Implemente uma função que receba uma string e um número inteiro n como parâmetros, e retorne uma

Leia mais

Computação eletrônica:

Computação eletrônica: Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Vetores unidimensionais 2 Vetores multidimensionais 3 Vetores e funções 4 Cadeia de caracteres Vetores unidimensionais 1 Vetores

Leia mais

Organização de programas em Python. Vanessa Braganholo

Organização de programas em Python. Vanessa Braganholo Organização de programas em Python Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

Leia mais

FUNÇÕES O que são e que servem? Dividir para conquistar! Vantagens.

FUNÇÕES O que são e que servem? Dividir para conquistar! Vantagens. FUNÇÕES para O que são e que servem? Dividir para conquistar! Vantagens. sin; abs; cos; length... FUNÇÕES PRÉ- DEFINIDAS Por exemplo, a função length calcula um único valor e retorna o comprimento do vetor

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#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 mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

CURSO B SICO DE PERL

CURSO B SICO DE PERL CURSO BÁSICO DE PERL CURSO BÁSICO DE PERL ESTRUTURA: 12 aulas de 2 horas e meia totalizando 30 horas. 2 créditos. É necessário 75% de presença (com exceções). Precisamos pensar em um método de avaliação.

Leia mais

Programação Estruturada

Programaçã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 mais

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Informática para Engenharia 1 Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem Python. Bibliografia:

Leia mais

Arquivos O QUE É, COMO LER E MANIPULAR

Arquivos O QUE É, COMO LER E MANIPULAR Arquivos O QUE É, COMO LER E MANIPULAR Arquivos Variáveis oferecem armazenamento de dados temporariamente Os dados são perdidos quando o escopo da variável é finalizado ou quando o programa termina Arquivos

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 3 (12/08/15) Saídas Entradas Operadores Atribuição Aritméticos Expressões Aritméticas Saída Permite

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 8 (30/09/15) Comentários sobre exercícios propostos Desvio condicional Simples Composto Exercícios Propostos

Leia mais

Computação I - Python Aula 1 - Prática: Primeiros Passos- Função

Computação I - Python Aula 1 - Prática: Primeiros Passos- Função Computação I - Python Aula 1 - Prática: Primeiros Passos- Função João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/ Computação

Leia mais

1/ 23. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função

1/ 23. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função 1/ 23 Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função Python - Modo Interativo Experiência com programação e uso do computador 2/ 23 Primeiros Passos - Operadores adição + subtração multiplicação

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m 1. (1.5) Considere a seguinte gramática em notação BNF: ::= , ::= ::=

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas

Leia mais

Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25

Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25 Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal 1/ 25 print: Usado para imprimir informações na tela. >>> print "Qual o seu nome?" Qual o seu nome? # Função que soma

Leia mais

Listas e Tuplas. Vanessa Braganholo

Listas e Tuplas. Vanessa Braganholo Listas e Tuplas Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Variável Indexada Vetor

Algoritmos e Estruturas de Dados I (DCC/003) Variável Indexada Vetor Algoritmos e Estruturas de Dados I (DCC/003) Variável Indexada Vetor 1 Vetores Iremos aprender como armazenar e trabalhar com um grande conjunto de valores no computador Existem várias formas de armazenar

Leia mais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de

Leia mais

Parte I. Introdução à Ciência da Computação I Modularização de Programas. SSC ICC1 Teórica

Parte I. Introdução à Ciência da Computação I Modularização de Programas. SSC ICC1 Teórica SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Modularização de Programas Parte I Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário

Leia mais

1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas

1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas Nesta aula... Conteúdo 1 Definição de funções 1 2 Valores boleanos e condicionais 5 1 Definição de funções Definição de novas funções Na aula passada: vimos como usar os operadores e funções pré-definidas

Leia mais

Introdução à Programação C

Introdução à Programação C Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Recapitulando Um programa C é uma sequência de diretivas (#include e #define), declarações de funções auxiliares,

Leia mais

Strings e Arrays POO

Strings e Arrays POO Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais