Това е продължение на урока Основно програмиране с pseint (част 2), този път ще обясня какво е необходимо за програмиране.
ЗАДЪЛЖЕНИЕ
Присвояването е процес, при който дадена променлива се създава и / или модифицира, като се позовава на нея посредством своя идентификатор, с който можем да осъществим достъп до нейното пространство в паметта.
синтаксисът на заданието е:
[variable]<- [expresion];
[variable]=[expresion];
Където [променлива] е променливата, която получава стойността на оценката [израз]. И двете са валидни, така че няма значение кой се използва (ако са конфигурирали PSeInt правилно), но според мен създавам първия като правилния.
Ако [променливата] не е съществувала преди заданието, е създадена [променлива], ако е съществувала, предишната стойност се унищожава и новата се поставя на нейно място. Поради тази причина картографирането се счита за разрушителна операция.
ЧЕТЕНЕ
Четенето е процес, при който от потребителя се искат данни или данни за съхраняване на споменатите данни в променлива.
неговият синтаксис е:
Leer variable_1,variable_2,...,variable_n;
където [променлива_ {1,2, n}] са променливата или променливите, които получават стойността, дадена от потребителя, в случай че се поиска повече от една променлива, тя първо ще поиска първата, след това втората и така нататък, докато са получили всички стойности.
Това също е разрушителна функция.
ПИСАНЕ
Писането е процес, при който низ от символи и / или една или повече променливи се записват на екрана
синтаксисът е:
Escribir expresion_1,expresion_2,...,expresion_n;
където [expersion_ {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
Клаузата "Else" не е задължителна, в този случай, ако условието е невярно, игнорирайте инструкциите и продължете така, сякаш присъдата не съществува, в този случай тя ще остане:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Дали клаузата "Failure" е била поставена или не, зависи от нуждите на тази програма.
СПОРЕД
Изречението, тъй като оценява строго числова променлива, която дава повече от 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 път, също вместо да изпълнява инструкцията, когато е истина, тя я изпълнява, докато Ако условието не е изпълнено, но ако искате то да бъде изпълнено, докато условието е изпълнено, използвайте "while" вместо "до".
неговият синтаксис е:
Repetir
[Instrucciones]
hasta que [condicion]
ЗА
Този оператор изпълнява инструкция, определяща брой пъти за променлива, за разлика от предишните, този цикъл променя стойността на въпросната променлива сам по себе си, както и има много мощен синтаксис.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
„Променлива“ е променливата, която получава „начална стойност“ и изпълнява инструкциите, след което добавя „променлива“ плюс „стъпка“ и изпълнява инструкциите отново, докато „променлива“ се равнява на „крайна стойност“.
Ако "с [стъпка]" бъде премахната, тогава по подразбиране той ще знае, че "стъпка" е равна на 1, също така ако [стъпка] не е посочена и "началната стойност" е по-голяма от "крайната стойност", тя ще премине през нея в обратен ред, т.е. „Стъпка“ е -1
ПОДПРОЦЕС / ФУНКЦИЯ
Нишка или функция е програма в друга и че тази подпрограма получава една или повече стойности, управлява ги и връща друга. Синтаксисът му е
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
където "return променлива" е променливата, която съдържа стойността, върната от функцията "име на функция", която е получила параметрите "arg_1, arg_2, arg_n", за да изпълни това
ДРУГИ
Това са функции, които са само допълващи се към останалите и нямат сложен синтаксис, тъй като те са само допълващи функции.
Изчистване на екрана
Тази функция изчиства екрана на всеки обект в интерпретатора
Ключ за изчакване
Тази функция изчаква потребителят да натисне клавиш, за да продължи с програмата
очаквам х {Второ, милисекунди}
тази функция изчаква време в секунди или милисекунди, за да продължи с програмата
PS: съжалявам за забавянето, но бях зает с други въпроси, така че не можах да пиша
Нямате функции за улавяне на ключове без спиране на изпълнението? За да направите нещо с движение, което е по-привлекателно за 9-годишните, въпреки че играта на палач може да бъде забавна и за програмиране.
Обработете нещо_диго
a <-1;
странично <-30;
надолу <-5;
Докато a = 1 Направете
Изчистване на екрана;
с <-1;
ред <- "";
повторение
линия <-линия + "";
c <-c + 1;
До c = странично
линия <-линия + "X";
с <-1;
повторение
Да пишеш " ";
c <-c + 1;
До c = надолу-1
Линия за писане;
повторение
Да пишеш " ";
c 2 Тогава
надолу <-надолу-1;
Край да
"с":
Ако е под <15 Тогава
надолу 2 Тогава
странично <-латерално-1;
Край да
"д":
Ако странично <50 Тогава
странично <-латерално + 1;
Край да
"0":
a <-2;
Крайни секунди
Край докато
Край на процеса
Е, провали се, ако се качиш, по-добре смени редове 23 и 28
-23 До c = 15
+23 До c = 18
y
-28 Ако е надолу> 2 Тогава
+28 Ако е надолу> 3 Тогава
Благодаря за приноса, но има някои проблеми като това, че отваряте едно изречение в друго, но то трябва да завърши в изречението, където е започнало, имам предвид, че не може да бъде поставено
Обработете нещо
a <- 0;
четете на;
ако a не е равно на 25, тогава
докато a не е равно на 0 do
четете на;
Край да
край докато
както виждате цикъла, докато започвате в оператора "ако тогава", но завършвате извън него, подобно нещо не е възможно.
Все още оценявам приноса
Краен процес
Благодаря, но мисля, че е по-голям проблем с поставянето на кода тук, че не знам как да го поставя в кодов тип и той излиза без отстъп.
Програмата работи добре. Променливата "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
след c има a
и след това продължава с 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
Продължава да изяжда част от кода, кодовият етикет се проваля, трябва да остави писането такова, каквото е.
Здравейте, съжалявам, че не съм ви виждал отговор преди, но добре
тъй като не можете да публикувате добре кода, защото не ми го изпращате по пощата, така че не правите толкова много обрати по въпроса.