Опубликован: 22.01.2008 | Уровень: для всех | Доступ: свободно | ВУЗ: Кабардино-Балкарский государственный университет
Практическая работа 7:

Алгоритмы, основные свойства, структуры

Аннотация: Решение типовых задач направленных на знакомство с алгоритмами и алгоритмизацией, обучение реферированию и Интернет–поиску по этой теме

Задачи

  1. Привести примеры, показывающие важность и необходимость всех свойств алгоритмов. Указание: приведите примеры, когда нарушение свойства приводит к невыполнимости алгоритма, например, нарушение свойства результативности – " алгоритм " решения квадратного уравнения, не обрабатывающий случай D<0.
  2. Составить структуру цикла типа "для" и преобразовать ее в структуру типа "пока". Привести примеры, показывающие разрешимость и неразрешимость обратного типа преобразования. Указание: например, любой цикл for i:=1 to n do <тело цикла> ; эквивалентен циклу i:=1; while (i<=n) do begin <тело цикла>; i:=i+1; end;.
  3. Чему будет равно значение переменной s после завершения фрагмента программы:
    s:=0; 
    i:=1;
    while (i<4) do 
        begin 
          i:=i+1; 
          s:=s+i
        end;?
    Указание: фрагмент суммирует числа 2, 3, 4.
  4. Чему будут равны значения переменных x, y после завершения фрагмента программы:
    x:=1234;
    for i:=1 to 4 do 
        begin 
          y:=y+x mod 10;
          x:=x div 10
        end;?
    Указание: x mod 10 – выделяет цифру младшего разряда числа, x div 10 – "отбрасывает" эту выделенную цифру.
  5. Чему будут равны значения переменных k, s после завершения фрагмента программы:
    k:=1; 
    s:=x[1]; 
    for i:=1 to n do
        if (s<х[i])
        then begin
               s:=х[i];
               k:=i
             end;?
    Указание: в теле цикла фиксируются последовательно значения элементов x[i] и их номера k для которых верно неравенство s<x[i].
  6. Чему будет равно значение переменной s после завершения фрагмента программы:
    s:=0; 
    i:=1; 
    while (i<100) do
        begin 
          s:=s+x[i]; 
          i:=i+2
        end;?
    Указание: перебираются все нечетные элементы массива х из 99 элементов.
  7. Чему будет равно значение переменной p после завершения фрагмента программы:
    p:=1; 
    for i:=1 to int(n/2) do
        p:=p*x[i];?
    Указание: int(n/2) – "половина" n.
  8. Чему будет равно значение переменной p после завершения фрагмента программы:
    р:=1; 
    i:=4; 
    while (i>0) do
        begin
          р:=р?i; 
          i:=i–1 
        end;?
    Указание: в теле цикла перемножаются числа i=4, i=3, i=2, i=1.
  9. Найти наборы входных целых значений a, b, для которых результирующее значение переменной f будет равно 1 после завершения фрагмента программы:
    read(a,b);
    b:=abs(b);
    a:=abs(a); 
    while ((а>0) and (b>0)) do
        if(а>b)
        then а:=mod(а,b) 
        else b:=mod(b,а); 
    f=a+b; .
    Указание: подобрать соответствующий тест (набор тестов).
  10. Задать некоторый массив x небольшой размерности и определить, чему будет равно значение переменной s после завершения фрагмента программы:
    i:=1;
     j:=i;
     s:=0; 
     while ((i<n) and (x[i,j]>0)) do
        begin
          j:=1;
          while ((j<m) and (x[i,j]>0)) do
             begin
               s:=s+x[i,j];
               j:=j+1
             end;
          i:=i+1
        end;?
    Указание: задайте, например, массив из чисел x[I,j]=i+j, i=1, 2 ; j=1, 2, 3.

Темы научных исследований и рефератов (Интернет-листов)

  1. Что такое алгоритмика?
  2. Наиболее важные и ключевые работы по теории алгоритмов.
  3. А.А. Марков и нормальные алгоритмы.
  4. Алгоритмическая разрешимость и неразрешимость.
  5. Сложность алгоритмов.
  6. P-полные алгоритмы.
  7. NP-полные алгоритмы.
  8. Алгоритмический стиль мышления и алгоритмический подход к решаемым задачам.
  9. Математические и логические основы алгоритмизации.
  10. Базовые алгоритмические структуры ; их синтаксис, семантика и прагматика.
Ксения Леонова
Ксения Леонова

как проверить себя, выполняя практические задания по информатике? где смотреть ответы на поставленные задачи?

спасибо за ответ)