Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Programação I Aula 3 – Notas de aula Comandos de Entrada e Saída. Operadores aritméticos. Estrutura sequencial. Estrutura de desvio. - Comandos de Entrada e Saída (continuação) Inserir a biblioteca stdio.h, que contém todas as definições necessárias para padrões de entrada e saída (I/O) #include <stdio.h> Saída de Dados: printf(string de controle) o A string de controle é composta por duas partes: os caracteres que serão impressos e o formato que estes serão exibidos. printf (“Um, %c, %d, %s”, ‘2’, 3, “quatro”); o Saída na tela: Um, 2, 3, quatro Entrada de Dados: scanf (string de controle) o A string de controle é composta por especificadores de formato, que são precedidos por um % e indicam o tipo de dado que será lido. o No scanf antes dos nomes da variáveis (que não são strings), deve-se inserir um & (indica o endereço da variável). scanf (“%d%d%f”, &b, &c, &a); C usa códigos com barra invertida para definir alguns caracteres especiais como constantes (tabela a seguir) Outros formatos e códigos podem ser encontrados no livro: SCHILDT, Herbert. C completo e total. São Paulo: Makron Books, 1997. - Operadores aritméticos (continuação) Conversão de tipos na atribuição: o valor da direita é convertido no valor da esquerda. Cast: força para que uma expressão assuma determinado tipo de dado. Exemplo: O que será exibido na tela? void main(void){ int i=5; float a, b; a = i/2; b = (float) i/2; printf("a = %f, b= %f\n", a, b); } Atribuições Múltiplas são permitidas: x = y = z = 0; C reduzido: x += 10; //Equivale a x = x + 10; x -= 5; //Equivale a x = x - 5; Operadores ++ e --: o podem ser usados antes ou depois do operando. Quando usado antes, a operação de incremento ou decremento é realizada antes da avaliação de toda a expressão. Quando usado depois, a operação é realizada após a avaliação da expressão. x = 10; y = ++x; //x e y valem 11 x = 10; y = x++; //x vale 11 e y vale 10 Exemplo: O que será exibido na tela, nos dois exemplos a seguir? #include<stdio.h> void main(void) { int x, y, z; x = 10; y = ++x * 2; z = -x++; z += 3; printf ("%d, %d, %d", x, y, y, z); } #include<stdio.h> void main(void){ int x, y; float z; x = 2; z = 5.56; y = z; z = y/x; printf("%d, %d, %f", x, y, z); } - Estrutura Sequencial Nos algoritmos com estrutura sequencial, as instruções são executadas em sequência, de cima para baixo na ordem em que foram escritas, uma após a outra, e nenhuma instrução é executada mais de uma vez. A execução sequencial limita muito o conjunto de problemas que pode ser tratados. Por isso, existem comandos que permitem uma execução não sequencial das instruções, são as Estruturas de Desvio e as Estruturas de Repetição. - Estrutura de Desvio A estrutura de desvio permite desviar a execução de instruções conforme o valor de um dado. Exemplos: Algoritmo para entrar na sala de aula; Exercício 12 da Lista 1. A estrutura de desvio permite que seja testada uma condição. Se a condição for verdadeira, um determinado conjunto de instruções é executado. Se a condição for falsa, outro conjunto de instruções é executado (ou o programa segue normalmente!). Desvio condicional simples, na linguagem C, tem o seguinte formato: o sem opção para o caso da condição ser falsa: if condição{ //conjunto de instruções } o com opção para o caso da condição ser falsa: if condição{ //conjunto de instruções } else { //conjunto de instruções } O que é a condição? o É o resultado de uma operação com operadores relacionais e lógicos! o Esta operação resulta em VERDADEIRO ou FALSO. o Em C, como não existe o tipo booleano, se o resultado for 0, é considerado FALSO. Se for um número diferente de zero é considerado VERDADEIRO. Operadores relacionais o São operadores que geram resultados lógicos (verdadeiro ou falso) pela comparação entre valores e/ou expressões. Os operadores relacionais tem a mesma prioridade. o Exemplos: Comparação entre valores: 10 > 2 Comparação entre variáveis: x <= y Comparação entre expressões: x < (3 + 5 – y) (x + t – 1) != (x – 1 * z) o Exemplo de operador relacional nas condições das estruturas de desvio. if (x > 10) x += 5; else x -= 5; Operadores lógicos: veremos na próxima aula! Exercícios o Desenvolva um algoritmo para ler um número inteiro e informar se este número é par ou impar. o Escrever um algoritmo para ler dois valores e informar qual é o maior valor lido. o Escrever um algoritmo para ler dois valores inteiros e escrever na tela a diferença do maior para o menor. o Exercício 5, da lista 1. Incluir a seguinte condição: se a média for maior ou igual a 7.0, o aluno estará aprovado, caso contrário, em Exame. o Exercício 12, da lista 1. Observar que a raiz quadrada existe apenas para números positivos e que não é possível realizar uma divisão pelo número zero.
Compartilhar