Упражнение №15. Программа вводит от пользователя его возраст в произвольном формате. Например, пользователь может ввести "Мне 25", "Мне 25 лет", "Мой возраст 25 лет", "25 лет", "25" и так далее. То есть в введенной строке гарантировано присутствует число, обозначающее возраст, но помимо этого присутствуют ещё и другие слова. Необходимо обработать введенную строку, вытащить из неё это число и вывести его пользователю в качестве результата. Запрещается использоваться в решении массивы и другие коллекции данных.
Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Общий план
Вводим от пользователя строку. Считаем, что в ней содержится одно число, которое нам и требуется вытащить. Считаем, что число целое, то есть представляет из себя просто непрерывную последовательность цифр.
Бежим в цикле по введённой строке и если текущий символ относится к цифрам складываем его в отдельную строку.
После цикла выводим все накопившиеся цифры в виде строки пользователю (это введённый возраст).
Подсказка
ввести от пользователя Строка
Возраст =""
цикл для А от 1 до (длина Строка):{
Символ = символ из Строка под номером А
если Символ содержится в строке "0123456789" тогда
Возраст = Возраст + Символ
}
вывести Возраст
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Упражнение №16. Работа светофора запрограммирована таким образом: с начала каждого часа в течении трех минут горит зелёный сигнал, следующие 60 секунд горит жёлтый, следующие две минуты горит красный, дальше в течении трех минут - зелёный и так далее. Напишите программу, которая вводит от пользователя сколько СЕКУНД прошло с начала часа и определяет какого цвета сейчас горит сигнал.
Подсказки:
Для ввода количества секунд от пользователя используйте диалогВвестиЧисло.
Общий план
Вводим от пользователя количество прошедших секунд. Наша задача прокрутить время с самого начала (нуля) вперёд, последовательно прибавляя промежутки времени и меняя цвета. Как только наше время достигнет или перевалит введенное пользователем количество секунд - стоп. Вот он нужный цвет.
Подсказка
ввести от пользователя КоличествоСекунд
объявить двумерный массив Промежутки 3х2
заполнить массив Промежутки:{{3*60,"Зелёный"},{60,"Жёлтый"},{2*60,"Красный"}}
Время =0
А =0
бесконечный цикл:{
Время = Время + Промежутки[А][0]
если КоличествоСекунд <= Время тогда
{
вывести "цвет светофора на "+ КоличествоСекунд +" секунде равен "+ Промежутки[А][1]
прервать цикл
}
А = А +1
если А >(количество Промежутки)-1 тогда
А =0}
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Упражнение №17. Во многих отчетах по сотрудникам требуется выводить сокращенный вариант ФИО. Создайте программу, которая вводит от пользователя его фамилию, имя и отчество. Затем обрабатывает их и выводит ФИО в сокращенном виде. Например, если пользователь ввёл "Петров Иван Сидорович", то программа должна вывести "Петров И.С.".
Подсказки:
Чтобы разбить строку на три слова - замените в введённой строке все пробелы на символы переноса строки и затем работайте со строкой как с многострочной. Приёмы работы с ней описаны здесь.
Символ переноса строки обозначается Символы.ПС.
Общий план
Вводим от пользователя строку. Она состоит из фамилии, имени и отчества разделённых пробелами. Наша задача - разбить эту строку на три части, чтобы отделить фамилию, имя и отчество друг от друга. Для этого заменяем пробелы в строке на символы переноса - таким образом наша строка стала многострочной. И при помощи специальной функции мы можем получить первую, вторую и третью части этой строки. Осталось вывести пользователю первую часть (фамилия) и первые буквы с точками второй и третей части (имя и отчество).
Подсказка
ввести от пользователя Строка
заменить в Строка все пробелы на символы переноса строки
Фамилия = первая строка в Строка
Имя = вторая строка в Строка
Отчество = третья строка в Строка
вывести Фамилия +(первая буква Имя)+ точка +(первая буква Отчество)+ точка
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Для учеников
Второй модуль - самый сложный в школе. Если вы не программировали ранее - приготовьтесь к тому, что не сможете решить некоторые из задач с первого раза и без подсказок.
Поэтому вовремя останавливайтесь и спрашивайте преподавателя, если что-то не понятно даже с подсказками.
В крайнем случае, пройдите все оставшиеся модули школы, а затем вернитесь с новыми силами к решению задач второго модуля.