Linguagens de Programação. Programação Funcional e Haskell Programação Interativa Thiago Alves

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

Download "Linguagens de Programação. Programação Funcional e Haskell Programação Interativa Thiago Alves"

Transcrição

1 Linguagens de Programação Programação Funcional e Haskell Programação Interativa Thiago Alves 1

2 Introdução Vimos como Haskell pode ser usado para escrever programas batch que recebem todas suas entradas no início e retornar todas as saídas no fina. input s Programa batch output s 2

3 Introdução Um programa batch não possui interação do usuário enquanto está rodando. input s Programa batch output s 3

4 Queremos usar Haskell para escrever programas interativos que recebem dados do teclado e escrevem na tela enquanto estão rodando. keyboard inputs Programa interativo outputs screen 4

5 O Problema Programas em Haskell são funções matemáticas puras: Com a mesma entrada possui a mesma saída sumsqreven :: [Int] Int sumsqreven = sum. map (^2). filter even Programas em Haskell não possuem efeitos colaterais. 5

6 O Problema Ler dados do teclado e escrever na tela são efeitos colaterais: Programas interativos possuem efeitos colaterais: int fun(int a) { int b; scanf( %d,&b); return a + b; } 6

7 A Solução Programas interativos podem ser escritos em Haskell usando tipos para distinguir expressões puras de ações impuras que podem ter efeitos colaterais. IO a O tipo das ações que retornam um valor do tipo a. 7

8 Exemplo: IO Char O tipo das ações que retornam um caractere. IO () O tipo das ações não retornam valor. () é o tipo de tuplas sem componentes. 8

9 Ações Básicas A biblioteca padrão fornece várias ações, incluindo as seguinte primitivas: A ação getchar recebe um caractere do teclado, mostra na tela e retorna o caractere como resultado: getchar :: IO Char 9

10 A ação putchar c escreve o caractere c na tela e não retorna valor: putchar :: Char IO () > putchar 'a' a main = putchar 'z' 10

11 Sequenciamento Pode combinar ações de IO usando o operador de sequenciamento (>>) :: IO a -> IO b -> IO b em que x >> y é a ação que realiza x, desconsiderando o resultado e depois eealiza y e retorna seu resultado putchar 'a' >> putchar 'B' >> putchar 'c' 11

12 Queremos encadear ações em que o resultado da primeira afete a segunda (>>=) :: IO a -> (a IO b) -> IO b em que x >>= f é a ação que realiza x, passa o resultado para f e realiza uma segunda ação e retorna seu resultado getchar >>= (\x -> putchar x) 12

13 main = getchar >>= \x -> putchar x >> putchar 'b' >> getchar main = getchar >>= \x -> getchar >> getchar >>= \y -> putchar x >> putchar y >> getchar 13

14 Uma sequencia de ações podem ser combinadas como uma única ação composta usando do: do x <- getchar; getchar; putchar x main = do x getchar getchar y getchar getchar putchar x putchar y 14

15 Primitiva de Retorno A ação return v retorna o valor v sem realizar nenhuma interação: return :: a IO a 15

16 Primitivas Derivadas Receber uma string do teclado: getline :: IO String 16

17 Primitivas Derivadas Receber uma string do teclado: getline :: IO String getline = do x getchar if x == '\n' then return [] else do xs getline return (x:xs) 17

18 Escrever string na tela: putstr :: String IO () 18

19 Escrever string na tela: putstr :: String IO () putstr [] = return () putstr (x:xs) = do putchar x putstr xs 19

20 Escrever string e mover para uma nova linha: putstrln :: String IO () 20

21 Escrever string e mover para uma nova linha: putstrln :: String IO () putstrln xs = do putstr xs putchar '\n' 21

22 Exemplos Vamos fazer um programa que recebe um nome e mostra uma saudação: 22

23 Exemplos Vamos fazer um programa que recebe um nome e mostra uma saudação: main = do putstrln Qual seu nome? nome getline putstrln ( Bem-vindo, ++ nome) 23

24 Exemplos Vamos fazer um programa que recebe dois números e mostra a soma: use a função readln :: Read a => IO a que recebe um valor do teclado e retorna esse valor e a função show :: (Show a) => a -> String que converte para string 24

