Вопрос № 106193: Здравствийте, помогите пожалуйста!
Мне нужно написать програму в Pascal, которая вычисляет разность двух чисел(в 10 системе исчисления) до 40 цифр в каждом(при том они могут быть разной длины и могут быть как положительные так и отрицательные). Ч...Вопрос № 106194: Я знаю, что Вы легко решите задания:
1. Что будет выведено на экран в результате выполнения следующей программы. (Известно, что код символа ‘с’ равен 99).
Var c:char;
Begin
c:=’ф’;
writeln(c);
writeln(‘c’);
Writeln(pred( ...Вопрос № 106195: Тема «Операторы цикла, сложные типы данных»
Задание №1. Какие символы входят в множество А после выполнения следующей последовательности операторов?
Var A,B,C:set of char;
i:byte;
Begin
A:=[‘a’,’b’,’c’];
For i:=1 to 10 do...
Вопрос № 106.193
Здравствийте, помогите пожалуйста!
Мне нужно написать програму в Pascal, которая вычисляет разность двух чисел(в 10 системе исчисления) до 40 цифр в каждом(при том они могут быть разной длины и могут быть как положительные так и отрицательные). Числа вводятся с клавиатуры.
Заранее спасибо.
Отправлен: 20.10.2007, 21:10
Вопрос задала: Arieta (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Витек
Здравствуйте, Arieta!
Только решение, без проверки на количество символов, и при выводе вывожу весь массив с нулевыми значениями. Извини просто нет времени все красиво оформить.
var mas1,mas2,res:array [1..41] of integer;
i,dc,ed,m1,m2,code:integer;
s:string[41];
begin
m1:=1;
m2:=m1;
writeln('Ukagite chislo 1: ');
readln(s);
for i:=length(s)-1 downto 0 do
begin
if s[i+1]='-' then
m1:=-1
else
val(s[i+1],mas1[length(s)-i],code);
end;
writeln('Ukagite chislo 2: ');
readln(s);
for i:=length(s)-1 downto 0 do
begin
if s[i+1]='-' then
m2:=-1
else
val(s[i+1],mas2[length(s)-i],code);
end;
dc:=0;
for i:=1 to 40 do
begin
ed:=abs(dc+m1*mas1[i]-m2*mas2[i]);
dc:=ed div 10;
res[i]:=ed mod 10;
end;
writeln;
for i:=40 downto 1 do
write(res[i]);
readln;
end.
--------- ohne fleis, keine preis
Ответ отправил: Витек (статус: 4-ый класс)
Ответ отправлен: 22.10.2007, 11:36 Оценка за ответ: 5
Вопрос № 106.194
Я знаю, что Вы легко решите задания:
1. Что будет выведено на экран в результате выполнения следующей программы. (Известно, что код символа ‘с’ равен 99).
Var c:char;
Begin
c:=’ф’;
writeln(c);
writeln(‘c’);
Writeln(pred( c),’ ‘, char(ord(‘c’));
End.
2. Чему будет равно значение переменной b при а=10 после выполнения следующего участка программы
if (a div 5) mod 2=0 then b:=sqrt(а*10)+5
else b:=sqr(a-5)-6;
3. Практическое задание. Заданы три вещественных числа, определить, что больше: сумма или произведение этих чисел?
Отвечает: Verena
Здравствуйте, Сараев Лаврентий Александрович!
1. Выведется следующее: ф - это от writeln (c) (выводится содердимое переменной) с - это от writeln ('c') (выводится заданный символ) у с - здесь "у" - предыдущая буква алфавита (перед "ф"), это результат функции pred, которая возвращает предыдущее значение аргумента, а символ "с" сначала переводится в свой код, потом обратно в символ
2. 10 целочисленно делим на 5, получаем 2, остаток от деления 2 на 2 (оператор mod) равен 0, значит условие if-а выполняется, идём по ветке then, получаем b равное корню из 10*10 (это 10) плюс 5, то есть после всего этого b=15.
3. Вещественное число - объявим типом real. Вся задача сводится к одному if-у.
Var a, b, c: real;
begin
readln (a, b, c);
if (a+b+c)>(a*b*c) then writeln ('Сумма больше')
else if (a+b+c)<(a*b*c) then writeln ('Произведение больше')
else writeln ('Они равны');
end.
Удачи!
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 20.10.2007, 21:41 Оценка за ответ: 5 Комментарий оценки: Спасибо. Очень внятный ответ и главное понятно расписано всё по деталям! ЭТО ПЯТЬ!
Отвечает: Pavl
Здравствуйте, Сараев Лаврентий Александрович!
1. writeln(c) - вывод значения с - это ф;
writeln('c') - выведется с;
writeln(pred(c)) - выведется буква у;
ord('c') - код символа с;
2. 10/5=2; 2/2=0; b = (корень из (10*10)) +5 = 15
b=15
3. вот программа
Приложение:
Ответ отправил: Pavl (статус: 1-ый класс)
Ответ отправлен: 21.10.2007, 12:33 Оценка за ответ: 4 Комментарий оценки: 1. первое правильно, но понял я это только когда прочитал варианты др. участников. 2. правильно. 3. Есть ошибки. Я поставил 4 а не 5 из-за 3-го вопроса. Всё-равно спасибо и ВАМ, что хотели помочь.
Отвечает: Артём1983
Здравствуйте, Сараев Лаврентий Александрович!
Результатом выполнения первой программы будет
ф
с
у с
Результатом второй программы будет
15
Код третьей задачки смотрите в приложении.(это ответ на Ваш вопрос 104080)
Приложение:
--------- Программирование - дело Путное!
Ответ отправил: Артём1983 (статус: 5-ый класс)
Ответ отправлен: 21.10.2007, 12:46 Оценка за ответ: 5 Комментарий оценки: Первое и второе понял только с пояснениями других, а вот за 3-е задание СПАСИБО! Подкорректируйте пожалуйста мой текст 1-ой программы, т.к. я сам не понял что там мне задали в школе(есть ошибки или нет-незнаю)и напишите.
Отвечает: Витек
Здравствуйте, Сараев Лаврентий Александрович!
1) ф
с
у b
2) 15
--------- ohne fleis, keine preis
Ответ отправил: Витек (статус: 4-ый класс)
Ответ отправлен: 22.10.2007, 08:22 Оценка за ответ: 4 Комментарий оценки: неподробно, 3-го нету.
Вопрос № 106.195
Тема «Операторы цикла, сложные типы данных»
Задание №1. Какие символы входят в множество А после выполнения следующей последовательности операторов?
Var A,B,C:set of char;
i:byte;
Begin
A:=[‘a’,’b’,’c’];
For i:=1 to 10 do A:=A+[‘d’];
B:=[];
A:=B+А;
C:=[‘a’,’d’];
A:=C*A;
End.
Задание №2. В результате выполнения фрагмента программы на экран должно быть выведено среднее арифметическое 10 введенных чисел. Выберите правильный фрагмент.
а) Var I,x,s:integer;
Begin
Read(x);
S:=0;
For I:=1 to 10 do
S:=s+x;
writeln(s/10:4:2);
end.
b) Var I,x,s:integer;
Begin
S:=0;
For I:=1 to 10 do
Read(x);
S:=s+x;
writeln(s/10:4:2);
end.
c) Var I,x,s:integer;
Begin
S:=0;
For I:=1 to 10 do
begin
Read(x);
S:=s+x;
End;
writeln(s/10:4:2);
end.
d) Var I,x,s:integer;
Begin
S:=0;
For I:=1 to 10 do
begin
Read(x);
S:=s/10+x;
End;
writeln(s:4:2);
end.
Задание №3. В результате выполнения программы на экран должны быть выведены значения функции y=x3+2x, для значений х, лежащих в диапазоне [1;3] с шагом 0,2. Выберите правильный фрагмент.
а) Var x,y:real;
Begin
x:=1;
While x<=3 do
begin
y:=sqr(x)*x+2*x;
writeln(y:4:2);
end;
end.
b) Var x,y:real;
Begin
X:=1;
While x<=3 do
X:=x+0.2;
y:=sqr(x)*x+2*x;
writeln(y:4:2);
end.
c) Var x,y:real;
Begin
X:=1;
While x<=3 do
begin
y:=sqr(x)*x+2*x;
writeln(y:4:2);
x:=x+0.2;
end;
end.
d) Var x,y:real;
Begin
X:=1;
While x=3 do
begin
y:=sqr(x)*x+2*x;
writeln(y:4:2);
x:=x+0.2;
end;
end.
e) Var x,y:real;
Begin
X:=1;
While x<=3 do
begin
y:=sqr(x+0.2)*(x+0.2)+2*(x+0.2);
writeln(y:4:2);
end;
end.
Задание №4. Требуется найти и вывести на экран сумму четных элементов массива из 10 чисел. Массив заполняется случайными числами. Определите правильный вариант программы.
а) Var a:array[1..10] of integer;
s,i:integer;
Begin
for i:=1 to 10 do a[i]:=random(100);
s:=0;
for i:=1 to 10 do
s:=s+a[i];
writeln(s);
end.
b) Var a:array[1..10] of integer;
s,i:integer;
Begin
for i:=1 to 10 do a[i]:=random(100);
s:=0;
for i:=1 to 10 do
if a[i] mod 2 =0 then
s:=s+a[i];
writeln(s);
end.
c) Var a:array[1..10] of integer;
s,i:integer;
Begin
for i:=1 to 10 do a[i]:=random(100);
s:=0;
for i:=1 to 10 do
if a[i] div 2 =0 then
s:=s+a[i];
writeln(s);
end.
d) Var a:array[1..10] of integer;
s,i:integer;
Begin
for i:=1 to 10 do a[i]:=random(100);
s:=0;
for i:=1 to 10 do
begin
if a[i] mod 2 =0 then
s:=s+a[i];
writeln(s);
end;
end.
Задание №5. Введите в строку ответа строку s, которая будет выведена на экран в результате выполнения следующей программы.
Var s,s1:string[20];
m, i:integer;
Begin
s1:=’karabas’;
s:=’barabas’
if s>s1 then s:=s+’-‘+s1
else s:=s1+’-‘+s;
writeln(s);
end.
Отвечает: Витек
Здравствуйте, Сараев Лаврентий Александрович!
1) a,d
2) c
3) c
4) b
5) karabas-barabas
Только ответить? Или что-то еще?
--------- ohne fleis, keine preis
Ответ отправил: Витек (статус: 4-ый класс)
Ответ отправлен: 22.10.2007, 08:18