Помощь - Поиск - Пользователи - Календарь
Полная версия: Типичные экзаменационные задачи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Clane
1.Дана символьная строка и натуральное число N. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Определить длину слова, стоящего на N-ом месте и вывести все слова, состоящие из такого же количества символов, что и найденное слово. Если N больше количества слов в предложении, то вывести соответствующее сообщение.
2.Дана символьная строка. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Найти самое длинное симметричное слово.
3.Дана символьная строка и символ. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Определить количество слов в строке, оканчивающихся на заданный символ.
4.Даны две символьные строки. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Вывести слова, которые встречаются в обеих строках.
5.При решении задач применять процедуры и функции.
Дан массив целых чисел (п=15), заполненный случайным образом числами из промежутка (-20,50).
1.Удалить из него все элементы, в которых есть цифра 5.
2.Вставить число К после всех элементов, кратных своему номеру (К вводить с клавиатуры).
3.Поменять местами первый положительный и последний отрицательный элементы.
6.При решении задач применять процедуры и функции.
Дан массив целых чисел (п=20), заполненный случайным образом числами из промежутка (-45,95).
1.Удалить из него все элементы, кратные 7 и принадлежащие промежутку [a, b] (a и b вводить с клавиатуры).
2.Вставить число К между всеми соседними элементами, которые образуют пару элементов с одинаковыми знаками (К вводить с клавиатуры).
3.Переставить в обратном порядке часть массива между элементами с номерами К1 и К2, включая их. Сделать проверку корректности ввода К1 и К2, если ввод неправильный, то ничего не делать..
Romario
Привет, всем!
Короче срочно нужны ответы на следующие вопросы у меня 1 день! Как можно подробнее. Спасибо!
Цитата
1.      PASKAL. Основные понятия языка. Алфавит, выражения.
2.      PASCAL. Структура описания программы.
3.      PASKAL. Операторы присваивания, ввода, вывода.
4.      PASKAL. Простые типы данных.
5.      PASKAL. Описание переменных, констант и типов.
6.      PASCAL. Оператор условного перехода.
7.      PASKAL. Оператор выбора (варианта).
8.      PASKAL. Оператор безусловного перехода на метку.
9.      PASKAL. Операторы цикла. Оператор с предусловием.
10.      PASKAL. Операторы цикла. Оператор с постусловием.
11.      PASKAL. Операторы цикла. Оператор цикла с параметром.
12.      PASKAL. Структурированные типы данных. Тип массив (одномерный).
13.      PASKAL. Структурированные типы данных. Тип массив (двумерный).
14.      PASKAL. Подпрограммы процедуры.
15.      PASCAL. Формальные и фактические параметры.
16.      PASCAL. Подпрограммы функции.
17.      PASKAL. Структурированные типы данных. Тип файл. Запись в файл.
18.      PASKAL. Структурированные типы данных. Тип файл. Чтение из файла.
19.      PASCAL. Текстовые файлы. Процедуры работы с ними.
20.      PASKAL. Строковый тип данных. Операции со строками.
21.      Структура программного обеспечения компьютера.
22.      MS-DOS. Понятие файла. Каталоги и подкаталоги. Путь к файлу. Операции с каталогами.
23.      MS-DOS. Понятие файла. Каталоги и подкаталоги. Путь к файлу. Операции с файлами.
24.      Операционная система компьютера. Основные функции и загрузка операционной системы.
25.      Устройства ввода и вывода информации.
26.      Основные устройства аппаратной части информационной системы и их функциональное назначение.
27.      Операционная система WINDOWS. Работа с файлами и каталогами.
28.      Подготовка дисков к работе. Форматирование дисков.
29.      ОС Windows. Работа с дисками. Логические и физические дефекты. Программы по обслуживанию дисков: проверка дисков, дефрагментация.
30.      Запоминающие устройства и их основные характеристики. Единицы емкости запоминающих устройств.
31.      Операционная система WINDOWS. Меню “ПУСК”.
32.      Внешние запоминающие устройства
33.      Архивация. Программы – архиваторы. Примеры.
34.      Операционная система WINDOWS. Создание ярлыков.
35.      Вирусы и антивирусные программы.
36.      Операционная система WINDOWS. Панель управления.
37.      Файлы и каталоги. Имена, расширения, атрибуты.
38.      Командные файлы. Назначение, создание. Примеры.
39.      Основная память персонального компьютера.
40.      Операционная система WINDOWS. Утилита быстрого поиска. Программа Проводник.


Как вы заметили вопросы тут не только по Паскалю... так что извиняйте, время поджимает :-/
Ivs
To Clane:
N1:
Код

program Clane_N_1;
uses crt;
var
  t,s:string;
  n:byte;
  i:integer;
  k:integer;
  d:integer;
  b:boolean;
begin
  ClrScr;
  Write('Input string -> '); Readln(s);
  Write('Input N -> ');Readln(n);
  i:=1;b:=False;
  k:=0;
  while i<=length(s) do
  begin
     d:=0;
     while (i<=length(s)) and (s[i]<>' ') do begin inc(d); inc(i); end;
     while s[i]=' ' do i:=i+1;
     k:=k+1;
     if k=n then begin b:=True; break; end;
  end;
  if b then writeln('Symbols: ',d)
     else writeln('No correct data!');
  writeln('Word: ');
  i:=1;
  k:=0;
  while i<=length(s) do
  begin
     t:='';
     while (s[i]<>' ') and (i<=length(s)) do
     begin
      t:=t+s[i];
      i:=i+1;
     end;
     if d=length(t) then writeln(t);
     i:=i+1;
  end;
  readln;
end.

N2:
Код

program Clane_N_2;
uses crt;
var
  t,s,longSim :string;
  max         :integer;
  i           :integer;

function Simmetric(ss:string):boolean;
var  k,j:integer;
begin
     Simmetric:=True;
     k:=length(ss) div 2;
     for j:=1 to k do
      if ss[j]<>ss[length(ss)-j+1] then begin Simmetric:=false;break;end;
end;

begin
  ClrScr;
  write('Input string -> ');readln(s);
  i:=1; max:=0;
  while i<=length(s) do
  begin
     t:='';
     while (s[i]<>' ') and (i<=length(s)) do
     begin
      t:=t+s[i];
      i:=i+1;
     end;
     if Simmetric(t) then
      if length(t)>max then
      begin
         max:=length(t);
         longSim:=t;
      end;
     while s[i]=' ' do i:=i+1;
  end;
  writeln('Very long simmetric word: ',longSim);
  readln;
end.

N3:
Код

program Clane_N_3;
uses crt;
var
  t,s :string;
  ch  :char;
  i,k :integer;
begin
  ClrScr;
  write('Input string -> ');readln(s);
  write('Input char -> ');  readln(ch);
  i:=1;k:=0;
  while i<=length(s) do
  begin
     t:='';
     while (s[i]<>' ') and (i<=length(s)) do
     begin
      t:=t+s[i];
      i:=i+1;
     end;
     if t[length(t)]=ch then k:=k+1;
     while s[i]=' ' do i:=i+1;
  end;
  writeln('OutPut: ',k);
  readln;
