第一章:计算机与编程导论

news2024/10/7 8:29:16

1.1引言

如何解决问题:通过一组精确陈述的指令来设计问题的解决方案。

程序:一组指令以计算机可以接收和执行的格式描述时。

例如:百货商店管理,编写一套指令,在商品购进和售出时对其跟踪。如果这些指令是正确的,而且是以计算机能够理解的格式编写的,就可以把这些指令作为一个程序输入并运行,在商品购进和售出时记录数据。

1.2硬件术语

计算机系统:由计算机运转所需的所有组件以及这些组件之间的连接共同组成。

组件可以分为两个基本派别:硬件和软件。

硬件:由与计算机相关的物理组件组成。

软件:由指挥计算机的的程序组成。

1.2.1整体概览

1.2.2输入/输出设备

输入和输出设备被统称为I/O设备。

信息进入计算机就是输入,信息从计算机中传输出去就是输出。

1.2.3中央处理器

中烟处理器通常被称为处理器或微处理器,可被视为计算机的大脑。

什么是GHz?(购买电脑时可以理解)

是千兆赫兹的缩写,一个2.5GHz的CPU使用的时钟每秒跳动25亿次(越大越快)。

英特尔i9有8个内核,可以跟踪16个线程。换句话说,这个CPU芯片本身包含8个独立的处理单元,它可以跟踪多达16个连续操作。

1.2.4主存储器

存储器有两类:主存储器和辅助存储器。

主存储器包含了若干个存储盒,每个存储盒都包含了一段信息。

主存储器通常被称为RAM(随机存储存储器)。

1千兆字节容量的主存储器可以容纳10亿个存储盒。

1.2.5辅助存储器

当你执行保存命令,计算机会对正在处理的主存储器数据进行复制,并将副本存储在辅助存储器例,辅助存储器非易失的,这意味着当计算机断电时,数据不会丢失。

与主存储器相比辅助存储器的优点:

1.非易失性。

2.每单位存储成本低。

3.更容易移植。

缺点:访问时间慢。

辅助存储器的形式:机械硬盘、固态硬盘、USB闪存盘、光盘等等(存储介质、存储设备)。 

1.2.6机械硬盘和固态硬盘

机械硬盘和固态硬盘的基本用途:为计算机提供主要的永久存储。

大多数台式计算机使用机械硬盘(也被称为硬盘驱动器)。

存储慢

笔记本、平板电脑使用固态硬盘。

原因:

1.没有移动的机械部件,更能抵御损坏。

2.更小、更轻(成本偏高)。

1.2.7离线存储(USB、CD、DVD略)

1.2.8存储容量比较

机械硬盘:450GB-4TB

固态硬盘:250GB-1TB

USB:8GB-1TB

CD-xxx(略):700MB

DVD等:4.7GB-9.4GB

蓝光光盘:25GB-100GB

(都是不等,就是不一定)

1.2.9文件访问

文件:一组相关的指令或数据。

文件存储在辅助存储器上。

1.2.10常见的计算机硬件词汇

计算机的存储=主存储器(RAM)

计算机的磁盘控件=计算机硬盘的容量

1.2.11计算机改进的速度

内存和硬盘驱动器的容量大约每两年翻一番

cpu的速度也大约每两年翻一番

1.3程序开发

需求分析:程序的需求和目标。

设计:编写程序的大纲。

实施:编写程序的本身。

测试:验证程序的运行。

文档撰写:对程序进行描述。

维护:以后的工作中进行改进和修复错误。

1.3.1需求分析

与客户沟通、作页面设计沟通效果。

1.3.2程序设计

程序的草稿、基本逻辑。

1.3.3伪代码

描述程序的步骤。

1.3.4使用伪代码计算车速示例

计算终点为位置减去起点位置。

把结果放在总距离中。

计算结束时间减去起始时间。

把结果放在总时间里。

用总距离除以总时间。

1.4源代码

(把伪代码翻译成源代码)

源代码是一组用编程语言编写的指令。

1.4.1编程语言

编程语言是一种使用专门定义的单词、语法和标点符号的计算机可以理解的语言。

编程语言有:java、c++、python。

1.4.2使用java计算车速示例

计算终点为位置减去起点位置,将结果放在总距离中。

distanceTotal=locationEnd-locationStart;

