Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите с Паскалем (http://www.tehnari.ru/f43/t37158/)

Zoom 18.06.2010 22:13

Помогите с Паскалем
 
Работа с простыми типами данных
Задание 1
Дано натуральное число n. Удалить из записи числа все нули и единицы. Подсчитать количество оставшихся цифр в изображении числа.
Задание 2
Дано целое число. Найти произведение всех его цифр.
Задание 3
Идет N-ая секунда суток. Определить полное количество часов и минут в заданный момент времени, считая от начала суток.

Работа с символами, строками и текстом
Задание 1
Дана строка ≤ 50 символам. Раздвинуть её до 60 символов.
Задание 2
Дан текст из некоторого количества предложений. Предложения разделяются знаком «;». Разделить текст на отдельные предложения по этому знаку. Вывести исходный текст и результат обработки текста.

Если хоть кто что сможет сделать, если кого не затруднит. Помогите пожалуйста :tehnari_ru_657:

Vladimir_S 19.06.2010 10:44

Цитата:

Сообщение от Zoom (Сообщение 349324)
Задание 1
Дано натуральное число n. Удалить из записи числа все нули и единицы. Подсчитать количество оставшихся цифр в изображении числа.

Код:

VAR
 N,N1:LongInt;
 b:BYTE;
 code:WORD;
 S:STRING;
 i,j:INTEGER;
BEGIN
 Write('(N must be < 2147483648); N= ');
 ReadLn(N);
 STR(N,S);
 j:=0;
 N1:=0;
 For i:=1 to Length(S) do
  If (S[i]<>'0') and (S[i]<>'1') then
  begin
    Inc(j);
    VAL(S[i],b,code);
    N1:=N1*10+b;
  end;
 WriteLn(N1);
 WriteLn('Number of figures is ',j);
 ReadLn;
END.

Цитата:

Задание 2
Дано целое число. Найти произведение всех его цифр.
Код:

VAR
 N,Product:LongInt;
BEGIN
 Write('(N must be < 2147483648); N= ');
 ReadLn(N);
 Product:=1;
 Repeat
  Product:=Product*(N mod 10);
  N:=N div 10;
 Until N=0;
 WriteLn('Product is ',Product);
 ReadLn;
END.

Цитата:

Задание 3
Идет N-ая секунда суток. Определить полное количество часов и минут в заданный момент времени, считая от начала суток.
Код:

VAR
 N:LongInt;
BEGIN
 Write('(N must be < 86400); N= ');
 ReadLn(N);
 WriteLn('Hours= ',N div 3600);
 N:=N mod 3600;
 WriteLn('Minutes= ',N div 60);
 N:=N mod 60;
 WriteLn('Seconds= ',N);
 ReadLn;
END.


Vladimir_S 19.06.2010 12:08

Цитата:

Сообщение от Zoom (Сообщение 349324)
Задание 1
Дана строка ≤ 50 символам. Раздвинуть её до 60 символов.

Код:

VAR
 S:STRING;
 i:LongInt;
BEGIN
 WriteLn('Insert the string of less then 50 symbols:');
 ReadLn(S);
 i:=0;
 Repeat
  Repeat
  Inc(i);
  If S[i]=' ' then
    begin
    Insert(' ',S,i);
    Inc(i);
    end;
  Until (i=Length(S)) or (Length(S)=60);
  i:=0;
 Until Length(S)=60;
 WriteLn(S);
 ReadLn;
END.

Цитата:

Задание 2
Дан текст из некоторого количества предложений. Предложения разделяются знаком «;». Разделить текст на отдельные предложения по этому знаку. Вывести исходный текст и результат обработки текста.
Код:

VAR
 f,f1:TEXT;
 Ch:Char;
BEGIN
 Assign(f,'D:\test.txt');
 ReSet(f);
 Assign(f1,'D:\test1.txt');
 ReWrite(f1);
 Repeat
  Read(f,Ch);
  If Ch=';' then Write(f1,'. ') else Write(f1,Ch);
 Until Eof(f);
 Close(f1);
 Reset(f);
 Repeat
  Read(f,Ch);
  Write(Ch);
 Until EoF(f);
 WriteLn;
 Reset(f1);
 Repeat
  Read(f1,Ch);
  Write(Ch);
 Until EoF(f1);
 Close(f);
 Close(f1);
 ReadLn;
END.

Имена файлов и пути могут быть, разумеется, изменены.

Vladimir_S 24.04.2012 15:03

Bozman, у нас не принято цепляться к чужим темам! Запрос перенесен во вновь созданную тему http://www.tehnari.ru/f43/t72319/.
Эта ТЕМА ЗАКРЫТА.


Часовой пояс GMT +4, время: 03:24.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.