Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2015, 14:01   #1
nataqwest
Пользователь
 
Регистрация: 16.12.2014
Сообщений: 20
Вопрос Перевести программы из Pascal на язык Си (For и While)

Помогите, я на паскаль написала программы, а меня попросили на язык Си переделать, а я его плохо знаю.

13)Дано целое число N (> 0). Если оно является степенью числа 3, то вывести True, если не является — вывести False

Код:
var
  N: integer;

begin
  readln(N);
  while N mod 3 = 0 do N := N div 3; 
  writeln(N = 1); // Выведет True или False
end.
14)Дано целое число N (> 0). Найти наибольшее целое число K, квадрат которого не превосходит N: K2 ≤ N. Функцию извлечения квадратного корня не использовать.

Код:
var
  n, k: integer;
begin
  write('Введите число: ');
  readln(n);
  while sqr(k) <= n do 
    inc(k); 
  dec(k); 
  writeln(k); 
end.
15)Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).

Код:
3.	var
4.	  p, s: real;
5.	  k: integer;
6.	 
7.	begin
8.	  write('Введите P: '); 
9.	  readln(p);
10.	  s := 1000; 
11.	  while s <= 1100 do
12.	  begin
13.	    s := s * (p / 100 + 1); //находим размер вклада за месяц
14.	    inc(k); 
15.	  end;
16.	  writeln('Количество месяцев: ', k);
17.	  writeln('Итоговый размер вклада: ', s);
18.	end.
16)Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц).

Код:
3.	var
4.	  N: integer;
5.	 
6.	begin
7.	  write('Введите число: '); 
8.	  readln(N);
9.	  write('Цифры: ');
10.	  while N > 0 do 
11.	  begin
12.	    write(N mod 10, ' '); 
13.	    N := N div 10; 
14.	  end;
15.	end.
17)Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее геометрическое GMean == X ⋅Y двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D.

Код:
3.	procedure Mean(x, y: real; var a, g: real);
4.	begin
5.	  a := (x + y) / 2;
6.	  g := Sqrt(x * y)
7.	end;
8.	 
9.	var
10.	  a, b, c, d, AMean, GMean: real;
11.	 
12.	begin
13.	  write('A = ');
14.	  readln(a);
15.	  write('B = ');
16.	  readln(b);
17.	  write('C = ');
18.	  readln(c);
19.	  write('D = ');
20.	  readln(d);
21.	  Mean(a, b, AMean, GMean); {Вызываю процедуру}
22.	  writeln('Среднее арифметическое ', a, ' и ', b, ' равно ', AMean);
23.	  writeln('Среднее геометрическое ', a, ' и ', b, ' равно ', GMean:3:2);
24.	  Mean(a, c, AMean, GMean); {Вызываю процедуру}
25.	  writeln('Среднее арифметическое ', a, ' и ', c, ' равно ', AMean);
26.	  writeln('Среднее геометрическое ', a, ' и ', c, ' равно ', GMean:3:2);
27.	  Mean(a, d, AMean, GMean); {Вызываю процедуру}
28.	  writeln('Среднее арифметическое ', a, ' и ', d, ' равно ', AMean);
29.	  writeln('Среднее геометрическое ', a, ' и ', d, ' равно ', GMean:3:2);
30.	end.
Кнопку # для оформления кода до сих пор не освоили?

Последний раз редактировалось Аватар; 08.05.2015 в 14:10.
nataqwest вне форума Ответить с цитированием
Старый 08.05.2015, 14:46   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Помогите, я на паскаль написала программы, а меня попросили на язык Си переделать, а я его плохо знаю.
ага рассказывай.... бюджет озвучивай челенджера давно тут нет
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 08.05.2015, 18:01   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
13)Дано целое число N (> 0). Если оно является степенью числа 3, то вывести True, если не является — вывести False
Код:

Код:
int n;

int main(){
  scanf("%d",&n);
  while(n%3) n/=3; 
  printf((N == 1)?"Труя":"Фалься"); // Выведет True или False
  getchar();
  return 0;
}
Цитата:
14)Дано целое число N (> 0). Найти наибольшее целое число K, квадрат которого не превосходит N: K2 ≤ N. Функцию извлечения квадратного корня не использовать.
Код:

Код:

 int n, k;
int main(){
  printf("Введите число: "); scanf("%d",&n);
  while (sqr(k) <= n) k++; 
  printf("%d",k--);
  getchar();
  return 0;
}
Цитата:
15)Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).
Код:
Код:

3.	
4.	 double p, s;
5.	 int k=0;
6.	 
7.	int main(){
8.	  printf("Введите P: ");scanf("%f",&p);
10.	  s = 1000; 
11.	  while (s <= 1100) {
13.	    s *=  (p / 100 + 1); //находим размер вклада за месяц
14.	    k++ 
15.	 }
16.	  printf("Количество месяцев: %d\nИтоговый размер вклада: ",k,s);
17.	  getchar(); return 0;
18. }
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2015, 20:33   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Виталий челенджера подмениваешь? человек сумевший написать это на паскале сможет найти вариант написать это на си
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 08.05.2015, 20:48   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
челенджера подмениваешь?
Да не )
Просто делать нечего...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевести программу с языка C# на язык Pascal _SoTo_ Помощь студентам 3 25.11.2012 03:53
Перевести с СИ++ на язык СИ (пару строк) DesignFootball.Ru Помощь студентам 17 07.11.2011 17:20
Перевести текст программы из DELPHI в PASCAL анна2709 Паскаль, Turbo Pascal, PascalABC.NET 2 03.04.2011 20:05
перевести на русский язык urus Общие вопросы по Java, Java SE, Kotlin 0 17.02.2011 08:52
Перевести текст программы с Pascal на С ??? $T@LKER Помощь студентам 4 14.09.2010 17:44