Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica e Linguagem de Programação Estruturada Profa. Dra. Jaqueline Silva de Souza Pinheiro Manaus – Amazonas Formação Acadêmica • UA, Assunção - 2017, Doutorado em Educação. • UFPA, Pará – 2010, Mestrado em Engenharia de Processos. • UFAM, Amazonas – 2005, Especialização de Metodologia do Ensino Superior. • UFAM, Amazonas – 2002, Especialização em Desenvolvimento de Sistemas. • ULBRA, Amazonas – 2000, Graduação em Informática. Objetivo DESENVOLVER O RACIOCÍNIO LÓGICO DO ALUNO ATRAVÉS DE INICIAÇÃO EM ALGORITMO E ESTIMULAR A CRIATIVIDADE PARA O DESENVOLVIMENTO DE PROGRAMAS. Avaliação de Diagnostico 1. O que é uma variável? 2. Como se declara uma variável? 3. Quais os tipos de expressões? 4. Qual a função do comando de entrada e saida? 5. Como se classifica a estrutura de decisão? 6. Como se classifica a estrutura de repetição? 7. O que é um contador e um acumulador? Qual sua sintaxe? 8. Desenvolva os algoritmos a seguir: Avaliação de Diagnostico a. Entrar com o peso e a identificação de 5 ovelhas. Ao final especifique a ovelha mais pesada e o seu número de identificação e a mais leve e o número de identificação. b. No dia da estreia do filme “Senhor dos Anéis”, uma grande emissora de TV realizou uma pesquisa logo após o encerramento do filme. Cada espectador respondeu a um questionário no qual constava sua idade e a sua opinião em relação ao filme: excelente – 3; bom – 2; regular – 1. Criar um algoritmo que receba a idade e a opinião de 20 espectadores, calcule e imprima: • A média das idades das pessoas que responderam excelente; • A quantidade de pessoas que responderam regular; • A percentagem de pessoas que responderam bom entre todos os expectadores analisados. Avaliação de Diagnostico c. Receber vários números do teclado e informar se ele é divisível por 10, por 5, por 2 ou se não é divisível por nenhum destes. d. Entrar com a idade de várias pessoas e imprimir: Total de pessoas com menos de 21 anos; Total de pessoas com mais de 50 anos. A somatória das idades. e. Ler um número e se ele for maior do que 20, então imprimir a metade do número senão imprimir a quinta parte do valor. Fundamentos da Linguagem C • Historia da Linguagem; • Características da Linguagem C; • Estrutura Básicas de um Programa em C; • Tipos de Dados e Variáveis; • Comandos de Entrada/Saída; • Expressões matemáticas e lógicas; História da linguagem C • Foi inventada e implementada na década de 1970 por Dennis Ritchie. • Utilizada para o desenvolvimento de programas para o sistema operacional Unix. • Nasceu a partir de uma linguagem mais antiga chamada BCPL, que influenciou outra linguagem chamada B (Ken Thompson). • A evolução da linguagem B levou ao desenvolvimento da linguagem C. História da linguagem C História da linguagem C • O sistema Unix é escrito em C e C++. • C++ é uma extensão da linguagem C. • Permite a construção de programas em diversos sistemas operacionais, mas não é multiplataforma. • É compilada. • É considerada muito rápida. • Utilizada para desenvolvimento de sistemas operacionais. • Utilizada para desenvolvimento de jogos. Portabilidade Simplicidade Estruturada Modularidade Rápida Nível Intermediário Vantagens da Linguagem C Ambientes de programação Existem vários ambientes para a linguagem C • NetBeans • Code::Blocks • Microsoft Visual C++ • Turbo C++ • Borland C++ • Dev-C++ • Eclipse for C/C++ Compilador • São programas sofisticados que traduz o código fonte para uma linguagem que o computador possa entender (linguagem de maquina). • O compilador lê as instruções uma por vez, verificando sua sintaxe e convertendo a instrução para a linguagem de maquina, porém não a executa ainda. Compilador • Caso não haja erro o compilador gera um programa em disco com o sufixo .OBJ contendo as instruções traduzidas. • Este programa só será executado quando todas as rotinas necessárias para execução estiverem agregadas. • Este processo é feito pelo “linkeditor” que, além disso, cria um programa com o sufixo .EXE que pode ser executado diretamente pelo sistema operacional. Programa no DevC++ • Criar um novo programa através da opção: File -> New Source File. Na janela que aparece, você digita o seu programa. • Compilar e executar através da opção: Execute -> Compile and Run ou Ctrl+F10, ou buscando a opção "Compile and Run" na barra de ferramentas. • Download: http://www.bloodshed.net/devcpp.html http://www.bloodshed.net/devcpp.html O ambiente Dev C ++ Dicas • Termine todas as linhas com ; • Sempre salve o programa antes de compilar; • Sempre compile o programa antes de executar; • Quando ocorrer um erro de compilação, dê um duplo clique sobre a mensagem de erro para destacar o comando errado no programa; • Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar o “;” • Use comentários, iniciados por //. Palavras Chaves • Alguns compiladores podem fazer uso de outras palavras-chaves (palavras reservadas) que não estão presentes na lista abaixo. • As palavras-chaves são escritas sempre em letras minúsculas, senão o compilador ira entender como variável e não comando. . Palavras Chaves 32 palavras-chaves existentes em C Palavras chaves em C (padrão ANSI) auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do If static while Estrutura básica de um programa em C Estrutura básica de um programa em C Declaração de bibliotecas Função principal Corpo do programa Retorno para o Sistema Operacional // Aqui é digitado as // instruções Estrutura básica de um programa em C • A linha int main() indica que estamos definindo uma função de nome main; • O conteúdo da função é delimitado por chaves { }. • A palavra int indica que esta função retorna um inteiro. • A última linha do programa, return(0): o retorno zero indica ao SO que o programa foi bem sucedido. Cada outro número retornado indica o código de uma condição de erro. Estrutura básica de um programa em C • Um programa é composto de uma ou mais funções; • Sendo que a única função obrigatória é a main( ): serve como o ponto de partida para a execução do programa; • Esta é a primeira função a ser chamada toda vez em que o programa é executado. Estrutura básica de um programa em C • Toda função deve ter o seu nome precedido de parênteses “( )”, indicando que se trata de uma função. • Os símbolos “{“ e “}” representam o inicio e o termino da função respectivamente. • A palavra reservada void na frente da função main( ) indica que ela não retorna nenhum valor. Bibliotecas • A linha #include <stdio.h> diz ao compilador que ele deve incluir o arquivo-cabeçalho stdio.h. (std = standard, padrão em inglês; io = Input/Output, entrada e saída ==> stdio = Entrada e saída padronizadas). Bibliotecas Biblioteca que habilita os comandos de entrada e saída de dados Outras bibliotecas <string.h> <math.h> <stdlib.h> <conio.h> <time.h> Bibliotecas Função principal do sistema, é nela que iremos execultar todo o programa. Convensão mais utilizada. main( ) { } Funções Matemáticas Tangente de xtan(x)tan Raiz quadrada de xsqrt(x)sqrt Seno de xsin(x)sin Calcula x elevado à potência ypow(x, y)pow Logaritmo decimal de xlog10(x)log10 Logaritmo natural de xlog(x)log Arredonda o número deal para baixo; floor(3.2) é 3floor(x)floor Valor absoluto de xfabs(x)fabs Elevado à potencia xexp(x)exp Cosseno de x (x em radianos)cos(x)cos Arredonda o número real para cima; ceil(3.2) é 4ceil(x)ceil ComentárioExemploFunção #include <math.h> Expressões aritméticas 5 % 3 2 Expressões lógicas Operadores de Atribuição Equivale a x = x % yx %= y%= Equivale a x = x / yx /= y /= Equivalea x = x * yx *= y *= Equivale a x = x – yx -= y-= Equivale a x = x + yx += y += Atribui o valor de y a xx = y= ComentárioExemploOperador Tipos de Dados Tipos de dados básicos (padrão ANSI) Tipo Tamanho aproximado Faixa de Abrangência Bytes Bits char 1 8 [-128..127] int 2 16 [-32768..32767] float 4 32 [3.4E-38..3.4E38] double 8 64 [1.7E-308..1.7E308] Variável Conceito: É uma posição de memória que recebe um nome e é usada para guardar um valor que pode ser modificado durante a execução do programa. Variável • O C é "Case Sensitive" : • maiúsculas e minúsculas fazem diferença. • Identificador de uma variável: Soma, SOMA, SoMa ou sOmA. Declaração de Variável Sintaxe: <tipo_de_dados> identificador; Exemplo: int numero; float salario; char letra; Declaração de Variável Declarando variaveis; int inteiro float real double char caracter 36 Comando de atribuição • Atribui o valor da direita à variável da esquerda • O valor pode ser: • uma constante, • uma variável ou uma expressão Pseudocódigo X := 4; Y := X + 2; Valor := 2.5; Sexo := “F”; Na Linguagem C... X = 4; Y = X + 2; Valor = 2.5; Sexo = ‘F’; Programa no DevC++ #include <stdio.h> /* Um Primeiro Programa */ int main () { printf ("Ola! Eu estou vivo!\n"); return(0); } Ola! Eu estou vivo! Programa no DevC++ #include <stdio.h> #include <stdlib.h> /* Um Primeiro Programa */ int main () { printf ("Ola! Eu estou vivo!\n"); system("pause"); return(0); } Ola! Eu estou vivo! 39 Portabilidade Pseudocódigo Algoritmo media; Var n1,n2,md: real; inicio Fim. Na Linguagem C... #include <stdio.h> main( ) { float n1, n2, md; } 40 Entrada = Scanf ( ) e Saída de Dados = Printf ( ) Portabilidade Função Scanf ( ) Scanf ( )é: (string-de-controle,lista-de-argumentos); Ex: scanf ( “ %f ”, &num); Obs: Colocar o & antes das variáveis da lista de argumentos. %d ou %i int %f float %lf double %c char %s palavra Função Scanf ( ) Scanf ( )é: (string-de-controle,lista-de-argumentos); • A função scanf() funciona muito bem para os tipos int, float, double, entre outros; • Quando se trata do armazenamento de um texto, deve-se utilizar o char com definição de tamanho; Função Scanf ( ) A partir do momento em que se declara uma variável, ela ocupa um endereço de memória. ”%f” – tipo ’real’ que será lido. Agora é float. & - aponta para o endereço da memória que foi armazenado no momento da declaração. 44 Função Scanf ( ) Exemplos: int i, j; float x; char ca, nome[10]; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &ca); scanf("%s", &nome); %d inteiro decimal %f float %lf double %c char %s string Não deixar espaço em branco!!! 45 Portabilidade Entrar com três notas e gere a média aritmética. Pseudocódigo Algoritmo Ex1; var n1,n2, n3: real; md: real; inicio leia (n1); leia (n2); leia (n3); md:= (n1+n2+n3)/3; escreva (md); fim. Na Linguagem C... #include <stdio.h> main( ) { float n1, n2, n3, md; scanf ("%f",&n1); scanf ("%f",&n2); scanf ("%f",&n3); md= (n1+n2+n3)/3; printf(“%f ”,md); } A saída de dados agora também deverá conter os dados do tipo que se deseja imprimir ”%f” – tipo ’real’ que será impresso. Agora é float. 46 Portabilidade Entrar com três notas e gere a média aritmética. Pseudocódigo Algoritmo Ex1; var n1,n2, n3: real; md: real; inicio leia (n1); leia (n2); leia (n3); md:= (n1+n2+n3)/3; escreva (md); fim. Na Linguagem C... #include <stdio.h> main( ) { float n1, n2, n3, md; scanf ("%f %f %f",&n1, &n2, &n3); md = (n1+n2+n3)/3; printf(“%f ”, md); } Função Printf ( ) Printf( ) é:(string-de-controle,lista-de-argumentos); Ex: printf ( “ Entre com um numero:” ); scanf ( “ %d ”, & num); Obs: Códigos de controle, que usam a notação %. Função Printf ( ) • Apresentamos agora alguns dos códigos %: Código Significado % d ou %i Inteiro % f Float % c Caractere % s String %% Coloca na tela um % Função Printf ( ) Exemplos: • Printf(“Teste %% %%”) Teste %% • Printf(“%f”,40.345) 40.345 • Printf(“Um caractere %c e um inteiro %d”, “D”,120) Um caractere D e um inteiro 120 • Printf(“ %s e um exemplo”, “Este”) “Este e um exemplo” • Printf(“Juros de %d %s”,10, “%”) “Juros de 10%” Função Printf ( ) #include <stdio.h> int main ( ) { int Dias; /* Declaração de Variáveis*/ float Anos; printf ("Entre com o número de dias: "); scanf("%d",&Dias); Anos=Dias/365.25; printf("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); return(0); } Formatação de pontos flutuantes Por default, a maioria dos compiladores C exibem os números de ponto flutuante com seis casas decimais. Para alterar este número podemos acrescentar .n ao código de formatação da saída, sendo n o número de casas decimais pretendido. #include int main() { printf("Default: %f \n",3.1415169265); printf("Uma casa: %.1f \n",3.1415169265); printf("Duas casas: %.2f \n",3.1415169265); printf("Três casas: %.3f \n",3.1415169265); printf("Notação Cientifica: %e\n",3.1415169265); } Embora o número digitado possua 10 casas decimais imprimirá respectivamente, 6, 10, 1, 2, 3 e 10 casas decimais.
Compartilhar