Информатика | 10 - 11 классы
Помогите перевести из паскаля в си, пожалуйста!
Uses crt ;
type prm = record {прямая с полями, коэффициентами}
a, b, c : real ;
end ;
tch = record {точка с полями, координатами}
x, y : real ;
end ;
{процедура вычисления точки пересечения 2х прямых}
procedure Peres2(a, b : prm ; var t : tch) ;
begin
t.
X : = (b.
C * a.
B - a.
C * b.
B) / (a.
A * b.
B - a.
B * b.
A) ;
t.
Y : = (b.
A * a.
C - a.
A * b.
C) / (a.
A * b.
B - a.
B * b.
A) ;
end ;
{функция проверки на пересечение}
function Prov(a, b : prm) : boolean ;
begin
Prov : = a.
A * b.
B - a.
B * b.
A0 ;
end ;
{процедура ввода данных}
procedure Vvod(var a : prm ; k : byte) ;
begin
repeat
writeln('Введите коэффициенты прямой ', k) ;
readln(a.
A, a.
B, a.
C) ;
if(a.
A = 0)and(a.
B = 0)then writeln('Это не прямая, повторите ввод')
until(a.
A0)or(a.
B0) ;
a.
C : = - a.
C ; {перенесем C в левую часть получим ax + by + c = 0}
end ;
var a, b, c : prm ;
m12, m13, m23 : tch ;
s : real ;
begin
clrscr ;
Vvod(a, 1) ;
Vvod(b, 2) ;
Vvod(c, 3) ;
if not Prov(a, b)or not Prov(a, c)or not Prov(b, c) then
begin
write('Прямые попарно не пересекаются') ;
readln ;
exit
end ;
Peres2(a, b, m12) ;
Peres2(a, c, m13) ;
Peres2(b, c, m23) ;
writeln('Точка пересечения 1 - 2 : ', m12.
X : 5 : 2, ' ; ', m12.
Y : 5 : 2) ;
writeln('Точка пересечения 1 - 3 : ', m13.
X : 5 : 2, ' ; ', m13.
Y : 5 : 2) ;
writeln('Точка пересечения 2 - 3 : ', m23.
X : 5 : 2, ' ; ', m23.
Y : 5 : 2) ;
s : = abs(m12.
X * (m23.
Y - m13.
Y) + m23.
X * (m13.
Y - m12.
Y) + m13.
X * (m13.
Y - m23.
Y)) / 2 ;
write('Площадь треугольника пересечений = ', s : 0 : 2) ;
readln
end.
Определите, какое число будет напечатано на экране в результате выполнения следующей программы :var a, b : integer ;begin a : = 0 ; b : = 2 ; while b < 32 do begin a : = a + 1 ; b : = b * 2 ; end ; wr?
Определите, какое число будет напечатано на экране в результате выполнения следующей программы :
var a, b : integer ;
begin a : = 0 ; b : = 2 ; while b < 32 do begin a : = a + 1 ; b : = b * 2 ; end ; writeln(a) ;
end.
65) (Д?
65) (Д.
Ф. Муфаззалов, Уфа) Какое число будет напечатано в результате выполнения программы :
var i, k : integer ;
function f(x : integer) : integer ;
var m : integer ;
begin
if x < 10 then f : = x
else begin
m : = f(x div 10) ;
if m < x mod 10 then
f : = x mod 10
else f : = m ;
end ;
end ;
begin
k : = 0 ;
for i : = 1000 to 9999 do
if f(i mod 100) = 1 then
if f(i div 100) = f(i mod 100) then
k : = k + 1 ;
writeln(k) ;
end.
Объясните, пожалуйста.
Пожалуйста помогите?
Пожалуйста помогите!
Найдите исправьте все ошибки, допущенные в этой программе.
Запишите программу без ошибок.
Var a ; b ; c : Integer ; d : real ;
Begin
Writeln('b = ?
', b)
Readln(b) ;
a = 10 ;
с : ab
Writeln(' a x b' равно' C) ;
d : = c div b ;
writeln(d)
End.
Ниже записана программа?
Ниже записана программа.
Получив на вход число , эта программа
печатает два числа, a и b.
Укажите наибольшее из чисел , при вводе которых алгоритм печатает сначала 2, а потом 8.
Var x, a, b : integer ;
begin
readln(x) ;
a : = 0 ; b : = 0 ;
while x > 0 do begin
a : = a + 1 ;
b : = b + (x mod 100) ;
x : = x div 100 ;
end ;
writeln(a) ; write(b) ;
end.
Помогите найти ошибку (Информатика, Паскаль)?
Помогите найти ошибку (Информатика, Паскаль).
Var s, k, a : integer ;
Begin
s : = 0 ;
k : = 0 ;
Read(a) ;
while a0 do
Begin
if a mod 8 = 0 then
Begin
s : = s + a ;
k : = k + 1 ;
end ;
Readln(a) ;
end ;
var y : real ;
begin
y : = s / k ;
Read(s) ;
if s>0 then
Writeln(y)
else
Writeln('NO')
end ;
end.
Дайте ответ пожалуйста?
Дайте ответ пожалуйста!
Ниже записана программа.
Получив на вход число , эта программа печатает два числа, и .
Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом10.
Var x, a, b : integer ;
begin readln(x) ; a : = 0 ; b : = 1 ; while x > 0 do begin a : = a + 1 ; b : = b * (x mod 8) ; x : = x div 8 ; end ; writeln(a) ; write(b) ;
end.
Перевод кода паскаль в c + +2)var i, sum : integer ;n : real ;beginsum : = 0 ;for i : = 1 to 15 dobeginreadln(n) ;if n = trunc(n) then sum : = sum + 1 ;end ;writeln(sum) ;end?
Перевод кода паскаль в c + +
2)var i, sum : integer ;
n : real ;
begin
sum : = 0 ;
for i : = 1 to 15 do
begin
readln(n) ;
if n = trunc(n) then sum : = sum + 1 ;
end ;
writeln(sum) ;
end.
2
Var
a1, b2, c, d : integer ;
begin
write('Введите числа через пробел : ') ;
read(a1) ;
for d : = 2 to 10 do begin
read(b2) ;
if b2>a1 then inc(c) ;
a1 : = b2 ;
end ;
if c = 9 then writeln('Да') else writeln('Нет') ;
end.
СрочноProgram sredarifment ;Var a : array[1?
Срочно
Program sredarifment ;
Var a : array[1.
10] of real ;
i, k : integer ;
C, S, sred : real ;
Begin
For i : = 1 to 10 do begin write ('a[', i, '] = ') ; readln (a[i]) ; end ;
write('введите C : ') ; readln (C) ;
For i : = 1 to 10 do begin If a[i]>C then begin S = S + a[i] ; K = K + 1 ; end ; end ;
sred = S / k ;
Writeln('среднее арифметическое чисел, превосходящих ', C, ' равно ', sred) ;
End.
Помогите чтобы программа запускалась.
Выходит что не верно.
Перевести из Pascal в Сvar a, b : longint ; n, m : byte ;begin readln(a) ; readln(n) ; b : = 0 ; while a > 0 do begin m : = a mod 10 ; if m n then b : = b * 10 + m ; a : = a div 10 ; end ; while b > 0?
Перевести из Pascal в С
var a, b : longint ; n, m : byte ;
begin readln(a) ; readln(n) ; b : = 0 ; while a > 0 do begin m : = a mod 10 ; if m n then b : = b * 10 + m ; a : = a div 10 ; end ; while b > 0 do begin a : = a * 10 + b mod 10 ; b : = b div 10 ; end ; writeln(a) ;
end.
Program a2 ;var a, b, c, min : real ;beginwriteln('Введите три числа') ;readln(a, b, c) ;min : = a ;if bif cwriteln('min = ', min)end?
Program a2 ;
var a, b, c, min : real ;
begin
writeln('Введите три числа') ;
readln(a, b, c) ;
min : = a ;
if b
if c
writeln('min = ', min)
end.
КАК РЕШАТЬ?
А)а = 10, b = 5 и с = 1
Б)а = 10, b = 5 и с = 7
В)а = 2, b = 10, с = 5.
Если вам необходимо получить ответ на вопрос Помогите перевести из паскаля в си, пожалуйста?, относящийся к уровню подготовки учащихся 10 - 11 классов, вы открыли нужную страницу. В категории Информатика вы также найдете ответы на похожие вопросы по интересующей теме, с помощью автоматического «умного» поиска. Если после ознакомления со всеми вариантами ответа у вас остались сомнения, или полученная информация не полностью освещает тематику, создайте свой вопрос с помощью кнопки, которая находится вверху страницы, или обсудите вопрос с посетителями этой страницы.
#include
#include
struct prm { float a, b, c ;
} ;
struct tch { float x, y ;
} ;
void Peres2(struct prm a, struct prm b, struct tch * t) { t - >x = (b.
C * a.
B - a.
C * b.
B) / (a.
A * b.
B - a.
B * b.
A) ; t - >y = (b.
A * a.
C - a.
A * b.
C) / (a.
A * b.
B - a.
B * b.
A) ;
}
int Prov(struct prm a, struct prm b) { return a.
A * b.
B - a.
B * b.
A! = 0 ;
}
void Vvod(struct prm * a, int k) { do { printf("Введите коэффициенты прямой %i \ n", k) ; scanf("%f%f%f", &a - >a, &a - >b, &a - >c) ; if ((a - >a = = 0) && (a - >b = = 0)) printf("Это не прямая, повторите ввод \ n") ; } while ((a - >a = = 0) && (a - >b = = 0)) ; a - >c = - a - >c ;
}
struct prm a, b, c ;
struct tch m12, m13, m23 ;
float s ;
int main() { Vvod(&a, 1) ; Vvod(&b, 2) ; Vvod(&c, 3) ; if (!
Prov(a, b) || !
Prov(a, c) || !
Prov(b, c)) { printf("Прямые попарно не пересекаются") ; return 0 ; } Peres2(a, b, &m12) ; Peres2(a, c, &m13) ; Peres2(b, c, &m23) ; printf("Точка пересечения 1 - 2 : %5.
2f ; %5.
2f \ n", m12.
X, m12.
Y) ; printf("Точка пересечения 1 - 3 : %5.
2f ; %5.
2f \ n", m13.
X, m13.
Y) ; printf("Точка пересечения 2 - 3 : %5.
2f ; %5.
2f \ n", m23.
X, m23.
Y) ; s = fabs(m12.
X * (m23.
Y - m13.
Y) + m23.
X * (m13.
Y - m12.
Y) + m13.
X * (m13.
Y - m23.
Y)) / 2 ; printf("Площадь треугольника пересечений = %.
2f", s) ; return 0 ;
}.