यह ट्यूटोरियल की एक निरंतरता है छद्म के साथ बुनियादी प्रोग्रामिंग (भाग 2), इस बार मैं बताऊंगा कि प्रोग्राम करना क्या आवश्यक है।
सहायता
असाइनमेंट एक ऐसी प्रक्रिया है जिसमें एक चर बनाया जाता है और / या संशोधित किया जाता है, इसके पहचानकर्ता के माध्यम से इसका संदर्भ देता है जिसके साथ हम इसकी मेमोरी स्पेस तक पहुंच सकते हैं।
असाइनमेंट का सिंटैक्स है:
[variable]<- [expresion];
[variable]=[expresion];
जहां [चर] वह चर है जो मूल्यांकन [अभिव्यक्ति] का मूल्य प्राप्त करता है। दोनों मान्य हैं, इसलिए इससे कोई फर्क नहीं पड़ता कि कौन सा उपयोग किया जाता है (यदि उन्होंने PSeInt को सही ढंग से कॉन्फ़िगर किया है), लेकिन मेरी राय में मैं पहले वाले को सही बनाता हूं।
यदि असाइनमेंट से पहले [वैरिएबल] मौजूद नहीं था, तो [वैरिएबल] बनाया गया था, यदि वह मौजूद है तो पिछला मान नष्ट हो जाता है और नए को उसके स्थान पर रखा जाता है। इस कारण से, मानचित्रण को एक विनाशकारी संचालन माना जाता है।
पढ़ना
रीडिंग वह प्रक्रिया है जिसमें किसी डेटा या डेटा को उपयोगकर्ता से वेरिएबल में उक्त डेटा स्टोर करने के लिए अनुरोध किया जाता है।
इसका सिंटैक्स है:
Leer variable_1,variable_2,...,variable_n;
जहां [variable_ {1,2, n}] वे चर या चर हैं जो उपयोगकर्ता द्वारा दिए गए मूल्य को प्राप्त करते हैं, अगर एक से अधिक चर का अनुरोध किया जाता है, तो यह पहले एक के लिए पूछेगा, फिर दूसरे के लिए और इसी तरह तक सभी मूल्यों को प्राप्त किया है।
यह भी एक विनाशकारी कार्य है।
लिख रहे हैं
लेखन एक ऐसी प्रक्रिया है जिसमें स्क्रीन पर पात्रों और / या एक या एक से अधिक चर लिखे जाते हैं
वाक्य रचना है:
Escribir expresion_1,expresion_2,...,expresion_n;
जहां [एक्सप्रेशन_ {1,2, n}] चरित्र के तार और / या चर हैं जिन्हें प्रदर्शित किया जाएगा।
स्क्रीन पर डाले जाने वाले डेटा को प्राप्त करने के अलावा लेखन को "बिना लंघन के" या "नीचे जाने के बिना" निर्देश भी प्राप्त होता है जो लाइन कूद से बचते हैं।
लेखन में तर्कों के बीच रिक्त स्थान नहीं जोड़ा जाता है, अर्थात, यदि इसे रखा जाता है:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
इस स्थिति में यह «olamundo» को «a» और «b» के बीच दिखाएगा, वर्णों का कोई तार नहीं है जो a और b के बीच के स्थान को इंगित करता है, ताकि यह सही ढंग से प्रदर्शित हो जैसे कि यह इस तरह लिखा गया है:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
इस स्थिति में »» जो एक वर्ण स्ट्रिंग है जिसमें एक स्थान होता है जो कि «तरंग» और «संसार» के बीच का स्थान होता है और फिर यह अंतरिक्ष के साथ «तरंग संसार» दिखाएगा।
तो अगर
यह एक वाक्य है जो किसी दी गई स्थिति का मूल्यांकन करता है और उक्त स्थिति की सत्यता और / या असत्यता की जांच करता है, अर्थात शर्त पूरी हुई या नहीं।
इसका सिंटैक्स है:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
खंड "एल्स" अनिवार्य नहीं है, इस मामले में यदि स्थिति झूठी है निर्देशों की अनदेखी करें और जारी रखें जैसे कि वाक्य मौजूद नहीं था, इस मामले में यह रहेगा:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
"विफलता" खंड रखा गया था या नहीं यह उस कार्यक्रम की जरूरतों पर निर्भर करता है।
सेगुन
जैसा कि यह वाक्य एक सख्ती से संख्यात्मक चर का मूल्यांकन करता है जो एक विकल्प के रूप में 2 से अधिक विकल्प देता है, यह "इफ-तब" से अंतर है क्योंकि पिछले एक केवल 2 विकल्प दे सकता है।
वाक्य रचना है:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
जैसा कि आप "संख्या 1" के बाद देख सकते हैं कि एक ":" है और उसके बाद किए जाने वाले निर्देशों को घटना में रखा गया है कि "संख्यात्मक चर = संख्या 1", दूसरे उदाहरण में यह "संख्या 2, संख्या 3" है इसका मतलब यह है कि " संख्यात्मक चर = संख्या 2 या संख्या 3 "फिर" निर्देश "निष्पादित किया जाएगा, यह तब उपयोगी होता है जब 2 संभावनाओं को एक ही निर्देश निष्पादित करना चाहिए।
"इन वेदर वे" का एक खंड भी है जिसे उस घटना में निष्पादित किया जाता है जिसमें कोई भी संभावनाएं पूरी नहीं होती हैं।
जबकि
यह एक दोहरावदार कार्य है जो पहले किसी स्थिति का मूल्यांकन करता है और फिर यदि यह पूरा हो जाता है तो यह निर्देशों की एक श्रृंखला को निष्पादित करता है, फिर यह स्थिति का पुनर्मूल्यांकन करता है और यदि यह सही है तो फिर से उसी निर्देशों को निष्पादित करता है और इस तरह से जारी रखता है जब तक कि स्थिति झूठी न हो।
यदि स्थिति शुरू से ही झूठी है तो इसे कभी भी निष्पादित नहीं किया जाएगा और यदि यह हमेशा सत्य होता है तो इसे अनंत लूप में रखा जाएगा, ताकि निर्देशों में अंतिम से बचने के लिए कुछ ऐसा होना चाहिए जो कुछ बिंदु पर लूप को समाप्त करने में सक्षम होने के लिए शर्त को गलत साबित करता है।
इसका सिंटैक्स है:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
दोहराओ जब तक
यह पिछले एक के समान एक फ़ंक्शन है, लेकिन पिछले एक के विपरीत, यह एक अंत में स्थिति की जांच करता है, अर्थात, कमांड को कम से कम 1 बार निष्पादित किया जाएगा, साथ ही निर्देश को निष्पादित करने के बजाय, जब यह सत्य होता है, तो यह इसे निष्पादित करता है यदि शर्त पूरी नहीं हुई है, लेकिन यदि आप चाहते हैं कि यह शर्त पूरी होने के बाद निष्पादित हो, तो "जब तक" के बजाय "जब तक" का उपयोग करें।
इसका सिंटैक्स है:
Repetir
[Instrucciones]
hasta que [condicion]
के लिए
यह कथन एक चर के लिए कई बार निर्धारित करने वाले एक निर्देश को निष्पादित करता है, पिछले वाले के विपरीत, यह चक्र स्वयं द्वारा प्रश्न में चर के मूल्य को बदलता है, साथ ही साथ एक बहुत शक्तिशाली वाक्यविन्यास भी करता है।
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"चर" वह चर है जो "प्रारंभिक मूल्य" प्राप्त करता है और निर्देशों को निष्पादित करता है फिर "चर" प्लस "चरण" जोड़ता है और "चर" अंतिम मूल्य के बराबर होने तक फिर से निर्देशों को निष्पादित करता है।
अगर "[स्टेप]" हटा दिया जाता है, तो डिफ़ॉल्ट रूप से यह पता चल जाएगा कि "स्टेप" 1 के बराबर है, यह भी कि अगर [स्टेप] निर्दिष्ट नहीं है और "प्रारंभिक मूल्य" "अंतिम मूल्य" से अधिक है, तो यह रिवर्स ऑर्डर में इसके माध्यम से जाएगा, अर्थात। "चरण" -1 है
SUBPROCESS / समारोह
एक थ्रेड या फ़ंक्शन दूसरे के भीतर एक प्रोग्राम है और यह कि यह सबप्रोग्राम एक या एक से अधिक मान प्राप्त करता है, उन्हें संचालित करता है और दूसरा लौटाता है। इसका वाक्य विन्यास है
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
जहाँ "रिटर्न वैरिएबल" वह चर है जिसमें "फ़ंक्शन नाम" फ़ंक्शन द्वारा लौटाया गया मान है जो इसे प्राप्त करने के लिए "arg_1, arg_2, arg_n" पैरामीटर प्राप्त करता है।
अन्य
ये ऐसे कार्य हैं जो केवल दूसरों के पूरक हैं और एक जटिल वाक्यविन्यास नहीं है क्योंकि वे केवल पूरक कार्य हैं।
साफ़ स्क्रीन
यह फ़ंक्शन दुभाषिया में किसी भी वस्तु की स्क्रीन को साफ करता है
रुको कुंजी
यह फ़ंक्शन उपयोगकर्ता को प्रोग्राम के साथ जारी रखने के लिए एक कुंजी दबाने के लिए इंतजार करता है
उम्मीद एक्स {दूसरा, मिलीसेकंड}
यह फ़ंक्शन प्रोग्राम के साथ जारी रखने के लिए सेकंड या मिलीसेकंड में एक समय प्रतीक्षा करता है
पुनश्च: देरी के लिए खेद है, लेकिन मैं अन्य मामलों में व्यस्त था इसलिए मैं नहीं लिख सका
निष्पादन को रोकने के बिना कुंजियों को पकड़ने के लिए कार्य नहीं हैं? आंदोलन के साथ कुछ करने के लिए जो 9-वर्षीय बच्चों के लिए अधिक आकर्षक है, हालांकि एक जल्लाद खेल भी कार्यक्रम के लिए मजेदार हो सकता है।
कुछ संसाधित करें_डिगो
एक <-1;
पार्श्व <-30;
नीचे <-5;
जबकि a = 1 करो
साफ़ स्क्रीन;
सी <-1;
पंक्ति <- "";
दोहराना
लाइन <-line + "";
c <-c + 1;
सी = पार्श्व तक
लाइन <-line + "X";
सी <-1;
दोहराना
लिखना " ";
c <-c + 1;
तक सी = डाउन -1
पंक्ति लिखो;
दोहराना
लिखना " ";
ग 2 तब
डाउन <-down -1;
अंत हाँ
"s":
यदि नीचे <15 तो
नीचे 2 तब
पार्श्व <-lateral-1;
अंत हाँ
"डी":
यदि पार्श्व <50 तब
पार्श्व <-lateral + 1;
अंत हाँ
"0":
एक <-2;
एंड सेकंड्स
जबकि अंत
प्रक्रिया समाप्त
यदि आप ऊपर जाते हैं तो अच्छी तरह से विफल हो जाते हैं, बेहतर बदलाव 23 और 28
-23 तक सी = 15
23:18 तक सी = XNUMX
y
-28 यदि नीचे> 2 तब
28: यदि नीचे है तो 3
योगदान के लिए धन्यवाद, लेकिन इसमें कुछ समस्याएं हैं जैसे कि आप एक वाक्य को दूसरे के भीतर खोलते हैं लेकिन यह उस वाक्य के भीतर समाप्त होना चाहिए जहां यह शुरू हुआ था, मेरा मतलब है, इसे नहीं रखा जा सकता है
कुछ प्रक्रिया करें
एक <- 0;
पढ़ने को;
अगर एक 25 के बराबर नहीं है तो
जबकि एक 0 के बराबर नहीं है
पढ़ने को;
अंत हाँ
जबकि अंत
जैसा कि आप "अगर" तब बयान के अंदर शुरू करते हुए लूप देखते हैं लेकिन इसके बाहर समाप्त होता है, ऐसा कुछ संभव नहीं है।
मैं अब भी योगदान की सराहना करता हूं
प्रक्रिया समाप्त
धन्यवाद, लेकिन मुझे लगता है कि यह यहाँ कोड डालने में एक समस्या है, कि मुझे पता नहीं है कि इसे कोड प्रकार में कैसे रखा जाए और यह इंडेंटेशन के बिना निकलता है।
कार्यक्रम ठीक काम करता है। चर "a" मैं केवल लूप से बाहर निकलने के लिए उपयोग करता हूं जब उपयोगकर्ता एक शून्य टाइप करता है। आप एक निकास () या एक विराम लगा सकते हैं; सशर्त में यह इसे देखता है और मैं चर को बचाता हूं। वे विकल्प हैं।
नमस्ते.
मैं रिक्त स्थान और लेबल के लिए टैब बदलने की कोशिश करूंगा
por si funciona algo:
Proceso algo_digo
a<-1;
lateral<-30;
abajo<-5;
Mientras a=1 Hacer
Borrar Pantalla;
c<-1;
linea<-"";
Repetir
linea<-linea+" ";
c<-c+1;
Hasta Que c=lateral
linea<-linea+"X";
c<-1;
Repetir
Escribir " ";
c<-c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c 3 Entonces
abajo<-abajo-1;
Fin Si
"s":
Si abajo < 15 Entonces
abajo 2 Entonces
lateral<-lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral<-lateral+1;
Fin Si
"0":
a<-2;
Fin Segun
Fin Mientras
FinProceso
यह मेरे कोड से आयात त्रुटियों से भरा है, मैं टैब के साथ फिर से कोशिश करूँगा:
यह फ़ाइल algo.psc होगी
Proceso algo_digo
a<-1;
lateral<-30;
abajo<-5;
Mientras a=1 Hacer
Borrar Pantalla;
c<-1;
linea<-"";
Repetir
linea<-linea+" ";
c<-c+1;
Hasta Que c=lateral
linea<-linea+"X";
c<-1;
Repetir
Escribir " ";
c<-c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c 3 Entonces
abajo<-abajo-1;
Fin Si
"s":
Si abajo < 15 Entonces
abajo 2 Entonces
lateral<-lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral<-lateral+1;
Fin Si
"0":
a<-2;
Fin Segun
Fin Mientras
FinProceso
दिलचस्प है, कोड लेबल के साथ टिप्पणी को खाया जाता है, हटा दिया जाता है, जो कुछ भी बीच जाता है, उदाहरण के लिए लाइनों के बीच
दोहराना
लिखना " ";
c
ग के बाद एक है
और फिर यह 3 के साथ जारी है
नीचे
कुल मिलाकर, यह कोड के अनुसार रखना विश्वसनीय नहीं है।
मैं कैसे देखने के लिए = को असाइन करने से प्रतीकों को बदलता हूं।
Proceso algo_digo
a=1;
lateral=30;
abajo=5;
Mientras a=1 Hacer
Borrar Pantalla;
c=1;
linea="";
Repetir
linea=linea+" ";
c=c+1;
Hasta Que c=lateral
linea=linea+"X";
c=1;
Repetir
Escribir " ";
c=c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c=c+1;
Hasta Que c=18
Escribir "Dibujo una X (w,a,s,d y 0 para salir)";
Leer mueve;
Segun mueve Hacer
"w":
Si abajo > 3 Entonces
abajo=abajo-1;
Fin Si
"s":
Si abajo 2 Entonces
lateral=lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral=lateral+1;
Fin Si
"0":
a=2;
Fin Segun
Fin Mientras
FinProceso
यह कोड का हिस्सा खाता रहता है, कोड टैग विफल रहता है, इसे लिखना छोड़ देना चाहिए।
इससे पहले कि आप अच्छी तरह से जवाब नहीं देख पाने के लिए हाय सॉरी
चूँकि आप कोड को अच्छी तरह से प्रकाशित नहीं कर सकते हैं क्योंकि आप मुझे मेल से नहीं भेजते हैं इसलिए आप इस मामले को इतने सारे मोड़ नहीं देते हैं।