Disciplina de Algoritmos e Programação

Documentos relacionados
Algoritmos e Programação

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Manipulação de strings. Prof. Alex Camargo

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Apêndice B. Cadeias de Caracteres (Strings)

Caracteres. Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Cadeias de Caracteres (Strings)

SITUAÇÃO VETORES. Imagine o seguinte problema:

ESTRUTURAS COMPOSTAS VETOR

Estrutura do programa

Strings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.

ESTRUTURAS COMPOSTAS VETOR

ESTRUTURAS COMPOSTAS

INF 1005 Programação I

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Introdução a Computação

Aula 15: Repetição (Parte 3)

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

LP II Estrutura de Dados

Linguagem C (repetição)

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Introdução à Programação

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Aula 14: Repetição (Parte 2)

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos...

Vetores II. Strings Leitura e exibição Biblioteca string.h Operações com Strings. Matrizes Definição de Acesso Operações com Matrizes

Introdução a Programação. Strings (Vetor de Caracteres)

LÓGICA DE PROGRAMAÇÃO. Resumo da Linguagem C. Sérgio Carlos Portari Júnior

Introdução a Programação de Jogos

Linguagem de Programação I. Aula 11 Strings

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova

Aula 2 Comandos de Decisão

Modulo 4: while do while (limites de variáveis)

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

CCO 016 / COM 110 Fundamentos de Programação

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27

Caracteres, Vetores e Matrizes

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:

Estruturas de Repetição

Introdução à Programação. Estruturas de Repetição

Entrada. Comando 1 Comando 2. Saída

Introdução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse

Tratamento de Caracteres

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

Revisão. Profa Marina Gomes

Estruturas de Controle em Linguagem C

MC-102 Aula 11 Strings

Técnicas de Programação: Comandos de Controle de DEE UFPB

Modulo 3: Else, Case, For...

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

3. Linguagem de Programação C

Introdução à Linguagem C. Strings. Laboratório de Programação Prof.Alfredo Parteli Gomes

MC-102 Aula 06 Comandos Repetitivos

CCO 016 / COM 110 Fundamentos de Programação

Linguagem C. André Tavares da Silva.

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Programação Básica. Estrutura de um algoritmo

Estruturas de Repetição. for() while() do-while() break; continue;

Strings. Adaptado de Deise Saccol

Aula 05 -Introdução àlinguagc Programação: Estr. Dados Strings

Introdução à Programação. Strings

Linguagem de Programação

Algoritmos e Programação

Métodos Computacionais. Strings (Vetor de Caracteres)

Programação de Computadores IV. Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques

Aula 14: Estruturas de Seleção e Controle em C

Linguagem C: Introdução

Computação Informática

Linguagem C estruturas de repetição

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

CCO 016 Fundamentos de Programação

Estruturas de Dados Aula 6: Cadeias de 28/03/2010

Estruturas de Dados Aula 6: Cadeias de Caracteres

C Comandos de Controle

Disciplina de Algoritmos e Programação

Estruturas de Controle

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h.

Computação eletrônica: Estruturas de repetição

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Vetores. Vetores. Vetores. Vetores. Vetores. Algoritmos e Lógica de Programação. Vetores

Vetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz

Índice Valor C A D E I A \0 memória

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Programação de Computadores II

Introdução à Programação em C

Transcrição:

Disciplina de Algoritmos e Programação

Último Conteúdo Estruturas de condição Estrutura condicional simples Utilização da estrutura de condição if com expressões lógicas simples Utilização do comando if com expressões lógicas compostas (&& e ) Estrutura condicional composta Utilização da cláusula else na estrutura if Comandos if aninhados Estrutura de seleção múltipla Utilização da estrutura de condição switch

Aula de Hoje Teórica Funções auxiliares para manipulação de String Estruturas de Repetição while do... while for Teste de Mesa

Funções de Manipulação de Strings As funções de manipulação de stringssão funções pré-definidas presentes na biblioteca string.h Necessário incluir a biblioteca string.h no programa fonte #include <string.h>

