Нужна помощь, qbasic

Нужно написать программу. Сам я ничерта не шарю, мой максимум - это ворд и эксель еле еле.
Могу подогнать вещей в ксго за решение задачи, или 2 гифта постала2.
Дано натуральное число. Определить:
А) кол-во цифр 3 в нем
Б) сколько раз в нем встречается последняя цифра
В) кол-во четных цифр в нем
Составное условие и более одного неполного условного оператора не использовать.;
г)сумму его цифр больше пяти;
д)произведение его цифр больше семи;
е)сколько раз в нем встречаются цифры 0 и 5;


Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий
Я даже засомневался... qbasic. Это еще не вымерло?
Нет у меня такого, но по каждому пункту можно дать какие то комментарии и тексты на чем то, похожем на Basic, может быть они и в qbasic "взлетят" после допиливания. Тряхнем стариной.

Задача 1: определить количество цифр "3". Самое простое - преобразовать ваше исходное натуральное число в строку и пройтись по нему, чтобы посчитать сколько раз там цифра 3 попалась.
Dim n, i, k as Integer
Dim s as String
n=356736784; //для примера, пусть это наше "натуральное число"
s=CStr(n)
k=0
For i=1 To Len(s)
if Mid(s,i,1)="3" Then
k=k+1;
end if
Next i
MsgBox "Количество цифр 3 в числе " + s + " = " + CStr(k)

Задача 2: сколько раз в нем встречается последняя цифра. Все тоже самое, но сначала надо посмотреть что там за последняя цифра.
Dim n, i, k as Integer
Dim s1, s2 as String
n=356736784;
s1=CStr(n)
s2=Right(s1,1)
k=0
For i=1 To Len(s)
if Mid(s1,i,1)=s2 Then
k=k+1;
end if
Next i
MsgBox "Количество цифр " + s2+ " в числе " + s1 + "= " + CStr(k)

Задача 3: Количество четных цифр в нем. Тут можно по разному, можно перебирать цифры и пытаться их делить на 2, смотреть остаток деления. Так же можно просто искать нужную цифру в наборе тех, которые считаются четными.
Dim n, i, k, t as Integer
Dim s as String
n=356736784;
s=CStr(n)
k=0
For i=1 To Len(s)
t=CInt(Mid(s,i,1))
if t%2=0 Then
k=k+1;
end if
Next i
MsgBox "Количество четных цифр в числе " + s + " = " + CStr(k)

Задача 4: сумму его цифр больших пяти
Dim n, i, k, t as Integer
Dim s as String
n=356736784;
s=CStr(n)
k=0
For i=1 To Len(s)
t=CInt(Mid(s,i,1))
if t>5 Then
k=k+t;
end if
Next i
MsgBox "Сумма цифр больших пяти в числе " + s + " = " + CStr(k)

Задача 6: произведение цифр больших семи
Dim n, i, k, t as Integer
Dim s as String
n=356736784;
s=CStr(n)
k=1
For i=1 To Len(s)
t=CInt(Mid(s,i,1))
if t>7 Then
k=k*t;
end if
Next i
if k=1 Then
MsgBox "В числе " + s + " не было ни одного числа, большего семи"
else
MsgBox "Произведение чисел больших семи в числе " + s + " = " + CStr(k)
End If

Задача 7: сколько раз в нем встречаются цифры 0 и 5. Тоже самое когда искали "3" в первой задаче.
Dim n, i, k as Integer
Dim s as String
n=356736784;
s=CStr(n)
k=0
For i=1 To Len(s)
if Mid(s,i,1)="0" or Mid(s,i,1)="5" Then
k=k+1;
end if
Next i
MsgBox "Количество цифр 3 и 5 в числе " + s + " = " + CStr(k)
раскрыть ветку (9)
2
Автор поста оценил этот комментарий
Вот простой пример, решающий п. А

10 INPUT "Введите число:",a
20 DO
30 IF a MOD 10 = 3 THEN n = n+1
40 a = (a - a MOD 10) / 10
50 LOOP UNTIL a=0
60 PRINT n
раскрыть ветку (6)
1
Автор поста оценил этот комментарий
Спасибо огромное, именно в таком виде мне и нужен код.
0
Автор поста оценил этот комментарий
В qbasic, вроде, был оператор целочисленного деления \
там строку 40 можно написать просто: a = a \ 10
в bwbasic оно как-то странно работает. Кажется, заменяет на деление.
0
Автор поста оценил этот комментарий
Да, сделать можно по всякому. Я синтаксис уже при всем желании не вспомню. qbasic в моей голове жил 20 лет назад, наверное. Неужели где то такое еще преподают?
раскрыть ветку (3)
0
Автор поста оценил этот комментарий
хз... я только в школе учил, но это было давно и неправда уже.
@friskas , где ты учишься?
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Учусь в зажопинске, у нас во всех учебных заведениях преподают информатику и проходят кубейсик.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
м-да... до чего дошел прогресс! :-(
1
Автор поста оценил этот комментарий
п.Б:
10 INPUT "Введите число:",a
20 l = a MOD 10
30 DO
40 IF a MOD 10 = l THEN n = n+1
50 a = (a - a MOD 10) / 10
60 LOOP UNTIL a=0
70 PRINT n

п.В:
10 INPUT "Введите число:",a
20 DO
30 IF a MOD 2 = 0 THEN n = n+1
40 a = (a - a MOD 10) / 10
50 LOOP UNTIL a=0
60 PRINT n

В одну программу сам объедини.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Остальное совсем просто. Разбирайся с первыми тремя примерами и делай пп. Г-Е
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества