Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
II.3. Особые формы условного оператора
· Если в случае истинности условия нужно выполнить один оператор, и в случае ложности тоже только один оператор, то команду можно записывать в одну строку и не писать служебное слово END IF. Формат: IF < условие> THEN < оператор1> ELSE < оператор2> Задание: Напишите программу к решению задачи: " Дано трехзначное число и цифра k. Если в середине числа 0, то заменить 0 на цифру k, иначе убрать среднюю цифру". Решение: Пусть х – переменная, в которой будет храниться число, а y – результат. В программе необходимо реализовать следующий алгоритм: 1) Ввести число: х; 2) Найти его цифры: х1, х2, х3; 3) Сравнить среднюю цифру с нулем и, в случае истинности сравнения, собрать по разрядам число y из цифр х1, k, х3, а иначе, собрать у из цифр х1 и х3; 4) Вывести результат. Программа: CLS PRINT ”введите трехзначное число ” INPUT x x3=x mod 10 x=x\10 x2=x mod 10 x1=x\10 IF x2=0 THEN y=x1*100+k*10+x3 ELSE y=x1*10+x2 PRINT “результат: ”, y END
· Если в случае истинности условия нужно выполнить несколько операторов, а в случае ложности ничего выполнять не надо. Формат: IF < условие> THEN < операторы> END IF Задание: Напишите программу к решению задачи: " Дано пятизначное число. Если число четное, то найти сумму его цифр". Решение: Пусть х – переменная, в которой будет храниться число, а sum – сумма цифр этого числа. Число является четным, если при делении на 2 в остатке получается 0. В программе необходимо реализовать следующий алгоритм: 1) Ввести число: х; 2) Проверить, является ли число четным. Если число четное, то: а)Найти его цифры: х1, х2, х3, х4, х5; б)Найти сумму цифр; в) Вывести результат. Программа: CLS PRINT ”введите пятизначное число ” INPUT x IF x mod 2=0 THEN х5=x mod 10 x4=x \10 mod 10 x3=x\100 mod 10 x2=x\1000 mod 10 x1=x\10000 s=x1+x2+x3+x4+x5 PRINT “сумма цифр данного числа ”, sum
END IF END
· Если в случае истинности условия нужно выполнить один оператор, а в случае ложности ничего выполнять не надо, то команду можно записывать в одну строку и не писать служебное слово END IF. Формат: IF < условие> THEN < оператор> Задание: Напишите программу к решению задачи: " Дано пятизначное число. Посчитать количество нулей в его записи". Решение: Пусть х – переменная, в которой будет храниться число, а kol – результат. В программе необходимо реализовать следующий алгоритм: 1) Ввести число: х; 2) Найти его цифры: х1, х2, х3, x4, x5; 3) Поочередно сравнивать каждую цифру с 0 и, в случае истинности условия, увеличивать переменную kol на 1; 4) Вывести результат. Программа: CLS PRINT ”введите пятизначное число ” INPUT x х5=x mod 10 x=x\10 x4=x mod 10 x=x\10 x3=x mod 10 x=x\10 x2=x mod 10 x1=x\10 IF x1=0 THEN kol=kol+1 IF x2=0 THEN kol=kol+1 IF x3=0 THEN kol=kol+1 IF x4=0 THEN kol=kol+1 IF x5=0 THEN kol=kol+1 PRINT “в числе ”, kol, “нулей” END
Задание: Дано трехзначное число. Составить из его цифр новое число, расположив цифры в порядке возрастания.
Решение: Пусть х – данное число, х1, х2, х3 – его цифры, а у - результат. Чтобы составить новое число, необходимо выбрать из х1, х2 и х3 минимальную (min), среднюю (s) и максимальную(max) цифры. Предположим, что х1 является максимальной, т.е. max=x1. Сравним с переменной max следующую цифру. Если x2> max, то max=x2. Теперь в переменной max будет храниться наибольшее из значений х1 или х2. Сравним с max третью цифру. Если x3> max, то max=x3. Теперь в переменной max будет храниться наибольшее из значений х1, х2 или х3. Максимальная цифра найдена. Аналогично найдется и минимальная. Чтобы найти среднюю цифру, достаточно из суммы всех цифр вычесть минимальную и максимальную. А теперь из цифр min, S и max соберем по разрядам искомое число у. В программе необходимо реализовать следующий алгоритм: 1) Ввести число: х; 2) Найти его цифры: х1, х2, х3; 3) Найти максимальную цифру (max); 4) Найти минимальную цифру (min); 5) Найти среднюю цифру (s); 6) Собрать результат (y); 7) Вывести результат. Программа: CLS PRINT ”введите трехзначное число ” INPUT X X3=X MOD 10 X=X\10 X2=X MOD 10 X1=X\10 MAX=X1 IF X2> MAX THEN MAX=X2 IF X3> MAX THEN MAX=X3 MIN=X1 IF X2< MIN THEN MIN=X2 IF X3< MIN THEN MIN=X3 S=X1+X2+X3-MIN-MAX Y=MIN*100+S*10+MAX PRINT “результат ”, Y END Задания для самостоятельного решения: 1. «Заботливая программа». Напишите программу, которая умеет спрашивать «Какое у тебя сегодня настроение? Введи 1 – если хорошее и 2 – если плохое». Далее, если ввели 1, программа должна выдавать сообщение «Я рада, что у тебя все хорошо», а если ввели 2 – «Не печалься, дружок, все образуется! »
2. «Программа-Полиглот» Напишите программу, которая умеет выводить фразу «Привет! Как тебя зовут? » на языке пользователя. В начале работы программы, пользователь осуществляет выбор языка (1-English, 2 – Русский), после чего фраза выводится на выбранном языке.
3. Напишите программу, которая по номеру цвета в Бейсике выведет название цвета. При наборе программы используйте копирование.
4. В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю. (Справка: 1996 г. – год крысы – начало очередного цикла). 5. Напишите программу к решению задачи: " В корзине х кг яблок и у кг груш. Яблоко весит а г, а груша – b г. Каких фруктов больше по количеству (варианты ответов: «груш больше», «яблок больше», «груш и яблок равное количество»)". 6. Черепаха и улитка находятся в пункте А. До домика улитки 20 м. До домика черепахи S км. Скорость черепахи в 100 раз больше скорости улитки. Скорость улитки х м/ч. Кто быстрее доползет до домика? 7. Напишите программу к решению задачи: " Для посадки приобрели s саженцев клубники. На площади 1 м2 размещаются 16 саженцев. Хватит ли саженцев, чтобы засадить прямоугольный участок размером а м на b м? " 8. Напишите программу к решению задачи: " В классе х человек. Можно ли их построить парами? " 9. Напишите программу к решению задачи: " В горшке у Винни-Пуха было х г меда, а у Совы на 20% меньше. Винни съел половину горшка, а Сова только треть. У кого осталось меда больше? (варианты ответа: " У Совы осталось больше", " У Винни осталось больше", " осталось одинаково" ). 10. Напишите программу к решению задачи: " Дано двузначное число. Поменяй в нем цифры так, чтобы они стояли по возрастанию". 11. Напишите программу к решению задачи: " Официанту дали 100 тарелок вместимостью 300 граммов и котел с пюре вместимостью х кг. Он должен разложить пюре по тарелкам и представить отчет: хватило ли тарелок? " 12. Напишите программу к решению задачи: " Расстояние от пункта А до пункта В х км. Путник первые 5 часов двигался со скоростью 5 км/час. Если путник будет двигаться в два раза быстрее, то прибудет ли он в пункт В через 2 часа? " 13. Напишите программу к решению задачи: " В чайнике умещается Х мл чая. Дежурный по столовой разливает чай по стаканам. В стакан умещается 200 мл чая. Стаканов в столовой неограниченное количество. Выведи на экран ответы на вопросы: Сколько стаканов понадобится дежурному, чтобы в чайнике ничего не осталось? Сколько мл чая будет в последнем стакане? " |
Последнее изменение этой страницы: 2019-03-30; Просмотров: 106; Нарушение авторского права страницы