Funções de Manipulação de Strings gets(leitura de Strings) Função pré-definida na biblioteca string.hque permite a leitura de strings com espaços Sintaxe: gets(char *string); Ex.: char string[20]; gets(string); // Teclado = aula de algoritmos printf( %s\n,string); // Tela = aula de algoritmos

Funções de Manipulação de Strings #include <stdio.h> int main() { char str[20]; scanf("%[a-z a-z]",str); printf("a string digitada foi: %s\n", str); return 0; /*ler caracteres de todo alfabeto em maiúsculo, o espaço em branco e minúsculo, respectivamente */

Funções de Manipulação de Strings #include <stdio.h> int main(){... scanf("%[^\n]", str);... /*A instrução [^\n] diz ao comando scanf() para ler tudo até encontrar retorno de carro (ENTER, representado pelo símbolo '\n'*/

Funções de Manipulação de Strings #include <stdio.h> int main(){... scanf("%[^\n]", str);... /*A instrução [^\n] diz ao comando scanf() para ler tudo até encontrar retorno de carro (ENTER, representado pelo símbolo '\n'*/ // fflush(stdin)

Funções de Manipulação de Strings puts (Escrita de Strings) Função pré-definida na biblioteca string.h que permite a impressão de uma string na tela Sintaxe: puts(char *string); Ex.: char string[20]= Caracteres ; puts(string); // Tela = caracteres

Funções de Manipulação de Strings strcpy (Cópia de Strings) Função pré-definida na biblioteca string.h que permite copiar uma string para outra Sintaxe: char *strcpy(char *destino, const char *origem); Ex.: char destino[20]; strcpy(destino, String origem ); printf( %s\n,destino); // Tela = String origem

Funções de Manipulação de Strings strcat (Concatenação de Strings) Função pré-definida na biblioteca string.h que permite a concatenação de duas strings Sintaxe: char *strcat(char *destino, const char *origem); Ex.: char origem[10]= Fim,destino[20]= Inicio ; strcat(destino,origem); printf( %s\n,destino); // Tela = InicioFim

Funções de Manipulação de Strings strcmp(comparação de Strings) Função pré-definida na biblioteca string.hque permite a comparação de duas strings Retorna 0 se as duas stringsforem iguais Retorna -1 se a 1ª stringfor menor (alfabeticamente) que a 2ª Retorna 1 se a 1ª stringfor maior (alfabeticamente) que a 2ª Sintaxe: int strcmp(char *string1, char *string2); Ex.: char string1[10]= Carro,string2[10]= Moto ; printf( %d\n, strcmp(string1,string2)); // Tela = -1

Funções de Manipulação de Strings strlen (Comprimento de Strings) Função pré-definida na biblioteca string.h que retorna o comprimento de uma string Sintaxe: int strlen(char *string); Ex.: char string[10]= Fim ; printf( %d\n,strlen(string)); // Tela = 3

Exercícios Faça um programa que leia um nome e um sobrenome e mostre na tela: Nome completo, guardado em uma string diferente das lidas Quantidade de caracteres do nome completo RESTRIÇÃO: NÃO USE A BIBLIOTECA STDIO.H

Comando while Sintaxe: while(condição) comando; // este será repetido enquanto a condição for V Em geral: while(condição) { comando_1; comando_n; Observação: No while, paraqueo comando(oubloco de comandos seja executado, pelo menos umavez, é necessárioquea condiçãoseja verdadeira pelo menos uma vez

Comando do... while Sintaxe: do comando; while(condição); // executa novamente o comando se a condição for V Em geral: do { comando_1; comando_n; while(condição); Observação: No do... while, aocontráriodo while, é garantido que, pelomenosumavez, o comando(ou bloco de comandos) será executado. IAC-2009/1

Comando for Sintaxe: for (comando_inicial; condição; comando_final) comando; // este será repetido enquanto a condição for V Em geral: for (i = valor_inicial ; condição em relação a i; inc/dec i) { comando_1; comando_n;

