Задача - Составить из букв введенной строки слова - программирование на разных языках

Задача — Составить из букв введенной строки слова — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Составить из букв введенной строки слова
— программирование на Pascal, Си, Кумир, Basic-256, Python

Вводится строка, состоящая из букв и пробелов. Составить из входящих в нее букв несколько любых их сочетаний (слов) любой длины. Каждую букву строки можно использовать неограниченное количество раз.

Переменные:

  • s — введенная строка;
  • w — составляемое очередное слово;
  • ls, lw — длины введенной строки и составляемого слова;
  • i — счетчик слов (номер составляемого слова);
  • j — счетчик букв (номер буквы) составляемого слова;
  • let — номер взятой буквы из введенной строки.

После ввода строки измерим ее длину и запишем полученное значение в переменную ls. Допустим, надо составить пять случайных буквосочетаний. Следовательно, все дальнейшие действия будут выполняться в цикле, количество итераций которого равно 5.

Пусть длина очередного слова определяется случайно и может варьировать от 2 символов до 7. Тогда переменной lw надо присвоить случайное число от 2 до 7. Ее значение определяет, сколько раз надо будет взять букву из введенной строки.

Перед тем как собирать слово, переменной w присваивается пустая строка, а j присваивается 0. Далее в цикле (пока j < lw) берется случайный символ из строки. Для этого используется переменная ls (длина строки). Если этот символ не пробел, то он добавляется в конец строки w, а переменная j увеличивается на 1. После того как слово собрано, оно выводится на экран.

Pascal

var
s, w: string;
ls, lw, i, j, let: byte;
begin
readln(s);
ls := length(s);
randomize;
for i:=1 to 5 do begin
lw := random(6) + 2;
w := »;
j := 0;
while j < lw do begin
let := random(ls)+1;
if s[let] <> ‘ ‘ then begin
w := w + s[let];
j := j + 1;
end;
end;
writeln(w);
end;
end. who where how big
eo
oh
owih
owwwog
ehe

Язык Си

#include <stdio.h>
main() {
char s[100], w[8], c;
short ls, lw, i, j, let;
ls = 0;
while ((s[ls] = getchar()) != ‘n’)
ls += 1;
s[ls] = »;

srand(time(NULL));
for (i=0; i < 5; i++) {
lw = rand() % 6 + 2;
j = 0;
while (j < lw) {
let = rand() % ls;
if (s[let] != ‘ ‘) {
w[j] = s[let];
j += 1;
}
}
w[j] = »;
printf(«%sn», w);
}
} computer printer monitor
oumrmr
mp
nrrte
ripuir
re

Python

from random import random

s = input()
ls = len(s)
for i in range(5):
lw = int(random() * 6) + 2
w = »
j = 0
while j < lw:
let = int(random() * ls)
if s[let] != ‘ ‘:
w += s[let] j += 1
print(w) один два три четыре пять
ар
оид
ррио
дарятыч
врныд

КуМир

алг
нач
лит s, w
цел ls, lw, i, j, let
ввод s
ls := длин(s)
нц для i от 1 до 5
lw := irnd(5) + 2
w := «»
j := 0
нц пока j < lw
let := irnd(ls)
если s[let] <> » » то
w := w + s[let] j := j + 1
все
кц
вывод w, нс
кц
кон аааааааа иииииииии ююююююююююю яяяяяяяя
юаюиа
яии
ааиюяюи
ияиа
юяяюаяю

Basic-256

input s$
ls = length(s$)
for i=1 to 5
lw = int(rand * 6) + 2
w$ = «»
j = 0
while j < lw
let = int(rand * ls) + 1
if mid(s$,let,1) <> » » then
w$ = w$ + mid(s$,let,1)
j = j + 1
endif
endwhile
print w$
next i strong em table ul li ol
lgnlrbr
lnllrts
tlulre
lotnt
runls

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий