Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

azatik


Удален

Люди помогите пожалуйста решить задачи:
1. Задано некоторое множество М и множество Т того же типа, подсчитать, сколько элементов из множеств Т и М совпадает.
2. Распечатать фамилии тех учеников класса, которые являются хорошистами и отличниками по итогам года. Также указать, насколько их средний балл отличается от среднего балла класса.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 25 янв. 2006 14:10 | IP
Diamond666


Удален

Тогда задание можно переформулировать, из матрицы 10 на 20 получить матрицу 10, где каждый элемент равен сумме элементов i-строки, после нулевого элемента...
Наверно ты правильно понял .

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 25 янв. 2006 14:16 | IP
miss_graffiti


Долгожитель

вектор - это одномерный массив в данном контексте.

azatik, сам решать пробовал? что получается?

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 25 янв. 2006 15:36 | IP
azatik


Удален

miss graffiti, множества мы только что прошли, была одна лекция всего, знаю что надо писать SET OF в VAR'е, использовать FOR и IF.
Кстати у меня есть решение прошлой задачи:
Составить программу, выделяющую из множества чисел от 1  до 10, кратных 2,3,6 и 2 или 3.
Program Lab_1;
var
 n6: set if integer;
 n23: sset of integer;
 k: integer;
begin
  n6:=[]; {обнуление множества n6}
  n23:=[]; {обнуленте n23}
  for t:= 1 to 20 do
      begin
        if k mod 6= 0 then n6:= n6+[k]
        if (k mod 2)= 0 and  (k mod 3= 0) then
        n23:=n23+[k];
      end;
   (Вывод содержимого множества)
writeln ('на 6 делится без остатка');
for k:= 1 to 20 do
if k in n6 then
write (k:3);
readln;
end.

Я её не проверял, а понял когда сюда писал, но не очень.
Мне всегда задачи становятся понятными когда мне кто-нибудь объяснить. Мне одногрупники помогали и девчёни-старшекурсницы. А на форуме вообще очень много задач нужных, мне ненкоторые пригодились, две я одногрупникам дал, так что спасибо всем особенно miss graffiti и KMA.
А насчёт распечаток я думаю, что всё надо делать как обычно (только я незнаю как), только вместо  uses crt надо uses print или uses printer.  Мы с распечаткой и файлами ещё вообще не работали.
Помогите чем можете!?!СПАСИБО!

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 25 янв. 2006 21:28 | IP
KMA



Долгожитель

И тут, до меня доходит такая вещь....
azatik, распечатать сразу в проге??? Это вполне реально, но я помню, что совсем недавно пробовал это сделать. Принтер распечатал, даже то, что надо, вот только каракулями (потом пришлось менять все надписи на английский), но это полбеды, там строчки получились косые, видимо из-за того, что Паскаль под ДОС работает. Поэтому есть обходной путь, чтоб все красиво получалось, создаем текстовый файл, там все сохраняем, потом выходим в Виндовс, и там просматриваем при помощи блокнота (если кодировку не понимает, то выбирай шрифт Терминал).
Однако, хочу еще заметить, уважаемый, azatik, ты немного не понимаешь, что це токе uses. Это модуль. Модуль, такая штучка, в которой хранятся процедуры и функции, которые ты используешь для работы в Паскале. Ты наверное, знаешь, что такое процедура и функция, дак вот, чтобы постоянно их не писать, а чтобы они были всегда с тобой, и придумали модуль, ты его вызываешь (корректней говорить подключаешь), и из него можешь пользовать любые процедурки и функции. Можешь, кстати сам написать, пару модулей, и потом ими пользоваться.
Теперь, по поводу задач (надеюсь, вы еще не устали от моей демогогии). Задача номер 1. Открываешь учебник по программированию, и смотришь тему множества, задача разобрана, практически везде.
Номер 2. Веселее. Записи проходили??? Если да то, объявляем массив записей(ну понятно что она состоит из имени, и массива оценок), потом просим заполнить его пользователя, ну, чтобы узнать  кто какие оценки получил. Ну а дальше, думаю понятно, пробегаемся по всем элементам, и смотрим, чтобы не было троек, потом выводим все на экран(ну потом и на принтер).
Где реализация будет не понятно, то обязательно спрашивай.


Diamond666, ты понял сам решишь задачку, или тебе помочь??? Учти, помогу, если приведешь хотя бы то, что сам написал.  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 26 янв. 2006 0:29 | IP
miss_graffiti


Долгожитель

KMA, традиционный респект.

только немножко уточню.
для распечатки надо использовать все тот же write(writeln), только устройство вывода изменить с монитора (по умолчанию) на принтер.

writeln('Укажите устройство вывода: CON-экран или PRN-принтер');
readln(imuv);
assign(ft,imuv);{установление связи с устройством вывода}
rewrite(ft);

например так, где ft - текст.
на практике ни разу не применяла, если честно.

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 26 янв. 2006 9:47 | IP
azatik


Удален

Ладно спасибо и на этом, считайте что первую помогли (только я её чо-то не нашёл, может у меня учебник не тот, ещё поищу у одногрупников спрошу), а со второй Всё "понятно", но если ты говоришь про записи, в смысле RECORD, то мы их не проходили, но в учебники объявление записей написали так
var
 R_EX: RECORD
               N: integer;
               NAME: string [25];
               RB: Array [1..5] of byte
             end;
Насколько я понял, описывается как процедуры и функции, а вот дальше…
Ну допустим я смогу попросить ввести оценки, но я даже не знаю какую переменную использовать N или Name, хотя N наверное оценки(а), а Name – фамилия  ученика.
Может всё-таки напишешь код программы, как проверить чтобы было больше или равно 4, и сравнить со средним балом, который ещё как-то надо высчитать, а то я совсем не шарю. Помоги пожалуйста, а?
Кстати я не ту задачу вчера написал, я то спрашивал:
Написать  программу, которая подсчитывает число цифр среди набираемых символов до момента нажатия клавиши ENTER.
program Simvol;
use crt;
var
   s: char;
   x, y integer;
begin
  writeln('Введите символы');
  while x<>13 do
    begin
      s:= readkey;
      write ('_',S);
      x:= ord(S);
      if (x>=48) and (x<=57) then
      i:=i+1;
    end;
  writeln;
  writeln(i);
  readkey;
end.
У меня чуть-чуть подругому как у miss graffiti.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 26 янв. 2006 16:23 | IP
miss_graffiti


Долгожитель


Цитата: azatik написал 26 янв. 2006 16:23
Л а со второй Всё "понятно", но если ты говоришь про записи, в смысле RECORD, то мы их не проходили, но в учебники объявление записей написали так
var
 R_EX: RECORD
               N: integer;
               NAME: string [25];
               RB: Array [1..5] of byte
             end;
Насколько я понял, описывается как процедуры и функции, а вот дальше…


странные аналогии...
ну ладно. сначала пишешь название переменной: record, а дальше - имя каждого поля и тип.
я думаю, N - номер в списке, name - фамилия, RB - массив из оценок.


Ну допустим я смогу попросить ввести оценки, но я даже не знаю какую переменную использовать N или Name, хотя N наверное оценки(а), а Name – фамилия  ученика.


думаю, на этот вопрос я ответила


Может всё-таки напишешь код программы

вряд ли


как проверить чтобы было больше или равно 4

if RB[k]>=4 then....
чтобы найти средний балл - надо найти сумму всех оценок и разделить на количество.


(Сообщение отредактировал miss graffiti 26 янв. 2006 17:40)


(Сообщение отредактировал miss graffiti 26 янв. 2006 17:40)

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 26 янв. 2006 17:39 | IP
KMA



Долгожитель

Мда, будем поближе к жизни.
Смотри, ты создал запись.
TYPE R_EX=RECORD
              N: integer;  // номер студента
              NAME: string [25];  // его  имя
              RB: Array [1..5] of byte // оценки па предметам
          END;
Далее, создаешь массив из таких элементов
mas: array [1..n] of R_EX;
Теперь ты должне попросить задать,
for k:=1 to n do
begin
  write ('Number ->');
  readLn (mas[k].n);
  write ('Name ->');
   readLn (mas[k].name);
  for j:=1 to 5 do
    begin
      write (j, ' ball ->');
      readLn (mas[k].rb[j]);
     end
end;
То есть пользователь задает такую дребедень. Далее еще проще, теперь ты все анализируешь

k:=0;
repeat
flag:=true;
inc (k)
for j:=1 to 5 do // проверяем на качество, все его отметочки
  if mas[k].rb[j]<4
     then flag:=false;
 if flag //если удовлетворяет нашим требованиям, то выводим
    then writeLn (mas[k].name);
until k=n;
Ну а средний балл, получаем так.
for j:=1 to 5 do
sr_ball:=mas[k].rb[j]+sr_ball;
sr_ball:=sr_ball/5;

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 26 янв. 2006 18:30 | IP
Tulegen


Удален

Почему у меня не пашет графический режим?
выдает: BGI error: Graphics not initialized (use InitGraph) что это значит?

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 30 янв. 2006 3:42 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

Форум работает на скрипте © Ikonboard.com