Diferenças e Semelhanças?? { comando_1; comando_n;

Exemplo de Equivalência i=0;//inicialização while (i<10){ comando_1; comando_n; i++;// incremento for(i=0; i<10; i++) { comando_1; comando_n;

Exercícios A) Faça um programa em Linguagem C que leia um número inteiro positivo (n) e que apresente na tela os números inteiros existentes no intervalo fechado entre 0 e n, um por linha, em ordem crescente. Se for lido um número que não seja inteiro positivo, o programa deve informar que o número lido não é inteiro positivo e terminar. 1) Usando o comando while 2) Usando o comando do... while 3) Usando o comando for

1) Usando while #include <stdio.h> int main(void) { int n,i; printf( Digite um número inteiro positivo: ); scanf( %d,&n); if (n<1){ printf( Número não é inteiro positivo\n ); else { i=0; while (i<=n) { printf( %d\n,i); i++; return 0;

2) Usando do... while #include <stdio.h> int main(void) { int n,i; printf( Digite um número inteiro positivo: ); scanf( %d,&n); if (n<1){ printf( Número não é inteiro positivo\n ); else { i=0; do { printf( %d\n,i); i++; while (i<=n); return 0;

3) Usando for #include <stdio.h> int main(void) { int n,i; printf( Digite um número inteiro positivo: ); scanf( %d,&n); if (n<1){ printf( Número não é inteiro positivo\n ); else { for (i=0; i<=n; i++) printf( %d\n,i); return 0;

Comparação Com while i=0; while (i<=n) { printf( %d\n,&n); i++; Com do... while i=0; do { printf( %d\n,i); i++; while (i<=n); Com for for (i=0; i<=n; i++) printf( %d\n,i);

Exercícios B) Faça um programa em Linguagem C que leia um número inteiro positivo (n) e que apresente na tela os números inteiros existentes no intervalo fechado entre 0 e n, um por linha, em ordem decrescente. Se for lido um número que não seja inteiro positivo, o programa deve informar que o número lido não é inteiro positivo e terminar. 1) Usando o comando while 2) Usando o comando do... while 3) Usando o comando for

Exercícios C) Faça um programa em Linguagem C que leia um número inteiro positivo (n) e que apresente na tela os números inteiros existentes no intervalo aberto entre 0 e n, um por linha, em ordem crescente. Se for lido um número que não seja inteiro positivo, o programa deve informar que o número lido não é inteiro positivo e terminar. 1) Usando o comando while 2) Usando o comando do... while 3) Usando o comando for

Exercícios D) Faça um programa em Linguagem C que leia números reais e que, conforme vão sendo lidos os números, apresente a soma dos valores já lidos. Quando o usuário digitar o valor 0, o programa deve terminar. 1) Usando o comando while 2) Usando o comando do... while 3) Usando o comando for

Exercícios E) Faça um programa em Linguagem C que leia números reais e que, conforme vão sendo lidos os números, apresente a média dos valores já lidos. Quando o usuário digitar o valor 0, o programa deve terminar. 1) Usando o comando while 2) Usando o comando do... while 3) Usando o comando for

#include <stdio.h> #include <stdlib.h> int main(void) { float media=0,valor,i; printf("digite um número real: "); scanf("%f",&valor); for (i=1;valor!=0;i++) { media=(valor+(media*(i-1)))/i; printf("média atual = %f\n",media); printf("digite um número real: "); scanf("%f",&valor); system("pause"); return 0; 3) Usando for

Teste de Mesa Conforme os programas ganham complexidade, mais complicada fica a depuração processo de busca e correção de erros de programação Teste de Mesa Método adotado para auxiliar na depuração de um programa e/ou do algoritmo Simulação de todos os passos: entradas, comandos e instruções do algoritmo; a fim de saber se ele chega ao resultadoaquesepropõeesealógicaestácorreta

Teste de Mesa Simulação Preencher uma tabela com valores para as variáveis e seguir o fluxo de execução do programa, simulando a execução de cada instrução Refazendo o que o computador faria ao executar cada instrução A cada comando simulado (executado), os valores das variáveis na tabela devem ser atualizados Se, para uma instrução executada, uma ou mais variáveis não ficarem com os valores esperados, há um erro na lógica do algoritmo