Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES – ESTRUTURA DE UM PROGRAMA – Resumo para estudos gerais feito por Mirla Rocha de Oliveira Ferreira. SUMÁRIO INTRODUÇÃO ........................................................................................................................... 1 Objetivos ............................................................................................................................................... 1 ESTRUTURA DE UM PROGRAMA EM C ............................................................................ 1 Tipos de dados ...................................................................................................................................... 2 Operadores ........................................................................................................................................... 2 Entrada e saída de dados ...................................................................................................................... 2 Exemplo usando Lingaguem C ............................................................................................................... 3 Os comandos básicos em C e C++ são: .................................................................................................... 3 Em Linguagem C, o programa ficaria da seguinte forma: ........................................................................ 4 Condicional (if e switch) ........................................................................................................................... 4 Loops (for, while e do while) .................................................................................................................... 6 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................ 9 1 INTRODUÇÃO Objetivos Desenvolver os algoritmos na linguagem de programação C.. Desenvolver no aluno / futuro engenheiro a intimidade com algoritmo e programação. Gerar a capacidade de aprender outras soluções de programação por conta própria. ESTRUTURA DE UM PROGRAMA EM C 1. Inclui-se uma biblioteca no programa para a execução do código a ser processado. 2. Declara-se o tipo da função e o nome da função. 3. Inicializa-se a função. 4. Coloca-se os comandos da função a serem executados de acordo com o processo. 5. Finaliza-se a função. #include <stdio.h> /* Imprime a mensagem */ int main() { printf ("Mensagem!"); return (0); } #include <stdio.h> “#include” é a forma de se inserir uma biblioteca “<stdio.h>” é a biblioteca com funções básicas e úteis para a entrada e saída de dados. Outras bibliotecas: “math.h” com funções matemáticas; “stdlib.h” com funções diversas; “locale.h” com acentuação e localização de programas; E outras. “int main()” é a declaração da função do tipo int de nome main IMPORTANTE: Todos os programas em C precisam ter uma função “main” para a chamada de execução do programa. O conteúdo do programa estará entre as { } e será executado na ordem sequencial. “int” indica que a função retorna um número inteiro. E “return (0)” indica que o número retornado pela função é o 0. Ou seja, se o programa processado retornar ao número 0, o término foi normal. Se tiver terminado em um valor diferente de 0, o término foi anormal, ou seja, há erro no processo do programa. E ele retorna com erro. Caso não se queira fazer esse tipo de verificação, basta usar a função do tipo “void”, que é sem valor e não retorna a nada. “printf” é a função que o programa chama para a execução. Essa função está inclusa na biblioteca “stdio.h”. Essa função mostra na tela o conjunto de caracteres especificado dentro do (“”). http://linguagemc.com.br/localizacao-de-programas-com-locale-h/ 2 Tipos de dados Caractere, definido por char Exemplo: char nome; nome=a; Inteiro, definido por int Exemplo: int x; x=2; Número real, definido por float Exemplo: float z; z=2.5; Número real duplo, definido por Double Exemplo: double z, y; z=2.5, y=3.75; Operadores = (Atribuição de valor) + (Soma: usado para tipo de dados inteiros e reais) - (Subtração: usado para tipo de dados inteiros e reais) * (Multiplicação: usado para tipo de dados inteiros e reais) / (Divisão: usado para tipo de dados inteiros e reais) % (Resto da divisão: usado para tipo de dados inteiros) ++ (Incremento de 1: usado para tipo de dados inteiros) -- (Decremento de 1: usado para tipo de dados inteiros) > (Maior do que) < (Menor do que) >= (Maior igual a) <= (Menor igual a) == (Igual a) != (Diferente de) && (E) || (Ou) ! (Não) Entrada e saída de dados scanf() Função de entrada de dados. Dentro do () coloca-se a especificação da variável que receberá a entrada de dados. scanf(“string-formatação“, < lista de parâmetros >); Exemplos: scanf(“%d”, &num); lê um valor do tipo inteiro (através de %d) e armazena na variável num ( através de &num). printf() Função de saída de dados. Dentro do () coloca-se a especificação do que será impresso na tela de saída e códigos de formatação do dado que será exibido. 3 printf(“string-formatação“, < lista de parâmetros >); Exemplos: printf(“ Mensagem”); Saída: Mensagem printf(“Um número lido: %d”, num); Saída: Um número lido: 3 Códigos de formato: %d Referência ao tipo de dados de números inteiro %f Referência ao tipo de dados de números reais %c Referência ao tipo de dados de caracter Exemplo usando Lingaguem C Vamos implementar um programa que calcule a média de 3 variáveis. A ideia do programa é: Início Declaração das variáveis que serão usadas no processo Leitura das variáveis de entrada Cálculo da média Impressão das variáveis de saída Fim do programa Os comandos básicos em C e C++ são: # include <stdio.h> # include <stdlib.h> Usa os códigos de c # include <math.h> Usa operações matemáticas main (), void main(), int main() Função principal, identifica o programa. {} Abre/fecha estruturas de comando (main (),if, else, for, while, switch) () Abre/fecha comandos específicos para as estruturas ; Fecha uma linha de comando. Int Variáveis inteiras. float Variáveis flutuantes char Caracteres printf( “ ”) Imprime o que está escrito entre as “ “ \n Quebra uma linha printf( “%d”, y) ou printf( “%f”, y) Imprime o valor inteiro ou flutuante da variável y scanf(“%d”, &y) ou scanf(“%f”, &y) Insere valor inteiro ou flutuante da variável y && E || Ou == Igual != Diferente > Maior < Menor <= Menor ou igual >= Maior ou igual * Multiplicação / Divisão % Resto da divisão 4 = A variável anterior recebe o valor especificado a frente if () Condicional “se” for () Loop “para” do --------------------- while() Loop “faça -------- enquanto” while () Loop “enquanto” switch () -------------- case Condicional “escolha ---- caso” system (“pause”) Impede a janela de execução fechar de imediato break Para alguma execução, loop ou condicional Em Linguagem C, o programa ficaria da seguinte forma: #include <stdlib.h> #include<stdio.h> int main() { int x, y, z; float media; printf("\nDigite 3 valores: \n"); scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); media=(x+y+z)/3; printf("\n --> A media dos 3 numeros: %f \n", media); return(0); } Para entender melhor o código, vamos por partes: Código Explicação #include <stdlib.h> #include<stdio.h> Chamada das bibliotecas que contem os códigos usados no programa. int main() { Inicia o programa principal, “main”, que retorna a um valor inteiro, indicado pelo “int”. int x, y, z; float media; Declaração das variáveis de entrada e saída que serão usadas no do programa. “Int” e “float” correspondem ao tipo de variável (número inteiro e real, respectivamente) printf("\nDigite 3 valores: \n"); Comando de saída, ou seja, queimprime na tela de execução do programa a mensagem ou a variável descrita em seu processo. scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); Comando de entrada, ou seja, de entrada de valor para a variável. O valor é digitado pelo usuário. media=(x+y+z)/3; printf("\n --> A media dos 3 numeros: %f \n", media); Processo de execução da operação do programa. Ou seja, há a a conta aritmética da média e a impressão do resultado na tela. return(0); } Finaliza o programa principal, indicando o valor 0 como valor de retorno, caso tudo ocorra bem na execução do código. Condicional (if e switch) A condicional trata-se de uma verificação lógica de uma expressão ou de uma variável. Assim, o programa determinando se a expressão é verdadeira ou falsa, segue o caminho indicado no código para a opção verificada. No exemplo anterior de cálculo da meia, se considerarmos os 3 valores incluídos como notas de uma matéria, podemos usar o if para verificar se o resultado da média é maior ou menor do que 60, ou seja, se a média das provas gerou a aprovação ou reprovação do aluno. 5 #include <stdlib.h> #include<stdio.h> int main() { int x, y, z; float media; printf("\nDigite as 3 notas: \n"); scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); media=(x+y+z)/3; printf("\n --> A media e: %f \n", media); if(media<60) { printf(“REPROVADO\n”); } else { printf(“APROVADO\n”); } return(0); } Código Explicação if(media<60) Verifica o valor da media e compara se ela é realmente menor do que 60 { printf(“REPROVADO\n”); } Sendo verdadeira a verificação, ou seja, se media for menor do que 60, será impresso na tela a palavra “REPROVADO” Else Indica o caminho a ser seguido caso a verificação da expressão em if for falsa. { printf(“APROVADO\n”); } Sendo falsa a verificação, ou seja, se media não for menor do que 60, será impresso na tela a palavra “APROVADO” No caso do switch, podemos usar para verificar o valor exato de uma variável. É muito utilizado para programas que precisam de menus de execução, escolha de opções. Uma calculadora simples, por exemplo. #include <stdlib.h> #include<stdio.h> int main() { int opcao; float x, y, resultado; printf("Digite os 2 numeros que serao usados na operacao matematica: \n"); scanf("%f%f", &x, &y); printf("Escolha a operacao matematica: \n 1 para SOMA \n 2 para SUBTRACAO \n "); scanf("%d", &opcao); switch(opcao) { case 1: resultado=x+y; printf("\nRESULTADO da soma: %f\n", resultado); break; 6 case 2: resultado=x-y; printf("\nRESULTADO da subtracao: %f\n", resultado); break; default: printf("\nOpcao invalida. \nImpossivel realizar a conta."); break; } return(0); } Código Explicação switch(opcao) Verifica qual o valor lido na variável ‘opcao’ case 1: Se o valor lido na variável ‘opcao’ for o número 1, o programa irá executar o código descrito nessa situação. case 2: Se o valor lido na variável ‘opcao’ for o número 2, o programa irá executar o código descrito nessa situação. default: Se o valor lido na variável ‘opcao’ for qualquer outro número, diferente dos números nas opções anteriores, o programa irá executar o código descrito nessa situação. break; Importante colocar o ‘break’ após cada opção, para que o programa não execute as opções seguintes dentro do switch. Loops (for, while e do while) Os loops são as estruturas de repetição do código, ou seja, permitem que um mesmo código seja executado várias vezes sem ter que digitar sua estrutura novamente. O loop de repetição dura o tempo limitado pela variável e expressão aritmética declarada para ele. Por exemplo: No código da média das notas, podemos usar um loop para que o mesmo código seja executado para vários alunos ao mesmo tempo. Supondo que se trata de uma turma de 15 alunos, ficaria da seguinte forma: Usando o for: #include <stdlib.h> #include<stdio.h> int main() { int x, y, z, a; float media; for(a=1;a<=15;a++) { printf("\nDigite as 3 notas: \n"); scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); media=(x+y+z)/3; printf("\n --> A media e: %f \n", media); if(media<60) { printf(“REPROVADO\n”); } else { printf(“APROVADO\n”); } 7 } return(0); } Código Explicação for(a=1;a<=15;a++) Significa: para uma variável a começando no valor 1, finalizando no valor 15, onde cada volta no código a é acrescido com +1, faça o código abaixo. a=1; a pode ser qualquer variável. Aqui, indica que o valor inicial dela é 1. a<=15; a pode ser qualquer variável. Aqui indica que a repetição acontecerá enquanto a for menor ou igual a 15. a++ a pode ser qualquer variável. Aqui indica que a aumentará de valor somando 1 a cada volta de repetição do código. Usando while: #include <stdlib.h> #include<stdio.h> int main() { int x, y, z, a; float media; a=1; while(a<=15) { printf("\nDigite as 3 notas: \n"); scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); media=(x+y+z)/3; printf("\n --> A media e: %f \n", media); if(media<60) { printf(“REPROVADO\n”); } else { printf(“APROVADO\n”); } a++; } return(0); } Código Explicação while(a<=15) Significa: enquanto uma variável a for menor ou igual a 1, faça o código abaixo. a=1; Aqui indica que a variável a recebe o valor de 1. a++; Aqui indica que a aumentará de valor somando 1. Usando do while: #include <stdlib.h> 8 #include<stdio.h> int main() { int x, y, z, a; float media; a=1; do { printf("\nDigite as 3 notas: \n"); scanf("%d", &x); scanf("%d", &y); scanf("%d", &z); media=(x+y+z)/3; printf("\n --> A media e: %f \n", media); if(media<60) { printf(“REPROVADO\n”); } else { printf(“APROVADO\n”); } a++; } while(a<=15); return(0); } Código Explicação do Significa: faça o código abaixo, enquanto uma variável a for menor ou igual a 15. while(a<=15); Aqui indica a condição final da estrutura de repetição, ou seja, o programa irá fazer o código anterior a essa estrutura até o valor de a for 15. 9 REFERÊNCIAS BIBLIOGRÁFICAS FARRER, Harry et al. Algoritmos Estruturados. 3. ed. Rio de Janeiro: Livros Técnicos e Científicos, c1999. SANTOS, Henrique José. Linguagem C. UFMG. Disponível em: http://www.ead.eee.ufmg.br/cursos/C. Sistemas industriais inteligentes. Curso de Linguagem Computacional C/C++. Universidade de Santa Catarina. Disponível em: http://s2i.das.ufsc.br. http://www.ead.eee.ufmg.br/cursos/C http://s2i.das.ufsc.br/
Compartilhar