Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C++. Prof. Gemilson George gemilson_geo gemilson@colegiogeo.com.br (83)8792-7419 informaticageo.wordpress.com (Grupo): GEO.OBI
AJUDA NOS ESTUDOS br.spoj.com
AJUDA NOS ESTUDOS urionlinejudge.com.br
AJUDA NOS ESTUDOS codeforces.com
AJUDA NOS ESTUDOS facebook.com/groups/geo.obi
AJUDA NOS ESTUDOS informaticageo.wordpress.com
olimpiada.ic.unicamp.br www.dsc.ufcg.edu.br/~opi
A OBI está organizada em duas modalidades: Modalidade Programação: Nível Júnior, para alunos do Ensino Fundamental. Nível 1, para alunos até o segundo ano do Ensino Médio. Nível 2, para alunos até o terceiro ano do Ensino Médio (ou que tenham cursado o Ensino Médio até dezembro do ano anterior). Em todas as modalidades os alunos competem individualmente. Cada aluno poderá estar inscrito em apenas uma modalidade.
Categorias A Olimpíada Paraibana de Informática será dividida em 4 categorias: Iniciação (6o - 8o ano) Programação - (9o ano e ensino médio) Avançado Júnior (ensino superior) Avançado Sênior (ensino superior) Categoria Programação Esta categoria se destina aos alunos do 9o ano do ensino fundamental e 1o, 2o e 3o ano do ensino médio. A prova desta categoria será composta por questões abertas que deverão ser respondidas utilizando alguma lnguagem de programação. A prova exige conhecimento de: técnicas básicas de programação, estruturas de dados básicas e algoritmos. Esta prova corresponde a Modalidade Programação Júnior, Nível 1 e 2 da Olimpíada Brasileira de Informática.
Antes de começar a programar...
Linguagens de Programação
Linguagens de Programação
Antes de começar a programar... Escolha seu Editor e seu Compilador. EDITORES + COMPILADORES BLOCO DE NOTAS (WINDOWS) (EDITORES + COMPILADORES) COMPILADORES DEV C++ (WINDOWS) + GEDIT(LINUX) IDE CODEBLOKCS (LINUX / WINDOWS)
IDE - Codeblocks
Estrutura básica de um programa em C++. #include <iostream> using namespace std; int main( ) { cout << Hello World ; return 0; }
Estrutura básica de um programa em C. #include incluir <iostream> biblioteca de fluxo input / output namespace definição do escopo de nomes int main() Função principal { Início do bloco principal } Fim do bloco principal
Dicas de sintaxe C é case sensitive (Diferencia maiúsculas e minusculas) Toda linha de comando termina com ;
Comandos de entrada e saída #include <iostream> cout << Função de saída cin >> Função de entrada
Comandos de entrada e saída #include <iostream> using namespace std; int main( ) { cout << Hello World ; return 0; }
Comandos de entrada e saída #include <iostream> using namespace std; int main( ) { cout << Lista dos dias da semana:\n ; cout << \ndomingo ; cout << \nsegunda ; cout << \nterça ; cout << \nquarta ; cout << \nquinta ; cout << \nsexta ; cout << \nsábado\n ; return 0; }
Entendendo Variáveis
Nomes de Variáveis Escolha de nomes significativos; Inicie obrigatoriamente com uma letra ou sublinhado ( _ ) e os demais podendo ser letras, números ou outros sublinhados; Nunca use espaços em branco no nome de variáveis; Nunca use acentos ou caracteres especiais no nome de variáveis; Uma variável não pode ter o mesmo nome de uma palavra reservada do C++;
char Tipos de Variáveis (Dados básicos) Caracteres (letras, números, símbolos) int Números inteiros float Ponto flutuante double Dupla precisão string Cadeia de caracteres (números sem casas decimais) (Números decimais) (Decimais com maior precisão) (Conjunto de caracteres/texto)
Operadores aritméticos Atribuição = + * / % Soma Subtração Multiplicação Divisão Resto da divisão result = 51 C=2+6 C = 10-8 C=5*4 C=8/2 C=9%2
Comandos de entrada e saída #include <iostream> using namespace std; int main( ) { int idade; cout << Digite sua idade: ; cin >> idade; cout << \nvocê tem << idade << anos\n ; return 0; }
Declaração de Variáveis ( tipo nome ) #include <iostream> using namespace std; int main( ) { int a, b, r; cout << Digite o primeiro numero: ; cin >> a; cout << Digite o segundo numero: ; cin >> b; r = a + b; cout << \na soma é igual a << r << endl; return 0;
Exercício 1 Escreva um programa em C que receba suas Notas (ac1, ac2, e ac3) e exiba sua média. Exemplo de declaração: float ac1, ac2, ac3, m;
Exercício 2 Escreva um programa em C que receba o ano atual e o ano de nascimento de uma pessoa e exiba sua idade.
Exercício 3 Escreva um programa em C que receba dois números inteiros e exiba sua soma, subtração, multiplicação e sua divisão.
Comentários Comentários textos explicativos que não são compilados. // comentários de uma linha. */ */ comentários em mais de uma linha. #include <iostream> using namespace std; int main( ) // Função principal { /* Este programa recebe a idade digitada pelo usuário */ int idade; cout << Digite sua idade: ; cin >> idade; return 0; }
Exercício 4 Escrever um programa que lê 3 valores - a, b e c - e calcula: a) A área do trapézio que tem a como a base maior, b como base menor e c como altura. Área do trapézio = (base maior + base menor ) * altura 2 b) A área do quadrado que tem o valor da variável b como lado. Área do quadrado = lado2 c) A área da superfície de um cubo que tem c por aresta. Área do cubo = 6 * aresta2
Potenciação e Radiciação Potenciação pow(base, expoente); Raiz quadrada sqrt(radicando); Raiz Cúbica cbrt(radicando); <math.h>
Potenciação e Radiciação Escreva um programa em C para calcular o valor de Delta e X' de uma Equação do segundo grau, sendo fornecidos os coeficientes A, B, e C. Delta = b2 4 * a * c; X' = -b+ delta 2*a
To be continued...