Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Me. Cristiany Moscoso Programação de Computadores Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem de Programação Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem de Programação • É uma forma de transferir o conhecimento humano para o computador sem conhecer a linguagem nativa do computador. • Existem diversas linguagens de programação: - Basic - Cobol - Fortran - Assembler - Pascal - C Prof. Me. Cristiany Moscoso Linguagem de Programação • O computador conhece apenas a linguagem binária como por exemplo 01010100011100110011001 • É necessário traduzir os comandos conhecidos pelo homem para uma forma que o computador entenda, por exemplo: Imprima (“bom final de semana a todos”) Prof. Me. Cristiany Moscoso Linguagem de Programação Linguagens Comandos C Printf (“bom final de semana a todos”) PASCAL Writeln (‘bom final de semana a todos”) COBOL Display “bom final de semana a todos” BASIC Print “bom final de semana a todos” Existem diferentes formas de expressar o comando imprimir; Varia conforme a linguagem de programação que está sendo utilizada; Prof. Me. Cristiany Moscoso Linguagem de Programação • Todas as instruções anteriores são traduzidas para um mesmo formato final; • Um programa é escrito utilizando uma forma que é definidos pela linguagem de programação; • Um programa é escrito utilizando-se um editor de texto; • Um programa escrito em uma linguagem de programação é chamado de programa fonte. Prof. Me. Cristiany Moscoso Linguagem de Programação • Exemplo de um programa fonte em linguagem free pascal. Program exemplo; Begin write (“Bom final de semana a todos”); End. Programa fonte Prof. Me. Cristiany Moscoso Linguagem de Programação • Um programa fonte ainda não é entendido pelo computador; • É necessário converter este programa para a linguagem do computador (binário); • Este processo é chamado de geração de programa executável; • A geração é composta por duas fases: – Compilação; – Linkedição; Prof. Me. Cristiany Moscoso Linguagem de Programação • A ferramenta que realiza a compilação é chamado de compilador e gera um código intermediário chamado de código objeto; • A ferramenta que gera o programa executável final a partir do código objeto é chamado de linkeditor; Prof. Me. Cristiany Moscoso Linguagem de Programação - Compilador • Toda linguagem de programação possui um tradutor de código; • Este tradutor pode ser um compilador ou um interpretador, dependendo da linguagem; • Interpretadores são programas que lêem o código-fonte e executam ele diretamente, sem a criação de um arquivo executável; • Compilador o programa que traduz um arquivo escrito em código de linguagem de programação criando um arquivo capaz de executar as instruções pedidas (arquivo executável). Prof. Me. Cristiany Moscoso Linguagem de Programação Prof. Me. Cristiany Moscoso Linguagem de Programação Prof. Me. Cristiany Moscoso Linguagem de Programação • Podemos dividir as linguagens de programação conforme o “dialeto” utilizado por elas; • Quanto mais próximo da linguagem humana for a maneira com que passamos instruções para a • máquina, mais alto será seu nível; • Simplicidade; • Exemplo: Fortran e Basic : “Se x = y então faça x = x+1 e imprima y”. Prof. Me. Cristiany Moscoso Linguagem de Programação • De maneira análoga, quanto mais próximo da linguagem da máquina for a linguagem de programação, mais baixo será seu nível; Prof. Me. Cristiany Moscoso Linguagem de Programação Linguagem C • Tanto C como C++ podem ser consideradas linguagens de nível intermediário, pois utilizam-se de um dialeto de nível alto; • Facilidades para se trabalhar em nível baixo, como manipulação de bits, bytes e endereços de memória de maneira direta Prof. Me. Cristiany Moscoso Ciclo de Desenvolvimento compilação (compile) linkedição (link) Arquivo Executável (executable file) Arquivo Objeto (object file) Código Fonte (source code) Prof. Me. Cristiany Moscoso © Ana Cristina Benso da Silva Programação para Engenharia I Compilação • Os computadores requerem linguagem de máquina; antes do programa rodar, ele precisa ser traduzido do código fonte para uma linguagem de máquina - isto é feito pelo compilador • Depois de compilado, você tem o arquivo objeto (.o, .obj) • Erros de compilação Prof. Me. Cristiany Moscoso © Ana Cristina Benso da Silva Linkedição • Outro passo necessário antes de rodar o programa é a linkedição; parte da linguagem C é formada por bibliotecas de função (function library) que contém código objeto (isto é, código que já foi compilado) para funções pré-definidas (ex. printf()) #include <stdio.h> main( ) { printf(“Hello world!”); } Prof. Me. Cristiany Moscoso Fluxo Completo Editor de Texto Programa Fonte Compilador Programa Objeto Ligador ou Linkeditor Programa Executável Biblioteca Padrão Outras Bibliotecas Prof. Me. Cristiany Moscoso Linguagem de Programação DEV C++ • Dev-C++ é um compilador freeware das linguagens C, C++; • download gratuito. Prof. Me. Cristiany Moscoso Linguagem de Programação C++ DEV C++ Prof. Me. Cristiany Moscoso DEV C ++ Prof. Me. Cristiany Moscoso DEV C++ Prof. Me. Cristiany Moscoso • Arquivo: possui as funções básicas de manuseio de arquivos Prof. Me. Cristiany Moscoso • Editar: aonde estão localizadas as funções de edição básicas de edição e algumas funções úteis para programação. Prof. Me. Cristiany Moscoso • Possui os comandos de procurar e substituir partes do código; Prof. Me. Cristiany Moscoso • o menu Exibir permite o controle de quais componentes da tela são exibidos; Prof. Me. Cristiany Moscoso • refere-se a projetos de programas que possuem vários componentes e arquivos de códigos separados e é utilizado para adicionar e retirar componentes do projeto Prof. Me. Cristiany Moscoso • é talvez o mais importante para nós, e nele estão localizadas as funções básicas do compilador Prof. Me. Cristiany Moscoso • refere-se a várias opções do compilador, do ambiente de trabalho e de edição, além de diversas configurações; Prof. Me. Cristiany Moscoso • possui comandos úteis para os casos em que temos vários arquivos ou projetos abertos ao mesmo tempo e precisamos alternar entre eles. Prof. Me. Cristiany Moscoso • dá acesso à ajuda do programa, que possui uma listagem dos principais comandos do compilador e um breve tutorial da linguagem C. Prof. Me. Cristiany Moscoso Linguagem de Programação DEV C++ • UTILIZAÇÃO – Arquivo -> Novo -> Arquivo Fonte; ou – CTRL + N Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso DEV C++ • As funções básicas do depurador são encontradas na aba EXECUTAR: • Compilar (F9); • Executar (F10); e • Compilar & Executar (F11). Prof. Me. Cristiany Moscoso DEV C++ Compilar Executar Compilar & Executar Prof. Me. Cristiany Moscoso DEV C++ • ERROS Prof. Me. CristianyMoscoso DEV C++ • Erros Prof. Me. Cristiany Moscoso DEV C++ • Estrutura Básica – Cabeçalho: comentários, bibliotecas e definições – Bloco principal (em geral: int main() ) – Blocos auxiliares (classes, rotinas ou funções) Prof. Me. Cristiany Moscoso • #include <stdio.h> • int main ( ) • { • comandos • return 0; • } • O cabeçalho #include<> serve para indicar ao compilador todas as bibliotecas que este programa utilizará; • tudo o que acontece durante a execução do programa está contido dentro de uma função principal, chamada main. • Todos os comandos executados pelo programa estão contidos entre as chaves “{ }” da função main Prof. Me. Cristiany Moscoso C++ NOMES • Existem algumas regras para a escolha dos nomes: • Nomes de variáveis só podem conter letras do alfabeto, números e o caracter underscore “_”; • Não podem começar com um número; Prof. Me. Cristiany Moscoso C++ NOMES • Nomes que comecem com um ou dois caracteres underscore (“_” e “__”) são reservados para a implementação interna do programa e seu uso é extremamente desaconselhado. • O compilador não acusa erro quando criamos variáveis desse jeito, mas o programa criado se comportará de forma inesperada. Prof. Me. Cristiany Moscoso C++ • Não é possível utilizar palavras reservadas da linguagem C++; • Também não é possível criar uma variável que tenha o mesmo nome de uma função, mesmo que essa função tenha sido criada pelo programador ou seja uma função de biblioteca. Prof. Me. Cristiany Moscoso C++ • C++ diferencia letras maiúsculas e minúsculas em nomes de variáveis. Ou seja, count, Count e COUNT são três nomes de variáveis distintos. Prof. Me. Cristiany Moscoso Palavras Reservadas na Linguagem C++ Prof. Me. Cristiany Moscoso Palavras Reservadas na Linguagem C++ Prof. Me. Cristiany Moscoso Palavras Reservadas na Linguagem C++ • Linguagem C++ diferencia letras maiúsculas e minúsculas, ou seja, char é uma palavra reservada de C++ mas • CHAR, ChAr não são; • desaconselha-se o uso dessa diferenciação Prof. Me. Cristiany Moscoso Educação para o desenvolvimento da Amazônia! Linguagem C Se você compreendeu os conceitos básicos de algoritmo, a programação em Linguagem C será facilmente entendida! Por isso, vamos estudar a Linguagem C tendo por base o Algoritmo. Um exemplo clássico para iniciar uma aula de programação é: Prof. Me. Cristiany Moscoso Faça um algoritmo para escrever a frase “Alô mundo!” no vídeo. Prof. Me. Cristiany Moscoso #include <stdio.h> int main(void) { printf(“Alô mundo!”); return 0; } Linguagem C Sintaxe da linguagem C. Todo programa C começa com função main(). A { marca o início do programa. A solução do problema fica entre as chaves. A } marca o fim do programa. int main(void) { Corpo do programa; return 0; } Prof. Me. Cristiany Moscoso Faça um algoritmo para escrever a frase “Alô mundo!” no vídeo. Início escreva(“Alô mundo!”) Fim #include <stdio.h> int main(void) { printf(“Alô mundo!”); return 0; } Linguagem C Prof. Me. Cristiany Moscoso #include <stdio.h> int main(void) { printf(“Alô mundo!”); return 0; } Linguagem C Sintaxe da linguagem C. Necessária para o uso da função printf(). Todo programa C começa com função main(). Início do programa. A solução do problema fica entre as chaves. Necessário devido ao int antes de main(). Fim do programa. Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> As includes servem para indicar ao Compilador C que será usada, no programa, uma função que pertence à biblioteca de funções indicada entre os sinais <>. Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> stdio.h - std é uma abreviação de standard. - io é uma abreviação de input/output. - .h é uma abreviação de header (define um arquivo cabeçalho ou arquivo de funções)! Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções Os arquivos header que mais utilizaremos são: #include <stdio.h> (funções padrões de entrada e saída - printf) #include <conio.h> (funções padrões de console - clrscr, getch) #include <math.h> (funções matemáticas – sqrt, pow) #include <string.h> (funções de manipulação de strings - strcpy) Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> //Mensagem de texto. #include <stdio.h> int main(void) { float numero; printf("Digite um numero: "); scanf("%f", &numero); printf("Foi digitado %f\n", numero); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> //Pausa. #include <stdio.h> #include <conio.h> int main(void) { float numero; printf("Digite um numero: "); scanf("%f", &numero); printf("O triplo é %f\n", numero*3); getch(); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> //Raiz quadrada. #include <stdio.h> #include <math.h> int main(void) { float numero; printf("Digite o numero: "); scanf("%f", &numero); printf("a raiz é %f\n", sqrt(numero)); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Includes e os arquivos de funções #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> // Contatenação. #include <stdio.h> #include <string.h> int main(void) { char nome[30], sobrenome[30]; printf("Digite o nome: "); scanf("%s", nome); printf("Digite o sobrenome: "); scanf("%s", sobrenome); strcat(nome, “ ”); strcat(nome, sobrenome); printf("voce digitou %s\n", nome); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Variáveis devem ser declaradas logo após o início do bloco “{” antecedidas de seu tipo. Ex.: { float imposto; char Nome[30]; int X, Y, Z; float Valor da taxa; //(errado) float Valor_da_taxa; //(certo) Prof. Me. Cristiany Moscoso Linguagem C Os principais tipos de dados: Tipo - Faixa de valores - Espaço ocupado. char - um cacacter - 1 byte int - -32.768 a 32.767 - 2 bytes float - 3,4x10-38 a 3,4x1038 - 4 bytes Prof. Me. Cristiany Moscoso Linguagem C Os principais tipos de dados: char int float // char. #include <stdio.h> int main(void){ char sexo; char nome[30]; printf("Digite o nome: "); scanf("%s", &nome); printf("Digite o sexo: "); scanf("%s", &sexo); if (sexo == 'F') printf("%s é mulher\n", nome); else printf("%s é homem\n", nome); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Os principais tipos de dados: char int float // Inteiro. #include <stdio.h> int main(void) { int idade; printf("Digite a idade: "); scanf("%i", &idade); printf("a sua idade é %i\n", idade); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso // Ponto flutante. #include <stdio.h> int main(void) { float peso; printf("Digite o peso: "); scanf("%f", &peso); printf("o seu peso é %f\n", peso); return 0; } Linguagem C Os principais tipos de dados: char int float Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Comentários São usados para aumentar a clareza de um programa, embora eles não sejam analisados pelo computador. O comentário pode ser definido em uma única linha com “//”. // Meu primeiro programa. Ou em várias linhas, entre /* e */ /* comentário muito grande para uma única linha. */ Prof. Me. Cristiany Moscoso Linguagem C Comentários // Meu primeiro programa. /* comentário muito grande para uma única linha. */ // Comentário em uma linha #include <stdio.h> int main(void) { float peso; printf("Digite o peso: "); scanf("%f", &peso); printf("peso = %f\n", peso); return 0; } Prof. Me. Cristiany Moscoso Comentários // Meu primeiro programa. /* comentário muito grande para uma única linha. */ /* Este programa calcula o IMC de uma pessoa de acordo com o peso e altura*/ #include <stdio.h> int main(void) { float Peso, Altura, IMC; printf("Digite o peso: "); scanf("%f", &Peso); printf("Digite o altura: "); scanf("%f", &Altura); IMC = Peso / (Altura * Altura); printf("o IMC é = %f\n", IMC); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //12% de imposto. #include <stdio.h> int main(void) { float preco, custo; printf("Digite o custo: "); scanf("%f", &custo); preco = custo * 1.12; printf("O preço é %f\n", preco); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //Um terço de um número. #include <stdio.h> int main(void) { float numero, terco; printf("Digite o numero: "); scanf("%f", &numero); terco = numero / 3; printf("A treça parte é %f\n", terco); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //Soma dois números. #include <stdio.h> int main(void) { float soma, numero1, numero2; printf("Digite um número: "); scanf("%f", &numero1); printf("Digite outro: "); scanf("%f", &numero2); soma = numero1 + numero2; printf("A soma é %f\n", soma); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //Diferença entre dois números. #include <stdio.h> int main(void) { float dif, numero1, numero2; printf("Digite um numero: "); scanf("%f", &numero1); printf("Digite outro: "); scanf("%f", &numero2); dif = numero1 - numero2; printf("A diferença é %f\n", dif); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //Media entre 10 números. #include <stdio.h> int main(void) { float soma; int I, numero, conta; conta = soma = 0; for (I = 1; I <= 10; I++) { printf("Digite o %io. número: ", I); scanf("%i", &numero); conta ++; soma = soma + numero; } printf("Média = %f\n", soma/conta); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //1 a 10 na ordem inversa. #include <stdio.h> int main(void) { int I; for (I = 10; I >= 1; I--) { printf("%i\n", I); } return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Aritméticos * Multiplicação / Divisão + Adição - Subtração ++ Incremento -- Decremento % resto //Par ou ímpar. #include <stdio.h> int main(void) { int numero; printf("Digite um numero: "); scanf("%i", &numero); if (numero % 2 == 0) printf("O número %i é par", numero); else printf("O número %i é ímpar\n", numero); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Lógicos && Conjunção (E) || Disjunção (OU) ! Negação (NÃO) //”e” lógico. #include <stdio.h> int main(void) { float soma, NI1, NI2; printf("Digite a primeira nota: "); scanf("%f", &NI1); printf("Digite a segunda nota: "); scanf("%f", &NI2); soma = NI1 + NI2; if (soma >= 2 && soma < 12) { printf("Total = %f\n", soma); printf("Fará prova final\n"); } return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Lógicos && Conjunção (E) || Disjunção (OU) ! Negação (NÃO) //”ou” lógico. #include <stdio.h> int main(void) { float nota; printf("Digite uma nota: "); scanf("%f", ¬a); if (nota < 0 || nota > 10) printf("Nota inválida\n"); else printf("Nota Válida\n"); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Lógicos && Conjunção (E) || Disjunção (OU) ! Negação (NÃO) //Negação. #include <stdio.h> int main(void) { int bit; printf("Digite 0 ou 1: "); scanf("%i", &bit); printf("Você digitou %i\n", bit); printf("A negação de %i é %i\n", bit,!bit); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente // <Menor entre 10 números. #include <stdio.h> int main(void) { int I, numero, menor = 32767; for (I = 1; I <= 10; I++) { printf("Digite o %io. Numero: ", I); scanf("%i", &numero); if (numero < menor) menor = numero; } printf("O menor é %i\n", menor); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente // <= limite do laço #include <stdio.h> int main(void) { int I, numero, menor = 32767; for (I = 1; I <= 10; I++) { printf("Digite o %io. Numero: ", I); scanf("%i", &numero); if (numero < menor) menor = numero; } printf("O menor é %i\n", menor); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente // > Maior entre 10 números. #include <stdio.h> int main(void) { int I, numero, maior = -32768; for (I = 1; I <= 10; I++) { printf("Digite o %io. Numero: ", I); scanf("%i", &numero); if (numero > maior) maior = numero; } printf("O maior é %i\n", maior); printf("%i", maior); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente //1 a 10 na ordem inversa. #include <stdio.h> int main(void) { int I; for (I = 10; I >= 1; I--) { printf("%i\n", I); } return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente //Par ou ímpar. #include <stdio.h> int main(void) { int numero; printf("Digite um numero: "); scanf("%i", &numero); if (numero % 2 == 0) printf("O número %i é par\n", numero); else printf("O número %i é ímparn\", numero); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Operadores Relacionais < Menor que <= Menor ou igual > Maior que >= Maior ou igual == Igual != Diferente // != Diferente. #include <stdio.h> int main(void) { float a, b, x; printf("Coeficiente A: "); scanf("%f", &a); if (a != 0) { printf("Coeficiente B: "); scanf("%f", &b); x = -b/a; printf("%f", x); } return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C Comando de Entrada: scanf(“%formato”, &variavel); Na linguagem C o comando de entrada é implementado por meio da função scanf. % formato - indica o tipo do dado a ser lido %i – inteiro (int) %f – real (float) %c – char %s – literal (char) &variavel - indica o endereço da variável onde o valor será armazenado. Prof. Me. Cristiany Moscoso Linguagem C Comando de Entrada: scanf(“%formato”, &variavel); %i – inteiro (int) // Comando de entrada de dados. #include <stdio.h> int main (void) { int idade; printf("Digite um idade: "); scanf("%i", &idade); printf("Você digitou a idade %i", idade); return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Entrada: scanf(“%formato”, &variavel); %f – real (float) // Comando de entrada de dados. #include <stdio.h> int main (void) { float altura; printf("Digite um altura: "); scanf("%f", &altura); printf("Você digitou a altura %f", altura); return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Entrada: scanf(“%formato”, &variavel); %c – char (Apenas um caracter.) // Comando de entrada de dados. #include <stdio.h> int main (void) { char sexo; printf("Digite o sexo: "); scanf("%c", &sexo); printf("Você digitou o sexo %c", sexo); return 0; } Prof. Me. Cristiany Moscoso Linguagem C CCET – CCI – Lógica de Programação Comando de Entrada: scanf(“%formato”, &variavel); %s – Literal (char). // Comando de entrada de dados. #include <stdio.h> int main (void) { char nome[30]; printf("Digite o nome: "); scanf("%s", &nome); printf("Você digitou o nome %s", nome); return 0; } Prof. Me. Cristiany Moscoso Linguagem C Educação para o desenvolvimento da Amazônia! Comando de Saída: printf(“Texto %formato”, variavel); Na linguagem C o comando de saída é implementado por meio da função printf. Texto – texto a ser impresso. % formato - indica o tipo do dado a ser impresso: %i – inteiro (int) %f – real (float) %c – char %s – literal (char) \n – quebra de linha variável - variável a ser impressa na posição do formato. Prof. Me. Cristiany Moscoso Linguagem C Comando de Saída: printf(“Texto %formato”, variavel); // Comando de entrada de dados. #include <stdio.h> int main (void) { int idade; printf("Digite um idade: "); scanf("%i", &idade); printf("Você digitou a idade %i", idade); return 0; } Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Linguagem C /*Imprime os números pares e depois imprime os números ímpares entre 1 e 10*/ #include <stdio.h> int main(void) { int I; printf("Os números pares entre 1 e 10:\n"); for (I = 2; I <= 10; I+=2) printf("%i ", I); printf("\n\nOs números ímpares entre 1 e 10:\n"); for (I = 1; I <= 10; I+=2) printf("%i\n", I); return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Decisão: if/[else] O comando if permite executar um bloco de comandos se uma determinada condição for verdadeira. Os parêntesis delimitando o else indicam que o ele é opcional. Na linguagem C o então não é utilizado, mas a condição tem que estar obrigatoriamente entre parêntesis! Prof. Me. Cristiany Moscoso Linguagem C If/[else]: sintaxe if (condição) ou if (condição) { { comando1; comando1; comando2; ... comandoN; … } comandoN; else } { comando1; ... comandoN; } Início do bloco Fim do bloco A condição tem que estar entre parêntesis Prof. Me. Cristiany Moscoso Linguagem C If if (condição) { comando1; comando2; … comandoN; } // Nome do aluno com a maior nota entre 4 alunos da turma. #include<stdio.h> #include <string.h> int main(void) { int I, nota, maior = -32768; char nome[30], nome_maior[30]; for (I = 1; I<= 4; I++) { printf("Digite o nome: "); scanf("%s", &nome); printf("Digite a nota: "); scanf("%i", ¬a); if (nota > maior) { maior = nota; strcpy(nome_maior, nome); } } printf("O aluno que obteve a maior nota foi %s", nome_maior); return 0; } Prof. Me. Cristiany Moscoso Linguagem C // Nome do aluno com a maior nota entre 4 alunos da turma. #include <stdio.h> #include <string.h> int main(void) { int I, nota, maior = -32768; char nome[30], nome_maior[30]; for (I = 1; I<= 4; I++) { printf("Digite o nome: "); scanf("%s", &nome); printf("Digite a nota: "); scanf("%i", ¬a); if (nota > maior) { maior = nota; strcpy(nome_maior, nome); } } printf("O aluno que obteve a maior nota foi %s", nome_maior); return 0; } Prof. Me. Cristiany Moscoso Linguagem C If if (condição) comando; /* Melhor tempo em segundos de Um campeonato de natação.*/ #include <stdio.h> int main(void) { int I; float tempo, menor = 100000.0; for (I = 1; I<= 8; I++) { printf("Digite o %io. Tempo: ", I); scanf("%f", &tempo); if (tempo < menor) menor = tempo; } printf("O melhor tempo foi %f", menor); return 0; } Prof. Me. Cristiany Moscoso Linguagem C If/else: if (condição) { comando1; ... comandoN; } else { comando1; ... comandoN; } // Peso ideal. #include <stdio.h> int main(void) { char sexo; float peso, altura; printf("qual o sexo: "); scanf("%c", &sexo); printf("qual o altura: "); scanf("%f", &altura); if (sexo=='f' || sexo=='F') { peso = altura * 62.1 - 44.7; printf("peso ideal=%f", peso); } else { peso = altura * 72.7 - 58; printf("peso ideal=%f", peso); } return 0; } Prof. Me. Cristiany Moscoso Linguagem C If/else: if (condição) comando; else { comando1; ... comandoN; } // Equação do primeiro grau. #include <stdio.h> int main(void) { float A, B, X; printf("Coeficiente A: "); scanf("%f", &A); if (A == 0) printf("Não existe raiz"); else { printf("Coeficiente B: "); scanf("%f", &B); X = -B/A; printf("A raiz é %f", X); } return 0; } Prof. Me. Cristiany Moscoso Linguagem C If/else: if (condição) comando; else { comando1; ... comandoN; } // Equação do primeiro grau. #include <stdio.h> int main(void) { float A, B, X; printf("Coeficiente A: "); scanf("%f", &A); if (A == 0) printf("Não existe raiz"); else { printf("Coeficiente B: "); scanf("%f", &B); X = -B/A; printf("A raiz é %f", X); } return 0; } Prof. Me. Cristiany Moscoso Linguagem C If/else: if (condição) { comando1; ... comandoN; } else comando; // Equação do primeiro grau. #include <stdio.h> #include <math.h> int main(void) { float A, B, C, Delta, X1, X2; printf("Coeficiente A: "); scanf("%f", &A); if (A == 0) printf("Não é equação do 2º grau."); else { printf("Coeficiente B: "); scanf("%f", &B); printf("Coeficiente C: "); scanf("%f", &C); Delta = (B*B)-4*A*C; if (Delta > 0) { X1 = (-B + sqrt(Delta))/2*A; X2 = (-B - sqrt(Delta))/2*A; printf("X1=%f e X2=%f", X1, X2); } else printf("Não existem raizes reais"); } return 0; } Prof. Me. Cristiany Moscoso Linguagem C CCET – CCI – Lógica de Programação switch/case switch (variável) { case constante1: Comandos; break; case constante2: Comandos; break; default Comandos; } // Menu. #include <stdio.h> int main(void) { int Opcao; printf("1 – Pizza Portuguesa\n"); printf("2 – Pizza Calabresa\n"); printf("3 – Pizza Quatro queijos\n"); scanf("%i", &Opcao); switch (Opcao) { case 1: printf("Você escolheu Portuguesa!"); break; case 2: printf("Você escolheu Calabresa!"); break; case 3: printf("Você escolheu Quatro queijos!"); break; default: printf("Opção inválida!"); break; } return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Repetição: while O comando while repete um bloco de comandos várias vezes, enquanto a condição for verdadeira. while (condição) { comando1; comando2; … comandoN; } Prof. Me. Cristiany Moscoso Linguagem C while while (condição) { Comandos; } // While #include <stdio.h> int main(void) { int Opcao, Pedido = 1; printf("1 – Pizza Portuguesa\n"); printf("2 – Pizza Calabresa\n"); printf("3 – Pizza Quatro queijos\n"); printf("0 – Para encerrar\n"); scanf("%i", &Opcao); while (Opcao != 0) { printf("Código: %i ", Opcao); printf("Pedido: %i\n\n", Pedido); Pedido++; printf("1 – Pizza Portuguesa\n"); printf("2 – Pizza Calabresa\n"); printf("3 – Pizza Quatro queijos\n"); printf("0 – Para encerrar\n"); scanf("%i", &Opcao); } return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Repetição: do/while O comando do/while repete um bloco de comandos várias vezes, enquanto a condição for verdadeira. do { comando1; comando2; … comandoN; } while (condição); Prof. Me. Cristiany Moscoso Linguagem C CCET – CCI – Lógica de Programação do/while do { Comandos; } while (condição); // Menu. #include <stdio.h> int main(void) { int Opcao, Pedido = 1; do { printf("1 – Pizza Portuguesa\n"); printf("2 – Pizza Calabresa\n"); printf("3 – Pizza Quatro queijos\n"); printf("0 – Para encerrar\n"); scanf("%i", &Opcao); if (Opcao != 0) { printf("Código: %i ", Opcao); printf("Pedido: %i\n\n", Pedido); Pedido++; } } while (Opcao != 0); return 0; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Repetição: for O comando for repete um bloco de comandos N vezes. O número “N” de repetições é conhecido. for (inicialização; condição; incremento/decremento) { comando1; comando2; … comandoN; } Prof. Me. Cristiany Moscoso Linguagem C Comando de Repetição: for O comando for repete um bloco de comandos N vezes. O número “N” de repetições é conhecido. for (inicialização; condição; incremento/decremento) comando; Inicialização --> Valor inicial (i=1;) condição --> condição de encerramento (i<10); incremento/decr. --> passo de variação da variável de controle. Prof. Me. Cristiany MoscosoLinguagem C for for (inic; cond; incr) { comando1; comando2; … comandoN; } //Soma dos salário dos 300 funcionários. #include <stdio.h> int main(void) { int i; float salario, soma; for (i = 1; i <= 3; i++) { printf("Digite o %io. salario: ", i); scanf("%f", &salario); soma = soma + salario; } printf("a soma é dos salários é %f\n", soma); return 0; } Prof. Me. Cristiany Moscoso Linguagem C for for (inic; cond; incr) comando; // Pontênica de 2. #include <stdio.h> #include <math.h> int main(void) { int i, Limite; scanf("%i", &Limite); for (i = 0; i <= Limite; i++) printf("%f\n", pow(2, i)); return 0; } Prof. Me. Cristiany Moscoso Linguagem C for for (inic; cond; incr) Comando; Contagem Regressiva. // Contagem regressiva. #include <stdio.h> int main(void) { int i, Limite; printf("Digite um ńumero: "); scanf("%i", &Limite); for (i = Limite; i >= 0; i--) printf("%i\n", i); return 0; }
Compartilhar