Написать программу, в которой юзер избирает одну из предметных областей:математика
Написать программу, в которой юзер избирает одну из предметных областей:математика либо география. Если выбрана математика-компьютер по порядку задает три образца на вычисление (например: 4+3=?). Если выбрана география-компьютер спрашивает столицы 3-х стран. Компьютер проверяет ответы на корректность и в конце выводит оценку на экран:5-если не было ошибок, 4-одна ошибка, 3-две оплошности, 2-если все ответы неправильные.
Помогите пожалуйста, заблаговременно благодарю.
2 ответа
Agata
Var
mCity: array [1..10] of string := ('Москва', 'Берлин', 'Париж', 'Лондон', 'Рим',
'Мадрид', 'Стокгольм', 'Берн', 'Вена', 'Афины');
mGov: array[1..10] of string := ('Наша родина', 'Германия', 'Франция',
'Англия', 'Италия', 'Испания', 'Швеция', 'Швейцария', 'Австрия', 'Греция');
mOps: array[1..4] of char := ('+', '-', '*', '/');
p, i, n, a, b, c, d, k: integer;
op: char;
s: string;
begin
Write('Выберите предмет: 1- Математика, 2-География --gt;');
Readln(p);
if (p lt; 1) or (p gt; 2) then Writeln('Неправильный выбор, работа завершена')
else begin
Randomize;
k := 0;
if p = 1 then тестируем арифметику
for i := 1 to 3 do
begin
op := mOps[Random(4) + 1];
case op of
'+':
begin
a := Random(50) + 1;b := Random(50) + 1;
c := a + b;Write(a, ' + ', b, ' = ');Readln(d)
end;
'-':
begin
a := Random(99) + 1;b := Random(a) + 1;
c := a - b;Write(a, ' - ', b, ' = ');Readln(d)
end;
'*':
begin
a := Random(9) + 1;b := Random(9) + 1;
c := a * b;Write(a, ' x ', b, ' = ');Readln(d) end;
else begin
c := Random(9) + 1;b := Random(9) + 1;a := b * c;
Write(a, ' : ', b, ' = ');Readln(d)
end
end;
if c = d then Writeln('Правильно')
else begin Writeln('Неверно');k := k + 1 end
end
else тестируем географию
for i := 1 to 3 do
begin
Write('Столица страны ');
n := Random(10) + 1;
Write(mGov[n], ' - ');Readln(s);
на всякий случай преобразуем ответ, записав
первую буковку в верхнем регистре, прочие - в нижнем
s := LowerCase(s);s[1] := UpperCase(s[1]);
if s = mCity[n] then Writeln('Верно')
else begin Writeln('Ошибочно');k := k + 1 end
end;
Вывод результатов
Write('Ваша отметка- ');
case k of
0: Write('5');
1: Write('4');
2: Write('3');
else write('2')
end
end
end.
Тестовые решения:
Изберите предмет: 1- Математика, 2-География --gt;1
29 + 32 = 61
Верно
28 - 10 = 18
Правильно
6 x 6 = 35
Ошибочно
Ваша отметка- 4
Изберите предмет: 1- Математика, 2-География --gt;2
Столица государства Испания - Мадрид
Верно
Столица страны Греция - Афины
Правильно
Столица государства Великобритания - лондон
Правильно
Ваша отметка- 5
mCity: array [1..10] of string := ('Москва', 'Берлин', 'Париж', 'Лондон', 'Рим',
'Мадрид', 'Стокгольм', 'Берн', 'Вена', 'Афины');
mGov: array[1..10] of string := ('Наша родина', 'Германия', 'Франция',
'Англия', 'Италия', 'Испания', 'Швеция', 'Швейцария', 'Австрия', 'Греция');
mOps: array[1..4] of char := ('+', '-', '*', '/');
p, i, n, a, b, c, d, k: integer;
op: char;
s: string;
begin
Write('Выберите предмет: 1- Математика, 2-География --gt;');
Readln(p);
if (p lt; 1) or (p gt; 2) then Writeln('Неправильный выбор, работа завершена')
else begin
Randomize;
k := 0;
if p = 1 then тестируем арифметику
for i := 1 to 3 do
begin
op := mOps[Random(4) + 1];
case op of
'+':
begin
a := Random(50) + 1;b := Random(50) + 1;
c := a + b;Write(a, ' + ', b, ' = ');Readln(d)
end;
'-':
begin
a := Random(99) + 1;b := Random(a) + 1;
c := a - b;Write(a, ' - ', b, ' = ');Readln(d)
end;
'*':
begin
a := Random(9) + 1;b := Random(9) + 1;
c := a * b;Write(a, ' x ', b, ' = ');Readln(d) end;
else begin
c := Random(9) + 1;b := Random(9) + 1;a := b * c;
Write(a, ' : ', b, ' = ');Readln(d)
end
end;
if c = d then Writeln('Правильно')
else begin Writeln('Неверно');k := k + 1 end
end
else тестируем географию
for i := 1 to 3 do
begin
Write('Столица страны ');
n := Random(10) + 1;
Write(mGov[n], ' - ');Readln(s);
на всякий случай преобразуем ответ, записав
первую буковку в верхнем регистре, прочие - в нижнем
s := LowerCase(s);s[1] := UpperCase(s[1]);
if s = mCity[n] then Writeln('Верно')
else begin Writeln('Ошибочно');k := k + 1 end
end;
Вывод результатов
Write('Ваша отметка- ');
case k of
0: Write('5');
1: Write('4');
2: Write('3');
else write('2')
end
end
end.
Тестовые решения:
Изберите предмет: 1- Математика, 2-География --gt;1
29 + 32 = 61
Верно
28 - 10 = 18
Правильно
6 x 6 = 35
Ошибочно
Ваша отметка- 4
Изберите предмет: 1- Математика, 2-География --gt;2
Столица государства Испания - Мадрид
Верно
Столица страны Греция - Афины
Правильно
Столица государства Великобритания - лондон
Правильно
Ваша отметка- 5
Егор
Реализовано в Pascaд.ABC.Net. Программка трудоспособна без конфигураций в неких иных версиях. Также, работоспособна в хоть какой версии Паскаля после маленькой модификации.
Амина Вавуленкова
Необыкновенностью является генерация 3-х случайно выбранных из десяти вероятных вариантов по географии и большого числа нечаянно сгенерированных образцов на четыре деяния арифметики в границах первой сотки чисел.
Кирилл Горынычев
Var a,b,c,z,x,h,count:integer;
q,w,e,r,t,y,k:string;
begin
a:=99;
b:=81;
c:=63;
q:='Берлин';
w:='Москва';
e:='Бразилиа';
writeln('Избери предмет');
writeln('математика либо география ');
read(k);
case k of
'география' : begin
readln;
write('Столица Германии это ');
read(r);
readln;
writeln;
write('Столица России это ');
read(t);
readln;
writeln;
write('Столица Бразилии это ');
read(y);
readln;
writeln;
end;
'математика' : begin
write('11*9=');
read(z);
writeln;
write('9*9=');
read(x);
writeln;
write('7*9=');
read(h);
writeln;
end;
end;
if q=r then count:=count+1;
if w=t then count:=count+1;
if e=y then count:=count+1;
if a=z then count:=count+1;
if b=x then count:=count+1;
if c=h then count:=count+1;
if count=0 then writeln('Твоя оценка по предмету ',k,' это только 2');
if count=1 then writeln('Твоя оценка по предмету ',k,' это только 3');
if count=2 then writeln('Твоя оценка по предмету ',k,' это только 4');
if count=3 then writeln('Твоя оценка по предмету ',k,' это только 5');
end.
q,w,e,r,t,y,k:string;
begin
a:=99;
b:=81;
c:=63;
q:='Берлин';
w:='Москва';
e:='Бразилиа';
writeln('Избери предмет');
writeln('математика либо география ');
read(k);
case k of
'география' : begin
readln;
write('Столица Германии это ');
read(r);
readln;
writeln;
write('Столица России это ');
read(t);
readln;
writeln;
write('Столица Бразилии это ');
read(y);
readln;
writeln;
end;
'математика' : begin
write('11*9=');
read(z);
writeln;
write('9*9=');
read(x);
writeln;
write('7*9=');
read(h);
writeln;
end;
end;
if q=r then count:=count+1;
if w=t then count:=count+1;
if e=y then count:=count+1;
if a=z then count:=count+1;
if b=x then count:=count+1;
if c=h then count:=count+1;
if count=0 then writeln('Твоя оценка по предмету ',k,' это только 2');
if count=1 then writeln('Твоя оценка по предмету ',k,' это только 3');
if count=2 then writeln('Твоя оценка по предмету ',k,' это только 4');
if count=3 then writeln('Твоя оценка по предмету ',k,' это только 5');
end.
Николай
Непременно соблюдать шрифт
Татьяна Довжикова
спасибо огромное
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
Облако тегов