Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 15:30     Оператор выбора,цикла...беда=(
  #1
Первые занятия в техникуме и уже тону - помогите кто чем может Задачки задали, они наверно легкие, но бьюсь 3 день
1.Вводим Х и n и дожно выводить X в степени n, там что то с циклом делать нужно, но для меня это так и осталось загадкой
2.Вводим год выводит - век (типа 2000-20,2001-21), там все повязано с mod и div вроде...не знаю
3.В зависимости от К(0;99) вывести фразу "мне К лет(год, годов) - тут сказали case использовать
4. Рассчитать плату за интернет из рассчета что абооненская плата 100р, трафик 25мб и за каждый мб привышения трафика берут 3р

P.S.Заранее благодарю Прошу прощения если пишу не в том разделе, я у Вас впервые
AdAgent
Объявления
03.09.2009, 15:30
schdub
Форумчанин
2481 / 858 / 55
Регистрация: 19.01.2009
Сообщений: 2,065
03.09.2009, 15:53
  #2
№1 возведение в степень очень похожа на вашу, только организрвать ввод данных
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:02  [ТС]
  #3
Цитата Сообщение от polivets Посмотреть сообщение
№1 возведение в степень очень похожа на вашу, только организрвать ввод данных
Похожа, но мне всё равно не понятно
schdub
Форумчанин
2481 / 858 / 55
Регистрация: 19.01.2009
Сообщений: 2,065
03.09.2009, 16:06
  #4
#3
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses crt;
 
var k : Integer;
 
begin
  ClrScr;
 
  Write('Сколько лет? ');
  ReadLn(k);
 
  if (k>99) or (k<0) then
    WriteLn('Вы ввели неверный возраст. Допустимые занчения [0..99]!')
  else
  begin
    Write('Мне ', k,' ');
    case k mod 10 of
    1: if k div 10=1 then write('лет') else write('год');
    2,3,4: if k div 10=1 then write('лет') else write('годa');
    else write('лет');
    end;
    WriteLn('.');
  end;
  ReadLn;
end.
schdub
Форумчанин
2481 / 858 / 55
Регистрация: 19.01.2009
Сообщений: 2,065
03.09.2009, 16:12
  #5
#1
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
 
var x, n : integer;
 
function Pow(a,b:integer):longint;
var i,s:integer;
begin
  s:=1;
  for i:=1 to b do
    s:=s*a;
  Pow:=s;
end;
 
begin
  clrscr;
  write('x = ');
  ReadLn(x);
  write('n = ');
  ReadLn(n);
  write('x^n = ', pow(x, n));  
  readln
end.
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 16:12
  #6
Первая задача подробно. Рассмотрим только случай когда показатель целое неотрицательное число, ибо другие случаи в цикле не решаются.

Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;{модуль для очистки экрана(в данном примере-необязательно)}
var x,y:real;{основание степени и результат}
    n,i:1..maxint;{показатель степени и счетчик цикла}
begin
clrscr;{очищаем экран, если уберем модудь, то убрать и это}
write('Введите основание степени, любое сисло x=');
readln(x);
write('Введите показатель степени целое положительное число n=');
repeat
readln(n);
until n>0;{проверяем правильность ввода}
y:=1;{сначала результат=1, нулевая степень}
for i:=1 to n do{какой показатель степени, столько раз повторяем цикл}
y:=y*x;{умножаем основание само на себя}
write(x:0:2,'^',n,'=',y:0:2);{выводим результат}
readln
end.
Думаю что на первых занятиях вряд ли они прошли уже и функции.
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:16  [ТС]
  #7
Цитата Сообщение от polivets Посмотреть сообщение
#3
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses crt;
 
var k : Integer;
 
begin
  ClrScr;
 
  Write('Сколько лет? ');
  ReadLn(k);
 
  if (k>99) or (k<0) then
    WriteLn('Вы ввели неверный возраст. Допустимые занчения [0..99]!')
  else
  begin
    Write('Мне ', k,' ');
    case k mod 10 of
    1: if k div 10=1 then write('лет') else write('год');
    2,3,4: if k div 10=1 then write('лет') else write('годa');
    else write('лет');
    end;
    WriteLn('.');
  end;
  ReadLn;
end.
пасиба огромное тока вместо русских букв выводит закарючки какие то =(
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 16:19
  #8
Это у Вас проблемы с отображением русских букв. Напишите пока русский текст транслитом, потом попробуйте разобраться что к чему. Кстати какой у Вас компилятор? Можете скачать Турбо Паскаль по ссылке вверху этого раздела, там русский шрифт отображается нормально.
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:29  [ТС]
  #9
Цитата Сообщение от Puporev Посмотреть сообщение
Это у Вас проблемы с отображением русских букв. Напишите пока русский текст транслитом, потом попробуйте разобраться что к чему. Кстати какой у Вас компилятор? Можете скачать Турбо Паскаль по ссылке вверху этого раздела, там русский шрифт отображается нормально.
хорошо,спасибо
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 16:29
  #10
№2.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
var g,v:word;
begin
clrscr;
repeat
write('Vvedite god ot 1 do 2009 g=');{можете свой интервал задать}
readln(g);
until(g>=1)and(g<=2009);
if g mod 100=0 then v:=g div 100{если последний год века, на 00 оканчивается}
else v:=g div 100+1;{остальные года}
write('Vek=',v);
readln
end.
schdub
Форумчанин
2481 / 858 / 55
Регистрация: 19.01.2009
Сообщений: 2,065
03.09.2009, 16:30
  #11
#4
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
var t    : integer;
    bill : real;
 
const abon_plata = 100.0; {абон плата}
      abon_limit = 25;    {кол-во МБ оплаченых абон плтой}
      abon_high  = 3.0;   {стоимость МБ сверх оплаченного лимита}
 
begin
  clrscr;
  write('трафик (в Мб) = ');
  readln(t);
 
  {абон плата}
  bill := abon_plata;
  if t > abon_limit then t := t - abon_limit else t := 0;
 
  if t>0 then
  begin
    { есть превышение}
    bill := bill + (t * abon_high);
  end;
 
  writeln('Нужно заплатить ',bill:2:2,' руб.');
  readln;
end.
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 16:33
  #12
Вот как все быстро, а Вы боялись! Кто рано встает, тому Бог дает. Ближе к концу семестра повезет только самым счастливчикам.
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:40  [ТС]
  #13
Цитата Сообщение от Puporev Посмотреть сообщение
Вот как все быстро, а Вы боялись! Кто рано встает, тому Бог дает. Ближе к концу семестра повезет только самым счастливчикам.
я в шоке пасибо Вам осталось решить проблемы с задачами на измерение количества информации
schdub
Форумчанин
2481 / 858 / 55
Регистрация: 19.01.2009
Сообщений: 2,065
03.09.2009, 16:53
  #14

Не по теме:

Действительно, они просуществовали на нашем форуме нерешенными всего час (15:30 - 16:30). Но, Puporev может еще быстрее.



Цитата Сообщение от БелкО Посмотреть сообщение
осталось решить проблемы с задачами на измерение количества информации
Что за задачи???
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 17:05  [ТС]
  #15
Цитата Сообщение от polivets Посмотреть сообщение

Не по теме:

Действительно, они просуществовали на нашем форуме нерешенными всего час (15:30 - 16:30). Но, Puporev может еще быстрее.




Что за задачи???
Чувствую у меня всё впереди, как бы Вам не надоесть
P.S. Задачи типа: "Информационное сообщение объемом 1.5кб=3072символов.Определить мощность алфавита"

Добавлено через 8 минут
"Составить модуль перекодировки русских символов консольных приложений в среде Delphi"
Можете перевести на русский что от меня хотят ?
yanyk1n
Форумчанин
4312 / 1443 / 25
Регистрация: 12.03.2009
Сообщений: 5,311
03.09.2009, 17:13
  #16
ну с объёмом могу уже решить:
1.5 кб = 1536 байт
3072 / 1536 =2 байта = 16 бит на символ
с помощью 16 бит можно закодировать 2^16 =65536символов

Добавлено через 2 минуты
а вот и процедура для модуля:
Код Delphi
1
2
3
4
5
6
7
8
9
10
11
12
function Rus(mes: string):string;
// В ANSI русские буквы кодируются числами от 192 до 255, 
// в ASCII - от 128 до 175 (А..Яа..п) и от 224 до 239 (р..я). 
var
i: integer; // номер обрабатываемого символа 
begin
 for i: =1 to length(mes) do case mes[i] of
 'A'..'п' :mes[i] := Chr(Ord(mes[i])-64);
 'р'..'я' :mes[i] := Chr(Ord(mes[i])-16); 
end;
rus := mes;
end;
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 17:13
  #17
[QUOTE]"Составить модуль перекодировки русских символов консольных приложений в среде Delphi"/QUOTE]
А что это с первого сентября и такие задачи уже задают, или вы не первый год программирование изучаете?
А Вы пишете программы в консоли Делфи? Если это так, то там действитедьно неправильно отображаются символы кириллицы.
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 17:18  [ТС]
  #18
[QUOTE=Puporev;257093]
"Составить модуль перекодировки русских символов консольных приложений в среде Delphi"/QUOTE]
А что это с первого сентября и такие задачи уже задают, или вы не первый год программирование изучаете?
А Вы пишете программы в консоли Делфи? Если это так, то там действитедьно неправильно отображаются символы кириллицы.
это типа на будущее индивидуальное задание да, начали в Делфи