25 Exemplos Vamos fazer um programa que recebe dois números e mostra a soma: main = do putstrln Digite o primeiro: x1 readln putstrln Digite o segundo: x2 readln putstrln (show (x1 + x2)) 25

26 Exemplos Podemos definir uma ação que pede para uma string ser digitada e mostra seu tamanho: strlen :: IO () 26

27 Exemplos Podemos definir uma ação que pede para uma string ser digitada e mostra seu tamanho: strlen :: IO () strlen = do putstr "Enter a string: " xs getline putstr "The string has " putstr (show (length xs)) putstrln " characters" 27

28 Exemplos Escreva um programa que repetidamente lê uma sequência de números inteiros (um por linha) ate encontrar o valor zero, e mostra a soma dos números lidos: 28

29 Exemplos readsum :: IO int readsum = do n readln if n == 0 then return 0 else do sumaux readsum return (n + sumaux) 29

30 Exemplos main = do putstrln Digite uma sequencia de némeros: putstrln Para terminar, digite 0 totalsum readsum putstr A soma é: putstr show(totalsum) 30

31 Jogo da Forca Considere a seguinte versão do jogo da forca: Um jogador digita uma palavra secretamente. O outro tenta deduzir a palavra, entrando com uma sequência de tentativas. Para cada tentativa, o computador indica que letras na palavra secreta aparecem na tentativa. O jogo termina quando a tentativa estiver correta. 31

32 hangman :: IO () hangman = do putstrln "Think of a word: " word sgetline putstrln "Try to guess it:" play word 32

33 A ação getch recebe um único caractere do teclado sem mostrar na tela: import System.IO getch :: IO Char getch = do hsetecho stdin False x getchar hsetecho stdin True return x 33

34 A ação sgetline recebe uma string do teclado e mostra como um dash: sgetline :: IO String sgetline = do x getch if x == '\n' then do putchar x else return [] do putchar '-' xs sgetline return (x:xs) 34

35 A função play é o loop principal que pede e processa as tentativas até o jogo terminar. play :: String IO () play word = do putstr "? " guess getline if guess == word then putstrln "You got it!" else do putstrln (match word guess) play word 35

36 A função match indica que caracteres em uma string ocorrem em uma outra string: match :: String String String match xs ys = [if elem x ys then x else '-' x xs] Exemplo: > match "haskell" "pascal" "-as--ll" 36

Programação Funcional. Capítulo 13. Mônadas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013.

Programação Funcional. Capítulo 13. Mônadas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013. Programação Funcional Capítulo 13 Mônadas José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/42 1 Mônadas 2 Entrada e saída 3 Expressão do 4 Computações que podem

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Programas Interativos: Valores Aleatórios

Programas Interativos: Valores Aleatórios Programação Funcional UFOP DECOM 2013 2 Aula prática Programas Interativos: Valores Aleatórios José Romildo Malaquias Resumo O objetivo desta aula é aprender a usar números aleatórios em Haskell. Para

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas

Leia mais

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação Algoritmos e Lógica de Programação Linguagem de Programação C Linguagem C Entrada e Saída de dados Reinaldo Gomes reinaldo@cefet-al.br Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos

Leia mais

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys Introdução ao Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys O que é Bash Script? O que é Bash + Script? O que é Bash? O que é Bash? Ele é um

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

Programação Funcional. Aula 4. Definindo Funções. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

Programação Funcional. Aula 4. Definindo Funções. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011. Programação Funcional Aula 4 Definindo Funções José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011.2 1/143 1 Combinando funções 2 Expressão condicional 3 Equaçao com

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

PROGRAMAÇÃO DE COMPUTADORES

PROGRAMAÇÃO DE COMPUTADORES PROGRAMAÇÃO DE COMPUTADORES COMANDOS E FORMATOS DE ENTRADA E SAÍDA 1 COMANDOS E FORMATOS DE ENTRADA E SAÍDA Os comandos de entrada e saída, na sua forma mais simplificada, possuem a seguinte estrutura:

Leia mais

Analise o código abaixo:

Analise o código abaixo: Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.

Leia mais

Vetores, Matrizes e String

Vetores, Matrizes e String Vetores, Matrizes e String Escola CDI Professor: Paulo Marcos Trentin O que é um Vetor? Conhecido também como matriz unidimensional, é uma variável que pode conter vários valores do mesmo tipo de dado.

Leia mais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Estruturas de entrada e saída

Estruturas de entrada e saída capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções

Leia mais

Método de ordenação - objetivos:

Método de ordenação - objetivos: Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São

Leia mais

Exercícios (if/ if else/ if elseif else)

Exercícios (if/ if else/ if elseif else) SECRETARIA DA EDUCAÇÃO E CULTURA POLÍCIA MILITAR DO ESTADO DO TOCANTINS COLÉGIO DA POLÍCIA MILITAR DO ESTADO DO TOCANTINS UNIDADE ESCOLAR: CPM PERÍODO: 4º Bimestre DISCIPLINA: Lógica de Programação ANO/SÉRIE:

Leia mais

Tutorial Extra sobre C. Felipe Santos da Silva

Tutorial Extra sobre C. Felipe Santos da Silva Tutorial Extra sobre C Felipe Santos da Silva 1 Sumário 1 stdlib.h 3 2 Struct 5 3 Funções 7 4 Recursão 10 2 1 stdlib.h Exemplo 1.1. Convertendo cadeias de caracteres em números. #include

Leia mais

Bacharelado em Sistemas de Informação Programação Funcional. Lista de Exercicios - Linguagem Haskell

Bacharelado em Sistemas de Informação Programação Funcional. Lista de Exercicios - Linguagem Haskell Bacharelado em Sistemas de Informação Programação Funcional Lista de Exercicios - Linguagem Haskell 1. Forneça uma temperatura em graus Fahrenheit a partir de uma temperatura em graus Celsius. O grau Fahrenheit

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 10 a Aula O Jogo da Vida

Pedro Vasconcelos DCC/FCUP. Programação Funcional 10 a Aula O Jogo da Vida Programação Funcional 10 a Aula O Jogo da Vida Pedro Vasconcelos DCC/FCUP 2014 O Jogo da Vida Um autómato celular inventado pelo matemático John H. Conway. O jogo desenrola-se numa grelha bi-dimensional.

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Flávia Rodrigues. Silves, 26 de Abril de 2010

Flávia Rodrigues. Silves, 26 de Abril de 2010 Flávia Rodrigues STC5 _ Redes de Informação e Comunicação Silves, 26 de Abril de 2010 Vantagens e Desvantagens da Tecnologia Acessibilidade, quer a nível pessoal quer a nível profissional; Pode-se processar

Leia mais

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais. istemas Inteligentes, 10-11 1 Exemplos Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas Criptoaritmética Missionários e Canibais Resta-um e muitos outros... istemas Inteligentes,

Leia mais

APOSTILA DE INFORMÁTICA INTERNET E E-MAIL

APOSTILA DE INFORMÁTICA INTERNET E E-MAIL APOSTILA DE INFORMÁTICA INTERNET E E-MAIL Profa Responsável Fabiana P. Masson Caravieri Colaboração Empresa Júnior da Fatec Jales Monitora: Ângela Lopes Manente SUMÁRIO 1. INTERNET... 3 2. ACESSANDO A

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

Carlos de Salles Soares Neto csalles@deinf.ufma.br Segundas e Quartas, 17h40 às 19h10

Carlos de Salles Soares Neto csalles@deinf.ufma.br Segundas e Quartas, 17h40 às 19h10 Algoritmos I Variáveis, Entrada e Saída de Dados Carlos de Salles Soares Neto csalles@deinf.ufma.br Segundas e Quartas, 17h40 às 19h10 Variáveis Área de memória para o armazenamento de dados Variáveis

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Curso C: Ponteiros e Arrays

Curso C: Ponteiros e Arrays Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

BC-0505 Processamento da Informação

BC-0505 Processamento da Informação BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

Leia mais

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento 1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário

Leia mais

a) O Word é um editor de TEXTOS. Com ele é possível digitar cartas, currículos e trabalhos escolares.

a) O Word é um editor de TEXTOS. Com ele é possível digitar cartas, currículos e trabalhos escolares. START - WORD Respostas dos Exercícios CAPÍ TULO 1 1. Complete as frases usando as palavras do quadro: JANELA TEXTOS TÍTULO ZOOM a) O Word é um editor de TEXTOS. Com ele é possível digitar cartas, currículos

Leia mais

Expressões Lógicas e Aritméticas. Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br