end.
Ivs
To Romario:
Ты что не сможешь рассказать про ПУСК или создание ярлыков  ;D :-[
Romario
Ivs - Тока я тя умоляю не уходи, давай хоть расскажи про Паскалевские вопросы... ;D У меня через 12 часов экзамен, хоть что-то надо знать :-[
Romario
Ну дак как? :-[
Ivs
Алфавит языка TP включает буквы, цифры,шестнадцатеричные цифры,специальные символы, пробелы и зарезервированные слова.
Буквы-это буквы латинского алфавита от a до z и от A до Z, а также знак подчеркивания _

Цифры- арабские цифры от 0 до 9

Специальные символы TP это символы:
+ - * / = , ' . : ; < > [ ] () {} ^ @ $ #
К специальным символам относятся также следующие пары символов :
<> <=  >= := (* *) (. .)
В программах эти символы низя разделять пробелами!
Ну там еще про зарезервированные слова немного расскажи..
Ivs
Структура описания программы :

Program  {Название программы}

Uses      {Подключение unit'ов}

Const   {Объявляются разные константы}

Label   {Определяются метки}

Type  {Объявляются пользовательские типы}

Var   {Место для переменных}

Begin  {Основные операторы}
End.
Ivs
Операторы присваивания :

" := "
Пример
A:=B {в А теперь значение B}

Пример:

Обен двух переменных значениями:

c:=a;
a:=b;
b:=c;

Оператор вывода WriteLn(input,'что выводить')
где input - имя файла куда будет осуществляться вывод

ReadLn(input,'что вводить');
-----------------------------------
AlaRic
Цитата
10. PASKAL. Операторы цикла. Оператор с постусловием.

Оператор имеет вид:
repeat stat until exp;
здесь вначале выполняется stat, а затем вычисляется логическое значение exp.Процесс продолжается пока значение exp=ложь, в противном случае цикл прекращается.
Romario
Ура! smile.gif Ivs, а аси нет у тебя, так бы проще было...
AlaRic
Цитата
9. PASKAL. Операторы цикла. Оператор с предусловием.

Оператор имеет вид:
while exp do stat;
Вначале вычисляется логическое значение exp, если это значение истинно то выполняется оператор stat, затем exp проверяется опять.Цикл заканчивается когда exp=ложь.
пример:
while c < 10 do begin
write('равно', c);
writeln;
c:=c+2;
end;
Romario
Сразу встречный вопрос: что значат эти символы, для чего они в Паскале?

^ @ $ #
Ivs
Простые типы данных

К простым типам относятся порядковые и вещественные типы.
Порядковые типы отличаются тем, что каждый имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить, и => с каждым из них можно сопоставить некоторое целое число - порядковый номер значения.

Вещественные типы , сторго говоря, тоже имееют конечное число значений, которое определяется форматом внутреннего предстовления вещественного числа. Однако количество возможных значений вещ. типов не столько велико, что сопоставить с каждым из них целое число просто не представляется возможным.

Pred(x)- функция возвращает предыдущее значение порядкового типа.

Succ(x)- возвращает следующее значение порядкового типа, которое соответствует порядковому номеру ORD(x)+1 т.е
ORD(Succ(x))=ORD(x)-1;

Назови еще там целые типы и перичисли:
Byte
ShortInt
Word
Integer
LongInt
--------------
И Вещественных:
Real
Double
extended
comp
--------------
Ivs
^ - для объявления типизированного указателя (вы наверное еще такого не проходили?)
@ -для присвоения переменной ссылочного типа некоторое значение;
$ - ставиться перед 16-ичными числами
#N - что бы вывести ASCII символ с номером N
AlaRic
Цитата
11. PASKAL. Операторы цикла. Оператор цикла с параметром.

Еще называют цикл со счетчиком!Есть 2 разновидности:
1)  for i:=exp1 to exp2 do stat;
при выполнении сначала вычисляется exp1 затем вычисляется значение exp2 далее пробегаются все значения от exp1 до exp2.Когда значение exp1>exp2 цикл не выполняется.
2)for i:=exp1 downto exp2 do stat;
аналогичен первому только в нем переменная i не увеличивается, а уменьшается на 1.
пример:
c:=0;
for i:=1 to 5 do
begin
c:=c+sqr(i);
i:=i+2;
end;
Ivs
Цитата
8. PASKAL. Оператор безусловного перехода на метку.  

GOTO Metka {Без комментариев!!}
Ivs
Цитата
Еще называют цикл со счетчиком!Есть 2 разновидности:
1)  for i:=exp1 to exp2 do stat;
при выполнении сначала вычисляется exp1 затем вычисляется значение exp2 далее пробегаются все значения от exp1 до exp2.Когда значение exp1>exp2 цикл не выполняется.
2)for i:=exp1 downto exp2 do stat;
аналогичен первому только в нем переменная i не увеличивается, а уменьшается на 1.
пример:
c:=0;
for i:=1 to 5 do
begin
c:=c+sqr(i);
i:=i+2;
end;


Количетво итераций цикла (те сколько раз выполнится) считается по формуле:
I:=exp2-exp1+1
AlaRic
Цитата
15. PASCAL. Формальные и фактические параметры.  

Формальные параметры-это те параметры, имена которых указаны в заголовке подпрограммы.
Фактические параметры-это те, имена которых подставляются в оператор вызова подпрограммы.
Romario
Это всё?
AlaRic
Цитата
Количетво итераций цикла (те сколько раз выполнится) считается по формуле:
I:=exp2-exp1+1

Спасибо ivs.Я просто спешу!  ;)
AlaRic
Romario: чувак ты когда врубишь асю?  ;)
Ivs
Цитата
12. PASKAL. Структурированные типы данных. Тип массив (одномерный).

Структурированных типов надо знать 4:
1. Массивы
2. Записи
3. Множества
4. Файлы
Цитата
12. PASKAL. Структурированные типы данных. Тип массив (одномерный).

Описание типа массива задается следующим образом:
<имя типа> = ARRAY [<сп.инд.типов>] oF <тип>
Пример
 a,b:array[1..10] of integer;
Ivs
Цитата
Спасибо ivs.Я просто спешу!  ;)

да ладно, AlaRic, это всево лишь легкое дополнение, вдруг его препод спросит!  ;D
Ivs
Цитата
13. PASKAL. Структурированные типы данных. Тип массив (двумерный).

type
  mat=array [0..5] of array [-2..2] of byte;
 такую запись можно заменить более компактной:
type
  mat=array [0..5,-2..2] of byte;
Глубина вложенности типов произвольная.

Пример:

var
  a:array[1..2,1..2] of byte;
begin
  a[1,1]:=1;
  a[2,2]:=2;
  a[3,3]:=3;
  a[4,4]:=4;
end.
то в памяти последовательно друг за другом будут расположены байты со значениями 1,3,2,4.
AlaRic
Цитата
16. PASCAL. Подпрограммы функции.

Описание имеет вид:
function name (argum):type;
здесь  type-это описывает значения;
name-имя ф-ии;
argum-содержит переменные...
В ф-ии тоже должен присуствовать begin и end но после end идет точка с запятой.
AlaRic
Строковой тип описывается словом string.
Допустимые значения - строки символов.
пример описания:
var i:string[3] где [3]-это установка max значения строки....поэтому при присваивании i:='1234' получится '123'.

Операции:
1)конкатенация(сложение строк):
q1:='12';
q2:=q1+'3'  >>> получится что q2='123'!!

функция Length(k) - определение длины аргумента k cтрокового типа!
процедура Delit(a,b,c)-удаление С символов(кол-во) в строковой переменной A начиная с позиции B!!!
функция Copy(a,b,c)-копирование С символов строки А начиная с позиции B!!!
Не думаю что понадобяться еще какие-то!!!
AlaRic
Цитата
22. MS-DOS. Понятие файла. Каталоги и подкаталоги. Путь к файлу. Операции с каталогами.

файл - поименнованая область на диске или другом носителе информации
каталог - специальное место на диске, содержащее имена файлов, сведения о размере файлов и т.д.
подкаталог - каталог находящийся в другом каталоге
путь к файлу задается:1)указывается название диска 2)каталог 3)название файла 4)и расширение из 3 символов!!!
Операции:1)копирование каталога 2)перемещениепереименование каталога 3)создание каталога 4)удаление каталога...
Ivs
Sorry, меня сегодня ночью из сети выкинуло, не смог дочитать курас лекций......

AlaRic жму тебе руку!!!!!!  ;)
AlaRic
Цитата
Sorry, меня сегодня ночью из сети выкинуло, не смог дочитать курас лекций......

Сервак под утро вообще сдох....мне пришлось ему в асю дописывать....
Цитата
AlaRic жму тебе руку!!!!!!  
А я тебе браток!  :)
Ivs
to Clane:
N1 Mas:
Код

Program Mass;
uses crt;
const m=30;
var
  a:array[1..m] of integer;
  i,j:integer;
  n:integer;

function Faiv(a1:integer):boolean;
var bool:boolean;
   b   :integer;
begin
  bool:=false;
  a1:=abs(a1);
  while a1>1 do
  begin
     b:=a1 mod 10;
     a1:=a1 div 10;
     if b=5 then begin bool:=True;break;end;
  end;
  if bool then Faiv:=True else Faiv:=False;
end;

begin
  ClrScr;
  n:=15;
  for i:=1 to n do
  begin
     a[i]:=random(70)-19;
     write(a[i]:4);
  end;
  for i:=n downto 1 do
     if Faiv(a[i]) then
     begin
      for j:=i to n do a[j]:=a[j+1];
      n:=n-1;
     end;
  writeln;
  for i:=1 to n do write(a[i]:4);
  readln;
end.


N2:
Код

Program Clane_2;
uses crt;
const m=30;
var
  a:array[1..m] of integer;
  i,j:integer;
  n,k,l:integer;

begin
  ClrScr;
  Randomize;
  n:=15;
  for i:=1 to n do
  begin
     a[i]:=random(50)-19;
     write(a[i]:4);
  end;
  writeln;
  write('Input k -> ');readln(k);
  i:=1;l:=1;
  while i<=n do
  begin
     if a[i] mod l=0 then
     begin
      for j:=n+1 downto i+2 do a[j]:=a[j-1];
      a[i+1]:=k;
      n:=n+1;
      i:=i+1;
     end;
     i:=i+1;
     l:=l+1;
  end;
  for i:=1 to n do write(a[i]:4);
  readln;
end.


N3:
Код

Program Clane_3;
uses crt;
const n=15;
type massiv = array[1..n] of integer;
var
  a:massiv;
  i:integer;
  m:integer;

procedure Max_to_Min(a1:massiv);
var
  k,l,x:integer;
begin
  k:=1;l:=n;
  while a1[k]<=0 do k:=k+1;
  while a1[l]>=0 do l:=l-1;
  x:=a[k];
  a[k]:=a[l];
  a[l]:=x;
end;
begin
  ClrScr;
  Randomize;
  for i:=1 to n do
  begin
     a[i]:=random(50)-19;
     write(a[i]:4);
  end;
  Max_to_Min(a);
  writeln;
  for i:=1 to n do write(a[i]:4);
  readln;
end.
Romario
Всем спасибо! ;)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.