Добавлено через 2 минуты
Цитата Сообщение от k1ry4 Посмотреть сообщение
ну с объёмом могу уже решить:
1.5 кб = 1536 байт
3072 / 1536 =2 байта = 16 бит на символ
с помощью 16 бит можно закодировать 2^16 =65536символов

Добавлено через 2 минуты
пасиба а можно поподробней как к этому прийти? =) или ссылочку какую нить как считается, а то задач ещё много
Puporev
Модератор
42221 / 30735 / 1798
Регистрация: 18.05.2008
Сообщений: 65,429
03.09.2009, 17:18
  #19
[QUOTE]да, начали в Делфи /QUOTE] Вы в будущем указывайте что нужно в консоли Делфи, все таки кое какие отличия от классического Паскаля есть.
БелкО
Форумчанин
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 17:21  [ТС]     Оператор выбора,цикла...беда=(
  #20
да, начали в Делфи /QUOTE] Вы в будущем указывайте что нужно в консоли Делфи, все таки кое какие отличия от классического Паскаля есть.
хорошо =)
Yandex
Объявления
03.09.2009, 17:21
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры.
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения переменных i и j указывается только в том случае, если он...
С++ для начинающих error-gsc 20.12.2011 14:45
Turbo Pascal оператор выбора
Case15. Мастям игральных карт присвоены порядковые номера: 1 — пики 2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 —...
Turbo Pascal Абай 13.06.2011 22:45
Turbo Pascal Оператор выбора и оператор ветвления.
Составить программу для решения * Связывание приведенного нижне задачи двумя способами, используя: 1) пункт case, 2) команду if.Придуматы ы задать входные данные так, чтобы выбор был из 4-7...
Turbo Pascal zlostb 19.04.2011 14:57
Delphi оператор цикла,оператор выбора,символы и строки,матрицы,массивы,
Здравствуйте помогите решить эти задачи в колледже только 2е пары прошли Delphi и уже по нему практику сделали уже вот вот сдавать толком ничё сделать не могу. Заранее спасибо!!! 1)Дано целое число,...
Delphi для начинающих Dr@gon. 22.12.2010 16:45
Delphi Условные операторы ,Оператор выбора ,Операторы цикла
Helpp =)) 1) На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A. 2)...
Delphi для начинающих Varder 22.12.2010 06:42
Turbo Pascal Оператор выбора
Оператор выбора: Смоделировать выбор "наугад" двух костей домино из полного набора костей этой игры (0-0, 0-1,..., 6-6). и определить, можно ли приставить эти кости одна к другой в соответствии с...
Turbo Pascal kztime 23.11.2010 06:08
Turbo Pascal Оператор цикла For и условный оператор
Оператор цикла For: 1-я задача. Дана строка. Преобразовать все строчные1|прописные2 латинские3|русские4 буквы в прописные1|строчные2. 2-я задача.Дано целое число N (> 0). Вывести сумму 2 +...
Turbo Pascal Dron16 05.11.2009 00:06
Опции темы

Текущее время: 22:49. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.