Baixe o app para aproveitar ainda mais
Prévia do material em texto
INTRODUÇÃO A LINGUAGEM DE PROGRAMAÇÃO Prof.: Danilo Coimbra (coimbra.danilo@ufba.br) 2018-1 Entrada e saída e expressões aritméticas 1 Conceitos Básicos Algoritmo Sequência de instruções Programa Algoritmo em uma determinada linguagem de programação que será executado no computador O computador deverá ser capaz de executar o programa, sendo que este deverá parar em algum instante Para que se tenha a realização da tarefa pretendida 2 Conceitos Básicos Portanto, é necessário que o algoritmo/programa satisfaça as seguintes exigências: As instruções devem ser claras e não devem conter ambiguidades Não pode haver dubiedade em relação a próxima ação a ser realizada após a execução de uma determinada instrução Todas as instruções devem ser executadas num tempo finito 3 Conceitos Básicos Linguagem de Programação Linguagens intermediárias entre linguagem de máquina e a linguagem que nós usamos Ex.: C++, C, Java, Pascal, Python, R,.. Compilador Programa que transforma um código, escrito em uma linguagem de programação, em um código de linguagem de máquina 4 Conceitos Básicos Lógica de Programação Raciocínio que visa o desenvolvimento de algoritmos Exemplo Problema: Uma pessoa pretende atravessar de barco para a outra margem do rio e tem a seguinte carga: Uma raposa Uma dúzia de galinhas Um saco de milho Observações: O barco comporta somente a pessoa e uma das cargas Não pode deixar sozinho a raposa e as galinhas, nem as galinhas e o milho Como fazer? 5 Conceitos Básicos 6 Conceitos Básicos 1. Atravesse as galinhas 2. Retorne sozinho 3. Atravesse a raposa 4. Retorne com as galinhas 5. Atravesse o milho 6. Retorne sozinho 7. Atravesse as galinhas 7 Entrada e Saída No contexto da disciplina todos os problemas utilizam a entrada e saída padrão Entrada padrão : teclado Saída padrão : terminal 8 Declaração de Variáveis Sintaxe tipo var1, var2, var3, .., varN; Para declarar uma variável, necessário especificar o seu tipo e o nome (ou uma lista de nomes) a serem alocadas; É permitido atribuir um valor inicial int a, i, idade; float pi=3.1416; double x=0.9, y=-10.2; 9 Tipos de Variáveis int: inteiro de 32 bits Ex.: int idade=98; long long: inteiro de 64 bits long long brasilpib = 1.796000000000; float: real de 32 bits float peso=5.28; double: real de 64 bits double y = -15.34873572655824322; char: caracter de 8 bits char letra = ‘d’; 10 Saída Padrão (cout) Sintaxe cout << par1 << par2 << ... << parN ; cout recebe uma lista de parâmetros e imprime os mesmos na ordem especificada Parâmetros podem ser variáveis e constantes Ex.: int idade=25; cout << “Resultado = ”<< idade << endl; Saída “Resultado = 25\n” endl representa uma quebra de linha (“\n”) 11 Praticando Descrição Seu programa deve cumprimentar o mundo Entrada Este programa não possui entrada Saída Seu programa deve imprimir a sentença “Alo mundo!” seguido de uma quebra de linha Sugestão de nome do programa alo.cpp 12 Código #include <iostream> using namespace std; int main() { cout<<“Alo mundo!”<< endl; } Praticando 13 Código #include <iostream> using namespace std; int main() { cout<<“Alo mundo!”<< endl; } Praticando 14 Cabeçalho Função principal Início da função principal Fim da função principal e do programa Código Código #include <iostream> using namespace std; int main() { cout<<“Alo mundo!”<< endl; } Praticando 15 Para compilar $g++ alo.cpp Para executar $./a.out Entrada Padrão (cin) Sintaxe cin >> var1 >> var2 >> ... >> varN ; cin recebe uma lista de variáveis e lê valores para elas na ordem especificada Identifica automaticamente o tipo da variável e lê um valor de acordo com esse tipo Variáveis reais podem ter ponto flutuante na entrada, inteiros não podem Ex.: int idade=25; float peso=67.8 cin >> idade >> peso; Comando lerá um número inteiro (sem ponto) para idade variável a e um número real (com ou sem ponto) para a variável peso 16 Atribuição Como ocorre a atribuição? var1 = valor; O valor pode ser uma variável, uma constante ou uma expressão aritmética Ex.: 17 int x; x= 1; int y; y = x; Operador Função + Soma - Subtração * Multiplicação / Divisão % Resta do Divisão () Alteração de Precedência Expressões Aritméticas 18 Ex.: a=b*c+d; m=(n-o)/pi; Operador Função ++ Incremento (var++ é mesmo que var=var+1;) -- Decremento (var– é mesmo que var=var-1;) += Soma (var+=2 é o mesmo que var=var+2;) -= Subtração (var-=2 é o mesmo que var=var-2;) *= Multiplicação (var*=2 é o mesmo que var=var*2;) /= Divisão (var/=2 é o mesmo que var=var/2;) Expressões Aritméticas 19 Ex.: idade++; peso/=prato; Conversão automática de tipos Tipo com mais bits tem precedência sobre tipos com menos bits Tipos reais tem precedência sobre tipos inteiros Exemplos int a=5; long long b =10; double c=10.1; cout << a*b << endl; //resultado tem tipo long long cout << b+c << endl; //resultado tem tipo double Expressões Aritméticas 20 Tipos Fundamentais 21 http://pt.cppreference.com/w/cpp/language/types Tipos Fundamentais 22 Tipos Fundamentais Intervalos de Valores 23 Tipos Fundamentais Note: the C++ Standard guarantees that 1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long) 24 Tipos Fundamentais Código que determina o tamanho exato desses tipos no seu computador usando seu próprio compilador 25 Programando – Soma 2 Descrição Seu programa deve ler dois inteiros e imprimir o valor da soma destes números Entrada Composta por duas linhas, sendo que cada linha contém um inteiro. Saída Seu programa deve imprimir uma linha contendo um inteiro que representa a soma dos valores da entrada Sugestão de nome: soma2.cpp 26 Primeiros Passos Configurando o ambiente de trabalho Passo 1 – Desktop (área de trabalho) 27 Primeiros Passos Configurando o ambiente de trabalho Passo 2 – Abrindo o editor de texto (Gedit) 28 Primeiros Passos Configurando o ambiente de trabalho Passo 2 – ou abrindo o editor de texto usando terminal 29 Primeiros Passos Configurando o ambiente de trabalho Passo 2 – ou abrindo o editor de texto usando terminal 30 Primeiros Passos Configurando o ambiente de trabalho Passo 3 – Let the FUN begin! 31 Primeiros Passos Lista de comandos úteis $ ls lista o conteúdo do diretório corrente $ ls “nome_diretório” lista o conteúdo do diretório “nome_dir” $ mkdir “nome_diretório” cria um diretório chamado “nome_diretório” $ cd “nome_diretório” muda o diretório corrente para o diretório “nome_deiretório” $ cat “nome_arquivo” imprime o conteúdo do arquivo “nome_arquivo” na tela 32 Sistema da Disciplina URI – Online Judge e Jude (https://www.urionlinejudge.com.br/) 33 Sistema da Disciplina - Problema 34 O que é um problema? Dicas (1) 35 Submeta o código Sempre utilize a extensão .cpp nos seus arquivos Ex.: nome.cpp Utilize apenas letras não acentuadas e números no nome dos seus arquivos Ex.: nome123.cpp Não use caracteres especiais, espaços, etc Dicas(2) 36 Letras maiúsculas e minúsculas não são a mesma coisa Case-sensitive Respeite as regras de apresentação da saída Não esqueça de quebrar linhas Toda linha impressa deve terminar com uma quebra de linha
Compartilhar