mc9.1程式設計教程入門
我覺得這是開始c / c ++程式設計教程的好時機,因為顯然,在開始之前,我們需要對要達到的目標有所了解。 我最近在網上發現了這個定義,我很喜歡
「程式設計是計畫如何解決問題。無論使用什麼方法-鉛筆和紙,滑尺,新增機器或計算機,問題的解決都需要進行程式設計。當然,乙個程式如何取決於問題中使用的裝置解決。」
這是從
皇家精密, lgp-30 電子計算機程式設計手冊 。
對於那些從未聽說過lpg-30的人來說,您可能會被原諒,因為它最早是2023年製造的,已經停產很長時間了。
但是,它頗具吉祥意義,聲稱它是愛德華·洛倫茲 ( edward lorenz )首次注意到天氣系統的混亂本質時所使用的計算機型別。
無論如何,回到程式設計……「計畫如何解決問題」,請注意我們實際上並沒有解決問題,計算機將為我們做到這一點。 如果我們可以自己解決問題,則無需編寫程式。 程式的前提是我們沒有時間,精力或記憶能力來解決問題,但是我們知道如何解決問題,因此可以指示計算機為我們解決問題。
乙個簡單的例子是1-10,000中所有整數的總和。 如果您願意,您可以坐下來用鉛筆,紙或計算器坐下來,然後解決這個問題,但所花費的時間以及在某個時候您可能會犯錯的可能性使它成為不受歡迎的選擇。 但是,我可以編寫並執行程式以在不到5分鐘的時間內計算出該總和
#include "stdio.h"
#define max (10000ul)
int main(int argc, char **argp)
printf("the sum of all integers from 1 - %lu is: %lu\n", max, sum);
return 0;
}
這樣得出的結果為50005000。碰巧我可以驗證這一點,因為我知道1-n的整數之和可以計算為
(n + 1)*(n / 2)
(10000 + 1)*(10000/2)= 10001 * 5000 = 50005000
因此,我解決了如何計算1到10000的所有整數之和的問題,計算機也解決了計算1到10000的所有整數之和的問題。
這是所有電腦程式的關鍵。 除非您知道如何解決該問題,否則無法對計算機進行程式設計以解決問題。 直到您了解了如何著手解決問題之前,甚至沒有必要坐在計算機旁進行程式設計,除非是從教科書或設計文件中的公式或從網頁上列印出來的公式問題。
因此,程式設計就是產生一組描述如何解決問題的指令。 這些說明可能用多種語言編寫,例如,在一瓶洗髮水的背面,您經常會找到說明,說明如何解決使頭髮變髒的問題:
溼的頭髮
用香波擦洗以產生泡沫。
沖洗頭髮
重複
請注意,由於這套說明針對的是人類,因此需要做出一些假設。
例如,在第4步中,假定使用的是普通英語,並且該說明實際上將被讀為「重複一次」。
遵循這些指示的人也很可能不會重複步驟1,因為他們的頭髮已經溼了,因此他們認為沒有必要重複該步驟。
這是人與計算機之間的主要區別之一。 人類具有判斷力和自由意志,並且不會執行任何他們認為不需要或毫無意義的指令,因為計算機可以完全執行所告訴的內容,而無需判斷該指令的必要性或合理性。 將上述說明提供給您的計算機,它永遠不會沖涼。
教程2: 如何程式設計
翻譯自:mc9.1程式設計教程入門
SuperMap Objects 入門教程 1
supermap objects 入門教程 1 目的 了解supermap objects 最基本的操作流程。實用物件 初次接觸supermap objects 控制項的使用者。涉及到的物件與相關介面 事件 屬性 方法 1.supermap 物件 用於顯示地圖 地圖圖層管理 地圖放大 縮小等 sup...
Python入門教程(1)
工作告一段落,開始寫入門python系列,這個系列時間跨度很長,原計畫是2016年7月份才正式學python的,結果最近來了乙個會python的同事,簡單的讓我入了門,所以先寫再說吧。按照習慣第一次輸入 hello world 完成第乙個python程式。操作符 加 減 乘 除 使用者輸入 inpu...
TopCoder入門教程 1
本文根據經典的tc教程完善和改編。topcoder 基本規則 topcoder的比賽型別很多,最常見的是周賽srm single round match 另外還有tchs srm topcoder high school srm,題目和srm一樣,僅限中學生參加,參賽者水平較低,據說漲rating很...