• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Три задачи на Паскале

  • Автор темы Автор темы MedvedS
  • Дата начала Дата начала

MedvedS

Ученик
Регистрация
6 Дек 2010
Сообщения
7
Реакции
0
Баллы
0
Три задачи на Паскале

Скоро зачётная сессия...! Не успеваю написать все программы... Помогите пожалуйста...! Напишите три программы на Паскале...

Задача 1
В тексте определить количество гласных и согласных букв в самом длинном и самом коротком слове.

Задача 2
const
n=20;
type
num=array[1..n]of char;
var
a,b,c:num;
t:boolean;
Рассматривая а и b как последовательности цифр десятичной записи некоторых неотрицательных чисел(целых), получить с-аналогичное представление для суммы этих двух чисел. Если в сумме окажется больше n цифр, то её левую цифру отбросить, а переменной t присвоить значение ИСТИНА, иначе переменной t присвоить значение ЛОЖЬ.

Задача 3
Дана действительная матрица размера m на n, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на её наибольший по модулю элемент.

Прежде всего - читаем Правила, п. 2.1. Название темы изменено.
Модератор.
 
Извиняй, студент, я только завтра помогу, у нас времени уже много
 
Хорошо, я подожду... Заранее спасибо...
P.S.
Извините за нарушение правил... Исправлюсь...)
 
Поправка ко второй задаче:
const
n=4
 
Мужики... Пропадаю... Нужна помощь...
P.S
Тему поднял...)
 
Я решил Задачу 2... Осталась Задача 1 и Задача 3... Я на вас надеюсь, ребята...!)))
 
Задача 1 В тексте определить количество гласных и согласных букв в самом длинном и самом коротком слове.
Так, ну написал я программу. Вроде работает, как надо. Вот только сомневаюсь - будет ли толк, потому как сильно непростая она. Как и задача. Но попробуйте разобраться. Если что - спрашивайте.
Код:
TYPE
 ChSet=Set of Char;
CONST
 ChS1:ChSet=['б','в','г','д','ж','з','к','л','м','н',
             'п','р','с','т','ф','х','ц','ч','ш','щ',
             'Б','В','Г','Д','Ж','З','К','Л','М','Н',
             'П','Р','С','Т','Ф','Х','Ц','Ч','Ш','Щ'];
 ChS2:ChSet=['а','е','и','о','у','ы','э','ю','я',
             'А','Е','И','О','У','Ы','Э','Ю','Я'];
VAR
 S:String;
 Wrd:ARRAY[1..100] of String;
 i,j,n,m,Num_Short,Num_Long,
 Short_vowel,Short_consonant,Long_vowel,Long_consonant:Byte;
BEGIN
 WriteLn('Enter the string:');
 ReadLn(S);
 j:=1;
 i:=1;
 If S[1]=' ' then
  Repeat
   Inc(i);
  Until S[i]<>' ';
 n:=0;
 While S[i+n]<>' ' do
  begin
   Inc(n);
  end;
 Wrd[j]:=Copy(S,i,n);
 REPEAT
  Inc(j);
  i:=i+n+1;
  If S[i]=' ' then
   Repeat
    Inc(i);
   Until S[i]<>' ';
  n:=0;
  While (S[i+n]<>' ') and ((i+n)<=Length(S)) do
   begin
    Inc(n);
   end;
  Wrd[j]:=Copy(S,i,n);
 UNTIL (i+n)>Length(S);
 m:=j;
 Num_Short:=1;
 Num_Long:=1;
 Short_vowel:=0;
 Short_consonant:=0;
 Long_vowel:=0;
 Long_Consonant:=0;
 For j:=1 to m do
  begin
   if Length(Wrd[j])<Length(Wrd[Num_Short]) then Num_Short:=j;
   if Length(Wrd[j])>Length(Wrd[Num_Long]) then Num_Long:=j;
  end;
 For i:=1 to Length(Wrd[Num_Short]) do
  begin
   If Wrd[Num_Short][i] in ChS1 then Inc(Short_consonant);
   If Wrd[Num_Short][i] in ChS2 then Inc(Short_vowel);
  end;
 For i:=1 to Length(Wrd[Num_Long]) do
  begin
   If Wrd[Num_Long][i] in ChS1 then Inc(Long_consonant);
   If Wrd[Num_Long][i] in ChS2 then Inc(Long_vowel);
  end;
 WriteLn;
 WriteLn('Самое короткое слово - "',Wrd[Num_Short],'"');
 WriteLn('Количествово согласных - ',Short_consonant);
 WriteLn('Количество гласных - ',Short_vowel);
 WriteLn;
 WriteLn('Самое длинное слово - "',Wrd[Num_Long],'"');
 WriteLn('Количествово согласных - ',Long_consonant);
 WriteLn('Количество гласных - ',Long_vowel);
 ReadLn;
END.
P.S. А что касается "Задачи 3", то она настолько тривиальна, что вполне сами справитесь. Я этим заниматься не буду.
 
Большое спасибо...!)
 
Назад
Сверху