Expressões Lógicas e Aritméticas. Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br Expressões Lógicas e Aritméticas Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br Conteúdo da Aula 03 Revisão exercícios Expressões Expressões Aritméticas Expressões Lógicas

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste

Leia mais

Aula 11: Desvios e Laços

Aula 11: Desvios e Laços Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Módulos Parte III

Bacharelado em Ciência e Tecnologia Processamento da Informação. Módulos Parte III Profa. Dra. Juliana Cristina Braga Centro de Matemática, Computação e Cognição Objetivos Aprender com exemplos Usar módulos que retorna um valor Usar módulos que necessitam de tipos de parâmetros diferentes

Leia mais

Criar e formatar relatórios

Criar e formatar relatórios Treinamento Criar e formatar relatórios EXERCÍCIO 1: CRIAR UM RELATÓRIO COM A FERRAMENTA RELATÓRIO Ao ser executada, a ferramenta Relatório usa automaticamente todos os campos da fonte de dados. Além disso,

Leia mais

Sobre o Visual C++ 2010

Sobre o Visual C++ 2010 O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

Análise Léxica. Sumário

Análise Léxica. Sumário Análise Léxica Renato Ferreira Sumário Definição informal de Análise Léxica Identifica tokens numa string de entrada Alguns detalhes Lookahead Ambiguidade Especificação de Analisadores Léxicos Expressões

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings

Leia mais

INF 1005 Programação I

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

Leia mais

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho

Leia mais

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

Slides_Java_1 !$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code. Slides_Java_1!"#$!" $ % & $ Sistemas Informáticos I, 2005/2006 ( Java source code Compile javac Java bytecode Run java Output:!"#) %& Name of program. Must be the same as name of file.!"#$!"$ % & $ Where

Leia mais

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes LINGUAGEM C: DESCOMPLICADA Prof. André R. Backes 1 COMANDOS DE CONTROLE CONDICIONAL Os programas escritos até o momento são programas sequeciais: um comando é executado após o outro, do começo ao fim do

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

Algoritmos APRENDENDO A PROGRAMAR COM C#

Algoritmos APRENDENDO A PROGRAMAR COM C# Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

Introdução ao cálculo-λ

Introdução ao cálculo-λ Introdução ao cálculo-λ Pedro Vasconcelos 13 de Fevereiro de 2014 O que é o cálculo-λ? É um modelo computação universal (i.e., equipotente à máquina de Turing) Ao contrário da MT, o cálculo-λ é também

Leia mais

OBI2007 Caderno de Tarefas

OBI2007 Caderno de Tarefas OBI007 Caderno de Tarefas Modalidade Programação Nível, Fase A PROVA TEM DURAÇÃO DE CINCO HORAS LEIA ATENTAMENTE ESTAS INSTRUÇÕES ANTES DE INICIAR A PROVA Este caderno de tarefas é composto por 5 páginas

Leia mais

MOTOR DE BUSCA USANDO FLASH+ASP

MOTOR DE BUSCA USANDO FLASH+ASP MOTOR DE BUSCA USANDO FLASH+ASP Introdução Com este tutorial irás aprender a fazer um motor de busca usando ASP + Flash + Base de dados Access. Muito útil para encontrar dados e informações nas bases de

Leia mais

Conhecendo Seu Telefone

Conhecendo Seu Telefone Conhecendo Seu Telefone Fone de ouvido Telefone com a função viva-voz Intensidade do Sinal Intensidade da Bateria Porta Celular Anexo Tecla de Ação Y Tecla Enviar N Teclado de Navegação Tecla da Agenda

Leia mais

1 Introdução. 2 Algumas funções úteis para lidar com strings

1 Introdução. 2 Algumas funções úteis para lidar com strings Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Strings e apontadores http://tele1.dee.fct.unl.pt

Leia mais

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Entrada e saída de dados pode ser feita: Para dispositivo de entrada/saída (monitor, impressora,

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Estrutura de um programa em linguagem C

Estrutura de um programa em linguagem C Estrutura de um programa em linguagem C Estrutura de um programa em linguagem C Exemplo de um programa em linguagem C Directivas de Pré-Processamento #include Declarações Globais Declarações

Leia mais

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES 2014 1 a QUESTÃO Valor: 1,00 a) (0,30) Defina gramáticas livre de contexto. b) (0,30) Crie uma gramática

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

Manual de Programação TED1000 versão TC100 Ethernet

Manual de Programação TED1000 versão TC100 Ethernet Manual de Programação TED1000 versão TC100 Ethernet Indice: Configurações iniciais...2 Configuração de IP...2 Teclas especiais...2 Cabo de rede...2 Programação...3 Abrindo a comunicação (abreip)...3 Enviando

Leia mais

MC-102 - Teste de Mesa e Comandos Repetitivos

MC-102 - Teste de Mesa e Comandos Repetitivos MC-102 - Teste de Mesa e Comandos Repetitivos Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Introdução Pode acontecer

Leia mais

Estrutura de repetição para número indefinido de repetições com teste no inicio (Enquanto - while)

Estrutura de repetição para número indefinido de repetições com teste no inicio (Enquanto - while) ESTRUTURA DE REPETIÇÃO EM C++ Estrutura de Repetição para número definido de repetições (Para - for) //Biblioteca para CIN e COUT //Biblioteca para funções como clrscr e getch //Estrutura principal do

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

OBI2012 Caderno de Tarefas

OBI2012 Caderno de Tarefas OBI2012 Caderno de Tarefas Modalidade Programação Nível Júnior, Fase 2 26 de maio de 2012 A PROVA TEM DURAÇÃO DE 3 HORAS Promoção: Patrocínio: v1.0 Olimpíada Brasileira de Informática OBI2012 1 Instruções

Leia mais

Nivel de Linguagem de Montagem (Assembly)

Nivel de Linguagem de Montagem (Assembly) Nivel de Linguagem de Montagem (Assembly) Orlando Loques setembro 2006 Referências: Structured Computer Organization (capítulo 7), A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization and

Leia mais

I. Conjunto Elemento Pertinência

I. Conjunto Elemento Pertinência TEORI DOS CONJUNTOS I. Conjunto Elemento Pertinência Conjunto, elemento e pertinência são três noções aceitas sem definição, ou seja, são noções primitivas. idéia de conjunto é praticamente a mesma que

Leia mais

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

Curso de C: uma breve introdução

Curso de C: uma breve introdução V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:

Leia mais

Tabela ASCII de caracteres de controle

Tabela ASCII de caracteres de controle Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

17. Faça um programa que escreve na tela a mesma frase 10vezes. E depois faça com que o programa mostre o número de cada linha no início e no final

17. Faça um programa que escreve na tela a mesma frase 10vezes. E depois faça com que o programa mostre o número de cada linha no início e no final EXERCÍCIOS DE C 1. Faça um programa para somar dois números inteiros. 2. Faça um programa para somar dois números reais 3. Faça um programa para calcular a área de um círculo. 4. Faça um programa que calcule

Leia mais

Introdução ao Teste de Software

Introdução ao Teste de Software Introdução ao Teste de Software Ricardo A. Ramos [Baseado na apresentação do LABS ICMC-USP -> http://www.labes.icmc.usp.br] Organização Introdução Teste de Software Terminologia e Conceitos Básicos Técnicas

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Estruturas (Registros)

Estruturas (Registros) Estruturas (Registros) Agrupa conjunto de tipos de dados distintos sob um único nome string string inteiro inteiro inteiro float float Cadastro Pessoal Nome Endereço Telefone Idade Data de Nascimento Peso

Leia mais

Algoritmo para converter uma temperatura em Fahrenheit para Celsius

Algoritmo para converter uma temperatura em Fahrenheit para Celsius Algoritmo e Programação Algoritmo para converter uma temperatura em Fahrenheit para Celsius Conversão: Celsius -> Fahrenheit F = C 1,8 + 32 Fahrenheit -> Celsius C = ( F 32) / 1,8 1 Formas de representar

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

Linguagem de Programação C

Linguagem de Programação C Universidade Estadual de Mato Grosso do Sul UEMS Bacharelado em Ciência da Computação Linguagem de Programação C nilton@comp.uems.br Dourados, março de 2009. SUMÁRIO 1-Linguagem de Programação C 1.1 Introdução

Leia mais

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Unidade 01-a Algoritmos e Programação Seção 1.1 Visualg 2 Formato do Visualg algoritmo nome do algoritmo // Função: // Autor: // Data:

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material

Leia mais