Це продовження підручника Основне програмування з 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
Чи було розміщено пункт "Помилка" чи ні, залежить від потреб цієї програми.
ВІДПОВІДНО
У реченні, оскільки воно оцінює суворо числову змінну, яка надає як варіант більше 2 варіантів, це різниця від "Якщо-тоді", оскільки попереднє може дати лише 2 варіанти.
Синтаксис:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Як ви можете бачити, після "number1" стоїть ":", а після цього інструкції, що виконуються, розміщуються у випадку, якщо "числова змінна = число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
де "змінною повернення" є змінна, яка містить значення, повернене функцією "ім'я функції", яка отримала параметри "arg_1, arg_2, arg_n" для виконання цього
ІНШЕ
Це функції, які лише доповнюють інші та не мають складного синтаксису, оскільки вони є лише доповнюючими функціями.
Очистити екран
Ця функція очищає екран будь-якого об'єкта в інтерпретаторі
Ключ очікування
Ця функція чекає, поки користувач натисне клавішу, щоб продовжити програму
Зачекайте х {По-друге, мілісекунди}
ця функція чекає часу в секундах або мілісекундах, щоб продовжити роботу з програмою
PS: вибачте за затримку, але я був зайнятий іншими справами, тому не міг писати
Не маєте функцій захоплення ключів без зупинки виконання? За те, що ви робите щось із рухом, що більше приваблює 9-річних, хоча гра на шибеницю також може бути цікавою для програмування.
Обробити щось_діго
a <-1;
бічні <-30;
вниз <-5;
Тоді як a = 1 Do
Очистити екран;
c <-1;
рядок <- "";
Повторіть
рядок <-лінія + "";
c <-c + 1;
Поки с = боковий
рядок <-лінія + "X";
c <-1;
Повторіть
Писати " ";
c <-c + 1;
Поки c = вниз-1
Записати рядок;
Повторіть
Писати " ";
c 2 Тоді
вниз <-вниз-1;
Кінець так
"s":
Якщо нижче <15 Тоді
вниз 2 Потім
бічний <-бічний-1;
Кінець так
"d":
Якщо бічний <50 Тоді
бічний <-бічний + 1;
Кінець так
"0":
a <-2;
Кінцеві секунди
Кінець поки
Завершити процес
Ну не вдасться, якщо підеш вгору, краще змінити рядки 23 і 28
-23 До с = 15
+23 до c = 18
y
-28 Якщо вниз> 2 Тоді
+28 Якщо вниз> 3 Тоді
Дякую за внесок, але у нього є такі проблеми, як відкриття одного речення в іншому, але воно повинно закінчуватися тим реченням, де воно розпочалося
Щось обробити
a <- 0;
читати до;
якщо a не дорівнює 25, тоді
тоді як a не дорівнює 0 do
читати до;
Кінець так
кінець поки
як ви бачите цикл, починаючи всередині оператора "if then", але закінчуючи поза ним, щось подібне неможливо.
Я все ще ціную внесок
Завершити процес
Дякую, але я думаю, що це більша проблема, якщо помістити код сюди, я не знаю, як ввести його в тип коду, і він виходить без відступу.
Програма працює нормально. Змінну "а" я просто використовую для виходу з циклу, коли користувач вводить нуль. Ви можете поставити вихід () або перерву; в умовному він розглядає це, і я зберігаю змінну. Вони є варіантами.
Привіт.
Я спробую змінити вкладки для пробілів та міток
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
Він продовжує їсти частину коду, тег коду не вдається, він повинен залишити написане як є.
Привіт, вибачте, що не бачив, що ви відповіли раніше, але добре
оскільки ви не можете добре опублікувати код, тому що не надсилаєте його мені поштою, тому ви не робите стільки поворотів у цьому питанні.