2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 пожалуйста,помогите решить задачи по Паскаль...очень нужно!!
Сообщение18.03.2009, 22:12 
№1
Выполнить оператор условного перехода IF или CASE
Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по убыванию.

№2
Написать программу простого тестирования. Тестирование заключается в проверке правильности ответов на 5 вопросов (вопросы и их тематику выбрать самостоятельно, ответы на вопросы должны предполагать ввод числовых данных, например, "В каком году началась Великая Отечественная война?"). Предусмотреть выставление оценки по числу правильных ответов.

Заранее благодарен!!!

 
 
 
 
Сообщение19.03.2009, 02:11 
program N_1;
uses crt;
var x,y,z:real;
begin
clrscr;
Writeln('Введите значение x='); readln(x);
Writeln('Введите значение y='); readln(y);
Writeln('Введите значение z='); readln(z);
if (x>y) and (y>z) then writeln(x:3:2,' ',y:3:2,' ',z:3:2) else
if (x>z) and (z>y) then writeln(x:3:2,' ',z:3:2,' ',y:3:2) else
if (y>x) and (x>z) then writeln(y:3:2,' ',x:3:2,' ',z:3:2) else
if (y>z) and (z>x) then writeln(y:3:2,' ',z:3:2,' ',x:3:2) else
if (z>x) and (x>y) then writeln(z:3:2,' ',x:3:2,' ',y:3:2) else
if (z>y) and (y>x) then writeln(z:3:2,' ',y:3:2,' ',x:3:2) else
delay(36000);
readkey;
end.

Добавлено спустя 53 минуты 31 секунду:

в общем так,но там с if разбережся там слегка не верно!(ну или сделать прогу компакней) - смысл я тебе написал

Program N_2;
uses crt;
var a,b,x,y,z:integer;
begin
clrscr;
writeln('Начало первой мировой войны(год)'); readln(a);
writeln('Конец первой мировой войны(год)'); readln(b);
writeln('Сталинградская битва(год)'); readln(x);
writeln('День победы(число)'); readln(y);
writeln('День советской армии(число)'); readln(z);
if (a=1941) and (b=1945) and (x=1943) and (y=9) and (z=23) then
writeln(' Оценка - 5 ') else
if (a=1941) and (b=1945) and (x=1943) and (y=9) then
writeln(' Оценка - 4 ') else
if (a=1941) and (b=1945) and (x=1943) and (z=23) then
writeln(' Оценка - 4 ') else
if (a=1941) and (b=1945) and (y=9) and (z=23) then
writeln(' Оценка - 4 ') else
if (a=1941) and (x=1943) and (y=9) and (z=23) then
writeln(' Оценка - 4 ') else
if (b=1945) and (x=1943) and (y=9) and (z=23) then
writeln(' Оценка - 4 ') else
if (x=1943) and (y=9) and (z=23) then
writeln(' Оценка - 3 ') else
if (b=1945) and (y=9) and (z=23) then
writeln(' Оценка - 3 ') else
if (b=1945) and (x=1943) and (z=23) then
writeln(' Оценка - 3') else
if (b=1945) and (x=1943) and (y=9) then
writeln(' Оценка - 3 ') else
if (a=1941) and (y=9) and (z=23) then
writeln(' Оценка - 3 ') else
if (a=1941) and (x=1943) and (z=23) then
writeln(' Оценка - 3 ') else
if (a=1941) and (x=1943) and (y=9) then
writeln(' Оценка - 3 ') else
if (a=1941) and (b=1945) and (z=23) then
writeln(' Оценка - 3 ') else
if (a=1941) and (b=1945) and (y=9) then
writeln(' Оценка - 3 ') else
if (a=1941) and (b=1945) and (x=1943) then
writeln(' Оценка - 3 ') else
if (y=9) and (z=23) then
writeln(' Оценка - 2 ') else
if (x=1943) and (z=23) then
writeln(' Оценка - 2 ') else
if (x=1943) and (y=9) then
writeln(' Оценка - 2 ') else
if (b=1945) and (z=23) then
writeln(' Оценка - 2 ') else
if (b=1945) and (y=9) then
writeln(' Оценка - 2 ') else
if (b=1945) and (x=1943) then
writeln(' Оценка - 2 ') else
if (a=1941) and (z=23) then
writeln(' Оценка - 2 ') else
if (a=1941) and (y=9) then
writeln(' Оценка - 2 ') else
if (a=1941) and (x=1943) then
writeln(' Оценка - 2 ') else
if (a=1941) and (b=1945) then
writeln(' Оценка - 2 ') else
if (z=23) then
writeln(' Оценка - 1 ') else
if (a=1941) then
writeln(' Оценка - 1 ') else
if (b=1945) then
writeln(' Оценка - 1 ') else
if (x=1943) then
writeln(' Оценка - 1 ') else
if (y=9) then
writeln(' Оценка - 1 ') else
writeln(' Оценка - 0 ');
Delay(3600);
readkey;
end.

 
 
 
 
Сообщение19.03.2009, 09:24 
Никуда не годится. А если б параметры были не 3 и 5, а, допустим, хотя бы 13 и 15? Я бы такое решение ни за что не засчитал. В конце концов, ни один преподаватель -- не папа Карло, чтоб в простыни вчитываться.

В первом требуется, между прочим, не просто вывести результат, а именно переставить числа.Поскольку чисел всё-таки всего три, то можно, действитетельно обойтись и без цикла. Но действовать нужно тем не менее не в бессознательном состоянии, а пузырьковой сортировкой:

Код:
if X>Y then begin   R:=X;   X:=Y;   Y:=R;   end;
if Y>Z then begin   R:=Y;   Y:=Z;   Z:=R;   end;
if X>Y then begin   R:=X;   X:=Y;   Y:=R;   end;


Во втором следует завести три массива: массив строк вопросов и два числовых массива -- правильных ответов и предполагаемых ответов (можно объединить их в один массив записей). Поскольку речь всё же о Паскале, условия и правильные ответы лучше задать как типизированные константы, хотя это и не обязательно. Кроме того, определить целочисленный счётчик правильных ответов, задав его вначале нулём. Затем организовать цикл по массиву, на каждом шаге которого:
- печатается условие;
- считывается ответ;
- если ответ правильный, то счётчик увеличивается на единицу.

 
 
 
 
Сообщение19.03.2009, 21:07 
Всем большое Спасибо!!!!!

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group