计算结束时间减去起始时间,将结果放在总时间里。

timeTotal=timeEnd-timeStart

用总距离除以总时间。

averageMPH=distanceTotal/timeTotal

1.4.3跳过伪代码步骤

对于大型程序来说,首要关注大的方面,因为如果没有做好这一点,那么其他方面就不重要了。而如果使用伪代码,就无需担心语法细节,更容易关注大局了。在实现一个伪代码解决方案之后,将伪代码转换为源代码就相对容易了。

1.5将源代码编译成目标代码

要让计算机执行程序指定的任务,通常要分两步:

1.执行一个编译命令(计算机将程序的源代码翻译成计算机可运行的代码【编译器进行】);

2.执行运行命令。

1.6可移植性

可移植性既可以指硬件也可以指软件。

1.6.1目标代码的可移植性问题

目标代码可移植性不高。

1.6.2Java对可移植性问题的解决方案

java编译器不会一直编译到目标代码,而是编译到字节码,以拥有目标代码和源代码的最佳特性。

像目标代码一直,字节码使用一种与计算机硬件密切相关的格式,所以它运行得很快。

像源代码一样,字节码是通用的,因此它可以在任何卫类型的计算机上运行。

为什么字节码可以在任何类型的计算机上运行?

当一个java程序的字节码运行时,字节码被计算机的字节解释器程序(java虚拟机,简称jvm)翻译成目标代码。 

要运行字节码,计算机上必须安装一个JVM。

 

1.7Java的出现(略)

1.7.1家用电器软件

1.7.2万维网

1.7.3今天的Java

1.8计算机伦理

计算机伦理十诫:

(1)不可以使用计算机危害他人;

(2)不可干涩别人的计算机工作;

(3)不可窥探他人的计算机文件;

(4)不可使用计算机进行偷窃活动;

(5)不可使用计算机作伪证;

(6)不可复制或使用未付费的专利软件;

(7)不可在未经授权或在没有适当补偿的情况下使用他人的计算机资源;

(8)不可挪用他人的智力成果;

(9)应当注意你编写的程序或设计的系统所造成的社会后果;

(10)使用计算机时应当总是考虑到他人并尊重他们。

1.9第一个程序:HelloWorld(略)

1.9.1开发环境

1.9.2向计算机编写程序

1.9.3安装java编译器和jvm

1.9.4编译一个java程序

1.10GUI跟踪:HelloWorld(略)

1.10.1GUI HelloWorld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/870902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某行业CTF一道流量分析题

今晚看了一道题,记录学习下。 给了一个hacktrace.pcapng,分析主要内容如下: 上传两个文件,一个mouse.m2s,一个mimi.zip,将其导出。 mimi.zip中存放着secret.zip和key.pcapng 不过解压需要密码&#xff…

FLStudio21水果最新中文版升级下载

FLStudio21最新中文版是一款非常专业的后期编曲音频处理软件,对于音乐编辑处理的领域内的人而言,是非常能够满足需求的一款工具。FL Studio21拥有强大且专业的创作工具,这是先进的创作工具,让你的音乐突破想象力的限制。FL Studio…

Redis缓存雪崩、击穿、穿透?

我们谈谈Redis在实际项目中用作缓存时经常碰到的,也是经常面试的三大问题:缓存穿透、缓存击穿、缓存雪崩,以及这些问题的常用解决方法。 在介绍这三大问题之前,我们需要先了解Redis作为一个缓存中间件,在项目中是如何…

阿里云服务器竞价实例是什么意思?优缺点对比_选择攻略

腾讯云服务器CVM计费模式分为包年包月、按量计费和竞价实例,什么是竞价实例?竞价实例和按量付费相类似,优势是价格更划算,缺点是云服务器实例有被自动释放风险,腾讯云服务器网来详细说下什么是竞价实例?以及…

【动态map】牛客挑战赛67 B

登录—专业IT笔试面试备考平台_牛客网 题意: 思路: 考虑动态的map 可以先定义一个状态,然后用map统计前缀这个状态的出现次数 在这里,定义{a,b}为cnt1 - cnt0和cnt2 - cnt0 当cnt0 和 cnt1都和cnt2相同时,统计贡献…

人机交互中的混合多重反馈

人机交互中态、势、感、知的混合多重反馈是指在交互过程中综合运用不同方面的反馈信息,包括用户态度(态)、行为动势(势)、情感体验(感)和认知反馈(知)。这种多重反馈可以…

《机器学习系统:设计与实现》读书笔记一

最近几年一直在做算法工程的工作,对机器学习系统有所涉猎,也很感兴趣。近期发现一本开源书籍《机器学习系统:设计与实现》。去图书馆找了它的纸质版,发现内容不尽相同。在这里结合两者做一个读书笔记。本文是第一篇,主…

04 mysql innodb record

前言 最近看到了 何登成 大佬的 "深入MySQL源码 -- Step By Step" 的 pdf 呵呵 似乎是找到了一些 方向 之前对于 mysql 方面的东西, 更多的仅仅是简单的使用[业务中的各种增删改查], 以及一些面试题的背诵 这里会参照 MySQL Internals Manual 来大致的看一下 i…

Karmada 多云容器编排引擎支持多调度组,助力成本优化

根据 Flexera 最新发布的《2023 年云现状调查报告》,在受访的750家企业中,使用多云的企业比例高达87%: 在使用多云的受访者中,排在前两位的多云挑战分别是:孤立在不同云上的应用程序和云之间的灾难恢复/故障切换。在所…

Spring源码系列:核心概念解析

前言 本文旨在为读者解析Spring源码中的关键类,以便读者在深入阅读源码时,能够了解关键类的作用和用途。在阅读Spring源码时,经常会遇到一些不熟悉的概念,了解关键类的作用可以帮助读者更好地理解这些概念。 BeanDefinition Be…

力扣:61. 旋转链表(Python3)

题目: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 示例&…

有人真敢编,有人真敢信。

前几天发过一篇旅游小攻略 自由行的一些小tips 其实提到了一些关于泰国的话题,说实话,我知道有人编泰国噶腰子的小作文,但我一直以为只有一小撮人会信这种,然后从知乎上发现,挺让人无语的,什么去泰国被绑架…

运维监控学习笔记5

Linux的内存是虚拟内存,是物理内存和交换分区swap。 内存: 页:4K, 硬盘:块。 寻址: 空间:内存的合并。大页内存。 free命令: [rootvm1 ~]# free -htotal used fre…

AI项目一:mediapipe测试

若该文为原创文章,转载请注明原文出处。 一. 引言 MediaPipe 是一款由 Google Research 开发并开源的多媒体机器学习模型应用框架。在谷歌,一系列重要产品,如 YouTube、Google Lens、ARCore、Google Home 以及 Nest,都已深度整合了…

自我介绍的重要性:留下深刻的第一印象

标题:自我介绍的重要性:留下深刻的第一印象 摘要: 自我介绍是我们在社交和职业场合中常常需要面对的一项任务。一个出色的自我介绍可以帮助我们在短时间内给他人留下深刻的第一印象,从而建立良好的人际关系和职业机会。本论文旨在…

Java多线程(4)---死锁和Synchronized加锁流程

目录 前言 一.synchronized 1.1概念 1.2Synchronized是什么锁? 1.3Synchronized加锁工作过程 1.4其他优化操作 二.死锁 2.1什么是死锁 2.2死锁的几个经典场景 2.3死锁产生的条件 2.4如何解决死锁 🎁个人主页:tq02的博客_CSDN博客…

19-求正数数组的最小不可组成和

题目 给定一个全是正数的数组arr,定义一下arr的最小不可组成和的概念: arr的所有非空子集中,把每个子集内的所有元素加起来会出现很多的值,其中最小的记为min,最大的记为max;在区间[min,max]上&#xff0…

腾讯云香港服务器租用_2核2G20M_2核4G30M

腾讯云香港服务器租用费用表,目前中国香港地域轻量应用服务器可选配置2核2G20M、2核2G30M、2核4G30M,操作系统可选Windows和Linux,不只是香港云服务器,新加坡、硅谷、法兰克福和东京服务器均有活动,腾讯云服务器网分享…

c语言每日一练(6)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

Stephen Wolfram:意义空间和语义运动规律

Meaning Space and Semantic Laws of Motion 意义空间和语义运动规律 We discussed above that inside ChatGPT any piece of text is effectively represented by an array of numbers that we can think of as coordinates of a point in some kind of “linguistic feature …