Introdução a Conceitos de Computação - Software

11.71k views2581 WordsCopy TextShare
UNIVESP
Ciclo Básico - COM140 Univesp - Universidade Virtual do Estado de São Paulo Professor: Cláudio Fabi...
Video Transcript:
[Música] o olá alunas e alunos do curso de introdução conceitos de computação nesta vídeo-aula o que falar um pouquinho sobre software começar nós temos diferenças entre software programa é algoritmo depois dos tipos de software vamos aprofundar um pouquinho novo nos algoritmos depois de mencionar em um pouco a respeito de linguagem de programação e o ciclo de vida do solta algoritmo ele descreve de uma forma mais informal a sequência de passos que o programa vai ter que executar o programa em um determinado a linguagem você pode usar por exemplo para o português para fazer essa descrição
como temos no exemplo aqui vamos realizar a divisão de dois números então eu tenho a entrada que é receber o dividendo divisor só comprar fazer a divisão alguém que chegasse o divisor vale zero serem vale zero a mensagem dizendo que de visual vai ser possível por outro lado eu vou poder calcular a divisão se o divisor no forno um fazer a divisão armazenar o resultado exibir se eu for dividir por zero terminou execução porque não faz sentido continuar por outro lado eu se for possível continuar eu faço a divisão exibir o resultado e também termina
o quarto o programa ele já é uma sequência de instruções que descritas por um algoritmo que permitem com que o computador realiza uma tarefa ou seja o algoritmo descreve passo a passo para resolver um problema o programa ele descreve esse algoritmo numa linguagem que a máquina consigo entender porque esse problema também vai ser traduzido por uma linguagem de máquina então aqui nós temos um código em ser no programa desenvolvido em cercas para sono a mesma coisa recebemos os valores avaliando esse divisor é muro fazemos exibições de mensagem ir aí sim entra anos por exemplo com
10 e 0 a mensagem de que a divisão não é possível vai aparecer se entrarmos com 10 e três vou ter o resultado da divisão então aqui nós teríamos o programa relacionado aquele algoritmo não sorte ele é formado por um ou mais programas e estruturas de dados os candidatos elas definem a organização os métodos de acesso às opções de processamento de uma coleção de itens de informação que vão tá sendo manipulados pelo programa então é a parte disso eu posso gerar softwares usando programas estruturas de dados para executar alguma tarefa que vai tornar mais fácil
a minha vida ou a vida da minha organização tão só que ele vai ter uma finalidade específica hoje em dia muito dos só pra gente já não estava acho que cê de né você compra online estava na sua máquina muito joguinhos a gente faz desse jeito bom é nesse contexto então o algoritmo ele é a primeira etapa onde eu defino a atacar aquele problema através de sonhos bem definidas em seguida old fico isso no programa através de uma linguagem de problema sol e esse programa como caso aqui para fazer a soma pode fazer parte de
um só para que além de somar realize outros cálculos como é o caso do matlab uma ferramenta ou só utilizado para diferentes cálculos em matemática engenharia e os tipos de software nós vamos ter um software básico de sistema que seriam as coleções de programas escritos para apoiar eles vão apoiar outros programas eles são tão contato mais direto com o ar ou água gerenciando a execução de outros é o caso dos sistemas operacionais é eles coordenam acesso a recursos do computador e do dos dispositivos de entrada e saída também temos como como software de sistema os
compiladores e interpretadores ele estado zen programas que estão numa linguagem para uma linguagem de errada para linguagem de máquina nesse caso o compilador a diferença do compilador por interpretado é que o compilador ele pega o programa compila todas as instruções verifica se tem problema se tiver tudo ok ele vai transformar em linguagem de máquina geral do executável e a partir daí você pode obter os dados usar esse executável para ter as saídas de desejar nunca se interpretador esse processamento já o a linha de expulsão por um exemplo de disso seria o pai para cada linha
você já vai ter aquela instrução sendo interpretada ou estados sendo processados e já sendo possível você interpretar e ter uma saída disso é só que utilitários são programas é que são úteis ao bom funcionamento do sistema computacional o caso do sky wars dos antivírus e softwares de aplicação nós temos aí as planilhas os editores e outras ferramentas que nos ajudam a executar tarefas o pudim já seria o conceito de uma extenção soccer um bom exemplo disso gente são os navegadores né eles têm é plugins que permitem você tocar música de uma estação de rádio assistir
filmes online codificar e decodificar e meio realizar operações bancárias tudo isso só funcionalidades que vocês têm sorte você pode estar entrando no seu navegador a mesma coisa para outros tipos de sopra como por exemplo joguinhos você pode fazer existem sorte o filho é ele é um conjunto de programas que o que atua dentro de sistemas embarcados neodi dispositivos de uso específico no caso é um conjunto de programas que já vem de fábrica tá armazenado no que eu falei na aula passada da da região e memory falou que vai ter que uma vez que você desligue
o dispositivo e sistema continua ali embarcado continua ali gravado no caso podendo tá gravado na memória da viola e menor trata-se então de uma classe específica de sopa de computador que fornece o controle mais de baixo nível para o hardware específico daquele dispositivo como é o caso aqui por exemplo de um roteador o algoritmo na boa definição de algoritmo é que ele é um conjunto finito de regras bem definido ou seja não tem habilidade ou tava a solução de um problema em tempo finito ele vai ter sim logo ele vai ter três qualidades né cada
passo do algoritmo vai ser realizado por uma instrução que capaz de ser entendi e a ordem dos passos deve ser precisamente determinada no gerar nenhum tipo de ambiguidade e o algoritmo deve ter fim há dois aspectos quando você está projetando o algoritmo deve ser levados em conta é a sua corretude a sua eficiência a corretude vai levar na linha de cada entrada possível o algoritmo terá fim como já mencionado em vai produzir a solução desejada ou seja prova entrada não posso ter uma sair um tipo de entrada saída e para mesma entrada outro tipo de
saída é nesse algoritmo né então eu tenho que ter uma consistência de resultado uma corretude de resultado a eficiência ela tem a ver com os recursos consumidos por esse algoritmo principalmente temos tempo e armazenamento então por exemplo se eu tenho eu resolvi resolvi resolvi solucionar o problema pulei dois algoritmos sendo tinha um leva o tempo para solucionar aquele programa significa que o o algoritmo de resolver mais rápido é uma é uma ideia mais eficiente para tratar aquele problema e vamos ilustrar agora a ideia do algoritmo através do tradicional exemplo da troca de pneu de um
carro você pode pensar bola porque eu falo com algoritmo tem que ter fim então ele vai ter no início eu vou mandar trocar opinião computador trocar o pneu e aí sim só que sua ajuda muito principalmente o coitado que vai desenvolver esse código você não deu muitas cristo então trocar pneu envolve mais coisas por exemplo o meu estepe tá fase sim então eu vou chamar um borracheiro então eu tô na verdade acionando outro sistema outro algoritmo senão eu vou ter que trocar o pneu fim só que tudo bem o borracheiro ele vai dar esse problema
para mim agora eu trocar o pneu trocar o pneu posso especificar mais e nesse caso eu vou ter que levantar o carro esse parafusar a roda colocar o estepe parafusar a roda baixar o carro observe que aqui nós temos a partir de uma estrutura condicional duas decisões a de chamar o borracheiro ou had trocar o pneu dependendo dessa condição aqui se o step tá vazio ou não partir dessa estrutura condicional nós conseguimos então definir aqui uma sequência de passos para o caso eu precisar trocar o pneu só que dá para ir além por quê porque
eu vou precisar repetir uma tarefa chata de desaparafusar a roda para cada um dos parafusos e o mesmo depois para parafusar basicamente é um mesmo tipo mas pessoal mundo que parecida que eu vou repetir várias vezes aí entra o conceito da estrutura de repetição para nós temos aqui uma o condicionar o condicionar um desvio condicional sim ou não e agora nós vamos compor uma estrutura de repetição como o parafuso tá preço se ele tiver preso eu vou precisar desaparafusar parafusar nesse caso eu vou ficar aqui preso nesse laço enquanto o parafuso tiver preso quando não
tiver mais parafuso preso eu vou poder colocar o estepe então aqui eu tenho uma estrutura de repetição com uma condição de saída porque isso tem que ter fim o próximo passo é parafuso tá preso a mesma questão é só que agora se a resposta for não eu vou precisar parafusar e eu vou ficar nessa situação enquanto o parafuso não tiver preso e quando todos tiverem preso eu saio fim do meu algoritmo então aqui nós temos a ideia do algoritmo que também pode ser representado através de uma pseudocódigo ele uma forma simples de escrever só que
eu sou seu código ele se aproxima mais de uma syntax né dentro das normas utilizadas por uma linguagem de programação mas ainda é informal só que ele vai fazer por isso por essa possibilidade ele facilita o mapeamento para uma linguagem de programação é o por exemplo aqui para fazer uma som eu posso declarar valores variáveis que eu vou está armazenando os valores que eu vou receber esses valores sem nenhum dois vou somar e guardar em soma e depois escrever o resultado dessa só uma linguagem de programação ela permite de escrever o o algoritmo de uma
maneira tio computador consegue entender ele consegue consegue ser convertido para linguagem de máquina e toda a linguagem de programação ela trabalha com um conjunto de símbolos estruturas de dados e comando para criar esses programas e no caso de venda dos pais mas nem sempre foi assim né as linguagens a primeira geração elas eram muito próximas de uma linguagem de máquina você trabalhava consequências de beats né onde os dados a serem processados a localização deles é a data mesmo por um tipo de representação binária parte ser entendida pela máquina por exemplo através de cartão de ter
furados a linguagem de montagem que já faz parte da segunda geração lá em louvor justamente porque ela tinha problemas tradutores né os assembléias que permitiam você escreveu usando algumas abreviações de comandos e isso era traduzido para linguagem de máquina a partir dessa ideia dos programas tradutores nós temos isso propiciou o surgimento das linguagens de mais alto nível é de terceira geração como é o caso do ser você tem os programas ainda eles ainda eram compilados e trabalhosos nas unidades de segunda geração por que demandavam grande número de inscrições é já linguagem de alto nível permitiram
você trabalha com comandos simples que podiam ter o mesmo efeito que o conjunto de comandos de uma linguagem de máquina então justamente por causa desse essa parte de tradução então você ficou mais eficiente você conseguia ter uma linguagem mais acessível principalmente por humano é poder modelar o que ele tá querendo resolver usando essa linguagem a linguagem de quarta geração ela ainda ela se aproxima mais ainda da da linguagem natural e um bom exemplo disso são as linguagens que trabalham com bancos de a kelly é usada para fazer consultas aos bancos de dados relacionais então você
vai ter seleção select e outros comandos que permitem você buscar essas informações de uma maneira bem mais simples uma linguagem bem mais simples ou no caso dos paradigmas de uma linguagem de programação nós temos o paradigma imperativo que seria o de linguagens como ser foltran linguagens nessa linha onde você tem uma sequência de comandos elementares que podem ser executados pelo rabo então você vai ter a manipulação de dados ea realização de operações é uma a um tipo de paradigma aqui se baseia justamente naquele processamento que a gente viu da arquitetura de von nome né o
tratamento dos dados e das descrições no paradigma funcional você vai fazer uma processamento acusando principalmente as condições essa ideia surgiu no na um adn alô especial ii e onde estamos disso foi a linguagem lisp surgida por volta de 1958 né ela mas tem outras linguagens que trabalham com esse paradigma de conduta e tratamento através de funções como rasca e miranda e o paradigma lógico ele também teve sua origem i.a. é principalmente por conta do processo diferença dedutivo e ele é um paradigma que tá mais focado nem tanto na solução de como problema vai ser solucionado
né assim como as instruções não está solucionado o problema mas em representar aquele problema modelar que ele problemas estados daquele problema é bom e por último nós temos a orientação objeto que vai na linha de enxergar o mundo através de uma coleção de itens onde esses itens têm atributos e métodos então por exemplo a gente pensar no carro o carro ele tem uma capacidade para no tanque dele tem uma potência no motor tem quatro pneus então ele tem vários atributos e ele também tem funcionalidades por exemplo tem carros hoje em dia que já estaciona sozinho
o tem carros vão ter a funcionalidade de acelerar de 0 a 100 em pouquíssimos segundos eu carro vira à direita vire a esquerda tudo isso só funcionalidades daquele objeto além dos atributos inerentes a ele a orientação a objetos trabalha com essa ideia para modelar os problemas e escreveu pode por exemplo disso java pai conservante mais e considerando agora o ciclo de vida do software não é quando você vai então pensar na criação de um software primeira coisa primeira etapa é a definição quais são os requisitos desse software uma vez que você conversa com o cliente
né você tem no cliente que quer um software para ajudar a resolver o problema dele você precisa saber exatamente o que ele quer né a partir dali você consegue já começar a estruturar os sistemas que vão estar envolvidos para lidar com aquele requisito depois disso vem a parte de desenvolvimento onde você vai trabalhar os algoritmos vai selecionar a linguagem para implementar esses algoritmo e vai iniciar o processo de implementação além disso você vai precisar testar todas as etapas aqui né nós podemos ter várias idas e vindas nesse processo por último vamos ter a manutenção que
é o que antes de você entregar o produto efetivamente o software você vai ver se há necessidade de algum tipo de alteração de algum tipo de correção ou vai adicionar alguma funcionalidade e além de preparar os manuais e muitas vezes você vai no seu cliente dá um treinamento para uso daquela ferramenta e com isso então macho temos algumas ideias relacionadas é só espero que os conceitos tenho ficado claro para vocês e nos vemos na próxima aula [Música]
Related Videos
Introdução a Conceitos de Computação - Sistema Operacional
20:41
Introdução a Conceitos de Computação - Sis...
UNIVESP
14,154 views
Introdução a Conceitos de Computação - Breve história da computação
16:30
Introdução a Conceitos de Computação - Bre...
UNIVESP
31,408 views
Introdução a Conceitos de Computação - Operações lógicas e tabela-verdade
19:59
Introdução a Conceitos de Computação - Ope...
UNIVESP
36,106 views
Introdução a Conceitos de Computação - Representação de Dados
15:20
Introdução a Conceitos de Computação - Rep...
UNIVESP
31,066 views
Introdução a Conceitos de Computação - Redes de Computadores
14:17
Introdução a Conceitos de Computação - Red...
UNIVESP
10,653 views
ООП на простых примерах. Объектно-ориентированное программирование
39:54
ООП на простых примерах. Объектно-ориентир...
Ulbi TV
1,116,269 views
Think Fast, Talk Smart: Communication Techniques
58:20
Think Fast, Talk Smart: Communication Tech...
Stanford Graduate School of Business
41,125,499 views
Introdução a Conceitos de Computação - Hardware
19:10
Introdução a Conceitos de Computação - Har...
UNIVESP
15,400 views
Introdução a Conceitos de Computação - Internet: Computação em Nuvem
20:28
Introdução a Conceitos de Computação - Int...
UNIVESP
10,996 views
12 Conceitos de Sistemas Operacionais que todo Estudante de Tecnologia precisa conhecer
22:03
12 Conceitos de Sistemas Operacionais que ...
Bóson Treinamentos
61,688 views
Clean Code - Uncle Bob / Lesson 1
1:48:42
Clean Code - Uncle Bob / Lesson 1
UnityCoin
1,954,905 views
Engenharia de Software - Introdução à Engenharia de Software
19:56
Engenharia de Software - Introdução à Enge...
UNIVESP
20,331 views
The Art of Code - Dylan Beattie
1:00:49
The Art of Code - Dylan Beattie
NDC Conferences
4,769,345 views
Introdução a Conceitos de Computação - Sistemas de numeração e conversão de bases
15:32
Introdução a Conceitos de Computação - Sis...
UNIVESP
21,261 views
The Making of Linux: The World's First Open-Source Operating System
11:33
The Making of Linux: The World's First Ope...
ForrestKnight
1,298,159 views
Just enough C to have fun
39:29
Just enough C to have fun
Kay Lack
53,437 views
Compilers, How They Work, And Writing Them From Scratch
23:53
Compilers, How They Work, And Writing Them...
Adam McDaniel (kiwi)
196,536 views
Introdução a Conceitos de Computação - Conceitos Básicos
18:40
Introdução a Conceitos de Computação - Con...
UNIVESP
43,391 views
Sistemas Operacionais – Aula 01 - Conceito de SO e Histórico
25:20
Sistemas Operacionais – Aula 01 - Conceito...
UNIVESP
303,329 views
Introdução a Conceitos de Computação - Arquivos
15:15
Introdução a Conceitos de Computação - Arq...
UNIVESP
9,977 views
Copyright © 2024. Made with ♥ in London by YTScribe.com