Форум программистов, компьютерный форум CyberForum.ru

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
БелкО
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
#1

Оператор выбора,цикла...беда=( - Turbo Pascal

03.09.2009, 15:30. Просмотров 2501. Ответов 28
Метки нет (Все метки)

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

P.S.Заранее благодарю Прошу прощения если пишу не в том разделе, я у Вас впервые
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
2935 / 1279 / 237
Регистрация: 19.01.2009
Сообщений: 3,341
Завершенные тесты: 1
03.09.2009, 15:53     Оператор выбора,цикла...беда=( #2
№1 возведение в степень очень похожа на вашу, только организрвать ввод данных
БелкО
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:02  [ТС]     Оператор выбора,цикла...беда=( #3
Цитата Сообщение от polivets Посмотреть сообщение
№1 возведение в степень очень похожа на вашу, только организрвать ввод данных
Похожа, но мне всё равно не понятно
schdub
2935 / 1279 / 237
Регистрация: 19.01.2009
Сообщений: 3,341
Завершенные тесты: 1
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
2935 / 1279 / 237
Регистрация: 19.01.2009
Сообщений: 3,341
Завершенные тесты: 1
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
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
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
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
03.09.2009, 16:19     Оператор выбора,цикла...беда=( #8
Это у Вас проблемы с отображением русских букв. Напишите пока русский текст транслитом, потом попробуйте разобраться что к чему. Кстати какой у Вас компилятор? Можете скачать Турбо Паскаль по ссылке вверху этого раздела, там русский шрифт отображается нормально.
БелкО
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:29  [ТС]     Оператор выбора,цикла...беда=( #9
Цитата Сообщение от Puporev Посмотреть сообщение
Это у Вас проблемы с отображением русских букв. Напишите пока русский текст транслитом, потом попробуйте разобраться что к чему. Кстати какой у Вас компилятор? Можете скачать Турбо Паскаль по ссылке вверху этого раздела, там русский шрифт отображается нормально.
хорошо,спасибо
Puporev
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
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
2935 / 1279 / 237
Регистрация: 19.01.2009
Сообщений: 3,341
Завершенные тесты: 1
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
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
03.09.2009, 16:33     Оператор выбора,цикла...беда=( #12
Вот как все быстро, а Вы боялись! Кто рано встает, тому Бог дает. Ближе к концу семестра повезет только самым счастливчикам.
БелкО
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 16:40  [ТС]     Оператор выбора,цикла...беда=( #13
Цитата Сообщение от Puporev Посмотреть сообщение
Вот как все быстро, а Вы боялись! Кто рано встает, тому Бог дает. Ближе к концу семестра повезет только самым счастливчикам.
я в шоке пасибо Вам осталось решить проблемы с задачами на измерение количества информации
schdub
2935 / 1279 / 237
Регистрация: 19.01.2009
Сообщений: 3,341
Завершенные тесты: 1
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
4326 / 1457 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
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
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
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
Модератор
51289 / 39220 / 12859
Регистрация: 18.05.2008
Сообщений: 89,408
03.09.2009, 17:18     Оператор выбора,цикла...беда=( #19
[QUOTE]да, начали в Делфи /QUOTE] Вы в будущем указывайте что нужно в консоли Делфи, все таки кое какие отличия от классического Паскаля есть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2009, 17:21     Оператор выбора,цикла...беда=(
Еще ссылки по теме:

Turbo Pascal Оператор выбора Case of
Оператор выбора case Turbo Pascal
Turbo Pascal Управляющие конструкции языка. Оператор выбора
Turbo Pascal Оператор выбора. Turbo Pascal
Оператор выбора case Turbo Pascal

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
БелкО
6 / 6 / 1
Регистрация: 03.09.2009
Сообщений: 69
03.09.2009, 17:21  [ТС]     Оператор выбора,цикла...беда=( #20
да, начали в Делфи /QUOTE] Вы в будущем указывайте что нужно в консоли Делфи, все таки кое какие отличия от классического Паскаля есть.
хорошо =)
Yandex
Объявления
03.09.2009, 17:21     Оператор выбора,цикла...беда=(
Ответ Создать тему
Опции темы

Текущее время: 11:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru